14907 Commits

Author SHA1 Message Date
Matthias Kuhn
5292efd082
Merge pull request #9221 from m-kuhn/relation-reference-field-formatter-cache
Add cache for relation reference field formatter
2019-02-21 09:52:54 +01:00
Alessandro Pasotti
17280c3e4d
Merge pull request #9203 from elpaso/bugfix-21305-paste-slow-no-provider
Cache unique values when creating features
2019-02-21 08:31:41 +01:00
Matthias Kuhn
4d5dad8172
Merge pull request #9223 from m-kuhn/geometry_validator_summary_cleanup
Geometry validator summary cleanup
2019-02-21 07:53:54 +01:00
Alessandro Pasotti
dd7a5f5b1e
Merge pull request #9183 from Gustry/save_comments
keep comments when saving query, fix single line comment
2019-02-20 22:36:24 +01:00
Julien Cabieces
1c34329234 Allow expression widget to be empty so expression could be removed (#9032)
* fixes #20516 : Allow Constraint widget in attribute type form to be empty so expression could be removed

per widget modification

* correct tests

* Add the clear button on field expression widget when widget is allowed to be empty

* Change API since version to 3.6
2019-02-20 14:41:38 -05:00
Matthias Kuhn
9c0606148d
Adjust test 2019-02-20 19:11:13 +01:00
Matthias Kuhn
5fe225bb4d
Add cache for relation reference field formatter
this speeds up tables with relation reference fields massively
2019-02-20 18:58:17 +01:00
Matthias Kuhn
968e08c6c9
Geometry validator: do not report result summary as error 2019-02-20 18:14:41 +01:00
Matthias Kuhn
ddbd06f3f1
Merge pull request #9207 from mbernasocchi/master
Add safety guard when mDataProvider is not set
2019-02-20 14:02:16 +01:00
Matthias Kuhn
8ea09b61c8
Run sipify 2019-02-20 12:01:56 +01:00
Alessandro Pasotti
ff9a65c1b4
Merge pull request #9193 from elpaso/bugfix-21270-processing-algrunner-crash
Processing: fix crash in alg runner task with bad scripts
2019-02-20 07:43:50 +01:00
Nyall Dawson
7acfefadad Fix infinite progress when an algorithm could not be created 2019-02-20 13:05:13 +10:00
Nyall Dawson
979adbbabf Indicate exception types to sip
Exposes the full Python exception when an error occurs in createInstance()
2019-02-20 13:05:09 +10:00
Panos Mavrogiorgos
c8d3f74f4a [grass7][mac] Use the most recent GRASS version
This is a continuation of:

- #8db3dead87e385f2798356d
- #5c97d22b16320874dbe1

This commit only affects users that have multiple GRASS installations on
their Macs. Using the most recent GRASS version is what we do on Linux too.
2019-02-20 11:14:06 +10:00
Panos Mavrogiorgos
1d8bd004a6 [grass7] Make it easier to subclass "Grass7AlgorithmProvider"
After @Nyalldawson suggestion [1], we've implemented a Processing plugin
that exposes a GRASS Addon [2]. In order to do this we had to subclass
`Grass7AlgorithmProvider` and override `createAlgsList()`.

`createAlgsList()` had to be overriden in order to change the
"description folder" location.

Nyall wrote:

> And if you do it right (and only import existing
> processing grass code, minimising the copy/paste of this code), then
> your provider will automatically inherit any future fixes and
> features added to the main grass provider.

With this commit we convert the `descriptionFolder` to a class attribute
and in this way, subclasses of `Grass7AlgorithmProvider` will no longer
have to override `createAlgsList()` and will be able to continue inheriting
future enhancements.

References:

1. https://lists.osgeo.org/pipermail/qgis-developer/2019-February/056155.html
2. 948820b1c0/estimap_recreation_provider.py (L40-59)
2019-02-20 05:41:47 +10:00
Nyall Dawson
c8a4dff475 Add maximum search distance parameter to QgsSpatialIndex::nearestNeighbor 2019-02-20 05:40:02 +10:00
Nyall Dawson
362ba02ade When a QgsSpatialIndex is storing feature geometry, then
nearestNeighbor search performs an EXACT nearest neighbour search,
instead of just a nearest-neighbour-by-bounding-box search
2019-02-20 05:40:02 +10:00
Nyall Dawson
26555358f9 Add API for QgsSpatialIndex to optionally store feature geometries
This potentially avoids a second expensive feature request after
building a spatial index and later needing to re-request features
which match spatial index search.

It's non-default, as it requires the index to store all feature
geometries, so it's more memory expensive.
2019-02-20 05:40:02 +10:00
Nyall Dawson
b06f00d01b Fix dox test 2019-02-20 05:39:04 +10:00
Nyall Dawson
6021683c35 Capitalization 2019-02-20 05:39:04 +10:00
Nyall Dawson
346f33544c [processing] Expose correct expression context in Refactor fields alg 2019-02-20 05:39:04 +10:00
Nyall Dawson
521ebdc973 [processing] Wrappers built off old API can still take advantage of the full widget context 2019-02-20 05:39:04 +10:00
Nyall Dawson
eb335c3973 [processing] Set full context for QgsProcessingAlgorithmConfigurationWidget in modeler config dialogs 2019-02-20 05:39:04 +10:00
Nyall Dawson
24529b1963 [processing] Add API to set contexts for QgsProcessingAlgorithmConfigurationWidgets 2019-02-20 05:39:04 +10:00
Juergen E. Fischer
6090a932c2 dwg import: less noisy debugging 2019-02-19 19:56:40 +01:00
Alessandro Pasotti
d239ea2df9 Fix unique values when generating a set of features 2019-02-19 19:04:48 +01:00
Alessandro Pasotti
348e6837ac Fix docs for createFeatures 2019-02-19 11:17:48 +01:00
Alessandro Pasotti
490c1fedfb Rename QgsFeaturesData to QgsFeatureData and fix test case 2019-02-19 10:51:53 +01:00
Alessandro Pasotti
ba3d9ed066 Cache unique values when creating features
Fixes #21305 - pasting features is very slow

Aggressively optimize createFeature for speed
and introduces createFeatures for bulk creation.
2019-02-19 10:02:17 +01:00
Nyall Dawson
e5a416ea11 [processing][gdal] Ensure no filename clashes occur in writeLayerParameterToTextFile 2019-02-19 12:55:15 +10:00
Nyall Dawson
342c093d91 [processing] Use text file for input file list to gdal tile index alg
Avoids too long command being generated with many inputs

Fixes #21296
2019-02-19 12:55:15 +10:00
Etienne Trimaille
f37d48f69b
keep comments when save as preset or file, remove lines starting by "--" in DBManager 2019-02-18 22:04:34 -04:00
dulle droid
edbfb0a1df
#21264 bug in saga algorithm python 2019-02-18 16:15:12 +01:00
Matthias Kuhn
9efe4c5f1c
Merge pull request #9174 from pmav99/master
Add support for GRASS 76 on Mac
2019-02-18 11:20:07 +01:00
Hugo Mercier
9ed5b3f874
Merge pull request #9063 from mhugo/fix_19355
Fix $length in labels
2019-02-14 14:34:13 +01:00
Hugo Mercier
e4288e5dea QgsExpression: set setGeomCalculator precedence
setGeomCalculator, setDistanceUnits and setAreaUnits have now
 precedence over expression scopes.
2019-02-14 13:40:12 +01:00
Hugo Mercier
809196693c Fix $length in labels (fixes #19355)
Use the project expression scope to access project
parameters (ellipsoid and distance/area units)
2019-02-14 13:40:12 +01:00
Nyall Dawson
7418c189d0 [processing] Also generate friendly names for outputs when converting models to scripts 2019-02-14 15:36:55 +10:00
Nyall Dawson
d342ce939b [processing] When converting models to Python, use friendlier (more
descriptive) names when storing child algorithm results

Makes for much easier to understand scripts
2019-02-14 15:36:55 +10:00
Panos Mavrogiorgos
5c97d22b16 [grass7] Add support for GRASS 76 on Mac too.
This is a continuation of 8db3dead87e385f2798356d1c3048d2b7df73efd
2019-02-14 00:32:10 +02:00
Alessandro Pasotti
dabd649a6d
Merge pull request #9164 from elpaso/bugfix-21227-layer-rename-styles
Fix GPKG layer rename styles in browser
2019-02-13 16:24:50 +01:00
Alessandro Pasotti
8639bcf853 [db-manager] Use QgsDataItem implementation for GPKG layer rename
- Removes code duplication
- Uses a tested and robust implementation (from OGR)
- Takes care of renaming QGIS styles
- Updates the information view in the plugin

Fixes #21227
2019-02-13 12:49:55 +01:00
Nyall Dawson
493185c6a0 Astyle 2019-02-13 07:59:30 +10:00
Nyall Dawson
29fa7b6e7b Fix build, indentation 2019-02-13 07:59:30 +10:00
Nyall Dawson
69f45e389c Refactor QgsExpressionContext and move QgsExpressionContextUtils
out to its own header

Avoids slow recompilation caused by changes to the frequently
modified QgsExpressionContextUtils class
2019-02-13 07:59:30 +10:00
Nyall Dawson
60a1d6306f Fix some missing expression context variables in processing expression based widgets 2019-02-13 07:59:30 +10:00
Nyall Dawson
e533a4078c [processing] Expose some model related variables to expressions
run inside models

Allows expressions to access important variables like the current
model path
2019-02-13 07:59:30 +10:00
Nyall Dawson
493aed58fb API tweak 2019-02-13 07:59:30 +10:00
Nyall Dawson
d614ff39e7 [processing] Field calculator algorithms should not force an upper limit
on string field lengths

Don't hold back the algorithms because of outdated format limitations!
2019-02-12 12:58:55 +10:00
Nyall Dawson
9a75976ca4 API tweaks 2019-02-12 07:18:02 +10:00