14638 Commits

Author SHA1 Message Date
Nyall Dawson
eba5409ebc Dox++ 2019-02-03 13:02:18 +11:00
Nyall Dawson
c9e7616498 Fix hang when WMS credentials requested
Remove responsibility for credentials mutex locking from external
callers and handle appropriate locks internally. This allows the
mutex lock to be much "tighter" and avoids deadlocks when
credentials are requested while an existing credentials dialog
is being shown.

(No mutex is required protecting the credentials dialog itself
as this is ALWAYS shown in the main thread)

Fixes #20826
2019-02-03 13:02:18 +11:00
Etienne Trimaille
57695bd036 use upper camel case for the class name 2019-02-03 07:18:34 +11:00
Peter Petrik
3103b00f00
fix identify for mesh layers (#9047) 2019-02-01 15:18:26 +01:00
Nyall Dawson
03a2a03dcf Dox 2019-02-01 21:44:53 +11:00
Nyall Dawson
4908ef1641 Revert "Revert QgsBlockingNetworkRequest"
With recent changes in QgsNetworkAccessManager this should be
safe to resurrect (fingers crossed!). Also simplify code a lot,
because now QgsNetworkAccessManager handles waking the worker
thread after the auth request is handled.

Add a lot more tests
2019-02-01 21:44:53 +11:00
Nyall Dawson
f1040efc03 Nicer API for network timeouts 2019-02-01 21:44:53 +11:00
Nyall Dawson
dcb6104f47 Dox++ 2019-02-01 21:44:53 +11:00
Nyall Dawson
d0c24edf7d Import more useful libraries into console by default 2019-02-01 21:44:53 +11:00
Nyall Dawson
cc6d88e265 Add signal for logging after network authentication details have been added 2019-02-01 21:44:53 +11:00
Nyall Dawson
8ee2e793f8 Make network authentication request handling thread safe, avoid
races and crashes when auth requests occur in non-main thread

Like the recent SSL error handling, this commit abstracts out
the network authentication handling into a thread safe approach.
2019-02-01 21:44:53 +11:00
Nyall Dawson
4f8e2317d7 [processing][saga] Fix definition of Multiple regression points/grids alg
Fixes #21146
2019-02-01 21:06:16 +11:00
Nyall Dawson
56e465cc8a [processing][needs-docs] Resurrect ability to convert models to scripts
Brings back QGIS 2.18's ability to directly convert a Processing model
to an equivalent Processing Python script algorithm, correctly
updated and working in the 3.x API.

Available from the model dialog, and from the right-click context
menu on an existing model.

Sponsored by Solspec
2019-02-01 17:54:28 +11:00
Nyall Dawson
f77cf4fae4 [processing] Formalise object design for ContextAction, allow icons to be set 2019-02-01 17:54:28 +11:00
Nyall Dawson
9b2e60130f [processing] Update QgsProcessingModelAlgorithm::asPythonCode for 3.x API 2019-02-01 17:54:28 +11:00
Nyall Dawson
fb519ead46 Update QgsProcessingModelChildAlgorithm::asPythonCode for 3.x API 2019-02-01 17:54:28 +11:00
Nyall Dawson
946687c87b Update QgsProcessingModelChildParameterSource::asPythonCode 2019-02-01 17:54:28 +11:00
Nyall Dawson
37774f9aa9 [processing] Add util to convert QVariant value to Python literal 2019-02-01 17:54:28 +11:00
Nyall Dawson
ffa49df9fb Fix misleading dox 2019-02-01 17:54:28 +11:00
Alexander Bruy
ecd306e079
Merge pull request #9046 from alexbruy/grass-v-net
fix GRASS v.net modules (fix #19904) [processing]
2019-02-01 08:03:23 +02:00
Denis Rouzaud
f66d1999af add SIP_DEPRECATED 2019-01-31 15:27:50 -05:00
Denis Rouzaud
3d57a93ffe fix typo in method name
rename method but keep old one in Python for API compatibility
2019-01-31 15:27:50 -05:00
Alexander Bruy
85e3b2db6e [processing] fix v.net.report and v.net.nreport 2019-01-31 16:31:35 +02:00
Alexander Bruy
b9f559ee04 [processing] fix broken stdout handling in GRASS algs (fix #21142) 2019-01-31 15:54:08 +02:00
Alexander Bruy
a911ef3367 [processing] fix output generation in v.net and add test 2019-01-31 15:54:08 +02:00
Alexander Bruy
dbe2cb73ad [processing] add test for v.net.distance algorithm 2019-01-31 15:54:08 +02:00
Alexander Bruy
3abea36000 [processing] snap points to network by default (fix #19904)
Kudos to Pedro Venâncio for finding solution for this bug
2019-01-31 15:54:08 +02:00
Peter Petrik
ebcc694ab1
fix #18954 add&rename vector fields (#8982)
fix #18954 add&rename vector fields at the same time
2019-01-31 09:20:49 +01:00
Nyall Dawson
4f6df2980f [processing] Fixes to distance inputs for models
- fix parameter can get converted to plain number parameter after edits
- allow parameter to be linked to parent parameters, so that the
correct distance unit and choices are shown for the parameter
2019-01-31 17:53:25 +11:00
Nyall Dawson
5bfec27938 [processing] do not show geometryless layers in extent selector
Fixes #21129
2019-01-31 17:52:29 +11:00
Nyall Dawson
e670371fa3 [layouts] Show an explicit warning when exporting a layout which contains a broken image 2019-01-31 10:02:18 +11:00
lbartoletti
2e92dabd20 [Processing][Grass] Add the possibility to return a shp if ogr is not compiled with gpkg 2019-01-31 09:55:29 +11:00
Alexander Bruy
19dcfb987b don't export features without category by default 2019-01-30 10:40:29 +02:00
Alexander Bruy
0cc483f621 set default value for newly added parameter 2019-01-30 08:12:22 +02:00
Alexander Bruy
67bc586036 fix formatting 2019-01-30 08:12:22 +02:00
Giovanni Manghi
5f99955b45 do not always use the -c flag to export vectors from GRASS 2019-01-30 08:12:22 +02:00
Juergen E. Fischer
806ae861e1 osgeo4w: rely on GRASS' GISBASE environment variable instead of
detecting the path (ie. use the same version for processing as the
version that the grass plugin uses)
2019-01-29 23:03:58 +01:00
Nyall Dawson
60b8d05278 [needs-docs][layouts] Add checkbox to disable raster tiling for PDF/SVG exports
This setting, which is disabled by default and placed into an
"advanced" group on PDF/SFG export, disables the built-in
raster layer tiled rendering. While the tiling is good for
memory usage, it can cause visible "seams" in the rasters
for generated PDF/SVG files.

The setting has a tooltip warning users that disabling the
tiling results in high memory usage during exports.

Fixes #19500
2019-01-30 05:09:29 +11:00
Nyall Dawson
9a723d91e8 New Shapefile Layer dialog: avoid warning message on user cancel
Also add better error message reporting, and deprecate horrible API.
2019-01-30 05:08:59 +11:00
Julien Cabieces
b82ce0e522 fix crash when print from qgis processing algorithm while the python console is displayed 2019-01-29 21:34:45 +11:00
Nyall Dawson
63b6a77702 [processing] Add API to convert a parameter definition to an equivalent
Python constructor string
2019-01-29 18:15:40 +11:00
Nyall Dawson
d4b262cdb0 Add method to convert QgsProcessing::SourceType to string representation 2019-01-29 18:15:40 +11:00
Nyall Dawson
7f7c7a9789 [processing][needs-docs] Add friendlier API for running algorithms as sub-steps
of main algorithm

Using code like:

    buffered_layer = processing.run(..., context, feedback)['OUTPUT']
    ...
    return {'OUTPUT': buffered_layer}

can cause issues if done as a sub-step of a larger processing algorithm. This
is because ownership of the generated layer is transferred to the caller
(Python) by processing.run. When the algorithm returns, Processing
attempts to move ownership of the layer from the context to the caller,
resulting in a crash.

(This is by design, because processing.run has been optimised for the
most common use case, which is one-off execution of algorithms as part
of a script, not as part of another processing algorithm. Accordingly
by design it returns layers and ownership to the caller, making things
easier for callers as they do not then have to resolve the layer reference
from the context object and handle ownership themselves)

This commit adds a new "is_child_algorithm" argument to processing.run.
For algorithms which are executed as sub-steps of a larger algorithm
is_child_algorithm should be set to True to avoid any ownership issues
with layers. E.g.

    buffered_layer = processing.run(..., context, feedback, is_child_algorithm=True)['OUTPUT']
    ...
    return {'OUTPUT': buffered_layer}
2019-01-29 18:04:16 +11:00
Denis Rouzaud
82ec1418c0
declare metatype for QgsDefaultValue (#9011)
* declare metatype for QgsDefaultValue

* sipify
2019-01-28 21:04:18 -05:00
Víctor Olaya
6eaa511eed [processing] show warning when file-based layer could not be loaded and dependent params updated
For algorithms with multiple parameters depending on a vector layer parameter, the code that loads the layer in the background is called repeatedly, impacting performance. A small layer cache is implemented with these changes, so the dialog only tries to load the layer once.
2019-01-29 11:12:23 +11:00
Alexander Bruy
8446d3bdf0 [processing][needs-docs] native vector split algorithm now outputs
GeoPackages instead of shapefiles (refs #20557)

Also remove default output extension Processing settings as they are not
used anymore.
2019-01-29 11:05:37 +11:00
Jürnjakob Dugge
1cdff21c85 [layouts] Use polyline shape instead of bounding box for selection, makes polylines selectable via single click
Fixes #20940
2019-01-29 10:59:55 +11:00
Víctor Olaya
1b4a9132c2 [processing] avoid exception when listing DB schemas
do not fail if cert file cannot be deleted when creating GeoDB object

fixes #21099
2019-01-29 08:01:20 +11:00
Denis Rouzaud
3a19182fe8
add QgsField::isDateTime (#9007)
* add QgsField::isDateTime

* use QgsField::isDateTime

* rename to isDateOrTime
2019-01-28 13:53:16 -05:00
Denis Rouzaud
aef0b6586c
move QgsDefaultValue to moc headers (#9000)
* move QgsDefaultValue to moc headers

because it is a Q_GADGET

* sip include
2019-01-28 09:12:10 -05:00