5748 Commits

Author SHA1 Message Date
Nyall Dawson
240c52a4c0 [processing] Show a modal progress dialog when running algorithms
which cannot run in background tasks

This is not fantastic UX, but we have lots of constraints here:

- The algorithm dialog itself cannot be made modal. There's child
widgets (such as the point and extent parameter widgets) which
interact with the main QGIS window.
- There is no reliable way in Qt to make a dialog modal after
it's shown (e.g. make it modal only when the algorithm is
running). Trust me - I've tried everything, and all approaches
break with some corner case.
- For non-background algorithms, we must have processEvents calls
in order to show the algorithm feedback and progress to users,
and detect cancel button clicks. Yet these processEvents calls
means that users can interact with other parts of QGIS, e.g.
removing layers from a project, and other operations which
could cause the algorithm to crash. So we MUST have some modal
dialog in order to block interactions outside of allowing
the cancel button clicks/progress repainting.

I've tried many approaches, but this is the only one which
works reliably...
2018-01-10 08:33:36 +10:00
Nyall Dawson
c14e6ca772 Most c++ algorithms can run safely in background threads 2018-01-10 05:33:02 +10:00
Nyall Dawson
40e47e0fe7 [processing] Add flag to indicate whether an algorithm is safe
to run in a background thread
2018-01-10 05:33:02 +10:00
Alexander Bruy
97c005a544
Merge pull request #6017 from nyalldawson/algs
[processing]  Fix some numeric parameters which should be doubles
2018-01-09 08:17:12 +02:00
Alexander Bruy
566704a720
Merge pull request #5968 from medspx/ProcessingGrassFixExt
[Processing] GRASS fix all ext scripts
2018-01-09 08:16:46 +02:00
Nyall Dawson
57c2f1d3da Refine algorithm name and tags 2018-01-09 14:35:48 +10:00
Nyall Dawson
f6d561655b Fix some numeric parameters which should be doubles 2018-01-09 14:34:57 +10:00
Médéric RIBREUX
712093731a Merge branch 'ProcessingGrassFixExt' of https://github.com/medspx/qgis into ProcessingGrassFixExt 2018-01-07 11:02:26 +01:00
Médéric RIBREUX
0f1cb25085 Fix v.external default configuration and handling 2018-01-07 11:01:44 +01:00
Alexander Bruy
7a2e6a476f
fix spelling 2018-01-04 09:00:42 +02:00
Borys Jurgiel
cef2db9ae3
Merge pull request #5904 from borysiasty/pyQgisVersion
Make QGIS 2.99 compatible with 3.0 plugins by introducing PyQGIS API version
2018-01-03 18:09:24 +01:00
Médéric RIBREUX
5a3a0dab95 Remove broken algorithms and clean code 2017-12-30 17:16:16 +01:00
Médéric RIBREUX
486bcd6f24 Fix all i.* ext scripts 2017-12-29 17:13:30 +01:00
Médéric RIBREUX
e712ee6266 Fix v.net.report descriptions' 2017-12-28 18:37:17 +01:00
Médéric RIBREUX
14709f59f4 Fix nearly all v. ext scripts 2017-12-28 18:28:18 +01:00
Médéric RIBREUX
90bf630185 Fix all r algorithms ext scripts! 2017-12-27 20:13:05 +01:00
Médéric RIBREUX
8b691e87aa Handle raster files wihtout extension as GTiff + fix some ext scripts 2017-12-27 17:41:05 +01:00
Médéric RIBREUX
1f8fbf313f Fix r.li.* description files and ext scripts 2017-12-27 15:35:17 +01:00
Nyall Dawson
e7e37efed7
Merge pull request #5926 from nyalldawson/proc_dialog
[processing] Add api to show algorithm dialog, use dialog for history
2017-12-27 22:34:13 +11:00
Médéric RIBREUX
9b6f98a31a Hidden output parameters are not used in the main command anymore 2017-12-27 12:08:21 +01:00
Médéric RIBREUX
feaecea44d Fix multiple ParameterField handling 2017-12-27 11:52:01 +01:00
Médéric RIBREUX
36311ff6af Fix multiple enum parameters handling and some ext scripts 2017-12-27 11:16:14 +01:00
Alexander Bruy
d58053d486 [processing] restore script collection creator (fix #17649) 2017-12-27 11:41:08 +02:00
Médéric RIBREUX
3fa9e3c9f8 Fix QgsProcessingParameterFile bad descriptions 2017-12-27 10:19:51 +01:00
Mathieu Pellerin
3b8905209e
[processing] harmonize and improve UI spacing 2017-12-27 10:50:52 +07:00
Médéric RIBREUX
433d376c8a Fix optional None input parameters handling 2017-12-26 18:53:30 +01:00
Médéric RIBREUX
5321ee5ea2 Update TODO list 2017-12-26 18:28:21 +01:00
Alexander Bruy
9fb386ac60
Merge pull request #5945 from medspx/ProcessingGrassFixDescV
[Processing] Fix description files for GRASS provider
2017-12-25 09:40:36 +02:00
Médéric RIBREUX
a540a93e24 Fix i.modis.qc description file 2017-12-23 10:24:52 +01:00
Tom Kralidis
04b18f4d43 [bugfix] [MetaSearch] make gml:Envelope CRS explicit for spatial queries
(fixes #17739)
2017-12-22 16:21:25 -05:00
Tom Kralidis
e16dfe4ff0
MetaSearch: remove duplicate field 2017-12-22 09:21:39 -05:00
Trashmonk
d908518c49 Update Rasterize.py 2017-12-21 17:55:02 +01:00
Trashmonk
82df4de88a Update Rasterize.py 2017-12-21 17:55:02 +01:00
Trashmonk
4fbea38439 Added transparency to areas with no vector data.
Originally the background colour defaulted to white with no transparency for areas without vector data. I have added an alpha channel to the geotiff and set it zero (full transparency) for areas with no vector data. This could be optional, in case the user wants a solid background.
2017-12-21 17:55:02 +01:00
Nyall Dawson
b25681cc43 [needs-docs][processing] Double clicking a history entry shows
the algorithm dialog instead of immediately executing same alg

This allows users to edit the parameters before re-running,
which is a more common user-operation (e.g. changing the
input layer, changing a parameter value "oops, that buffer
was a bit too big....").

If someone wants to exactly re-run the algorithm without changes
it's only one extra click anyway...
2017-12-21 11:01:56 +10:00
Nyall Dawson
5f7aa45aab [needs-docs][processing] Add methods to show algorithm dialog
Adds processing.createAlgorithmDialog and
processing.execAlgorithmDialog. These methods can be used
to create and execute algorithm dialogs for a specified algorithm,
optionally pre-populated with a given set of (non-default) parameter
values.
2017-12-21 11:01:49 +10:00
Nyall Dawson
ce28cf5087 Save algorithm results to dialog 2017-12-21 10:38:38 +10:00
Nyall Dawson
edcd058e32 [processing] Add a setParameters method to AlgorithmDialog
Allows pre-populating the dialog with non-default parameter
values.
2017-12-21 10:22:19 +10:00
Nyall Dawson
595b9812ce [processing] Implement a todo (set layer param's wrapper values) 2017-12-21 10:04:54 +10:00
Borys Jurgiel
ecb9611b00 Fix group id of GDAL algorithms. Follows up 53bc147dca00 2017-12-20 12:07:32 +01:00
Nyall Dawson
4643712a1e Fix missing transform contexts for QgsDistanceArea
QgsDistanceArea.setSourceCrs() now requires a QgsTransformContext
argument.
2017-12-20 17:37:46 +10:00
Nyall Dawson
6528f1c307 Require a transform context when setting the destination crs for
a feature request

Forces correct datum handling for these requests, and removes
a few more uses of the deprecated/datum unaware transforms.
2017-12-20 12:32:20 +10:00
Borys Jurgiel
c4c5cba48a Bump up core plugins' qgisMinimumVersion. Do not merge without b43386605fc298f or other alternative. 2017-12-18 17:57:21 +01:00
Médéric RIBREUX
1ba1dbed7b Fix also i.* description files 2017-12-16 11:12:12 +01:00
Médéric RIBREUX
6d4d291f0b Review ParameterNumber for r.* description files 2017-12-16 11:12:12 +01:00
Médéric RIBREUX
507af21f2f Review optional ParameterNumbers 2017-12-16 11:12:12 +01:00
Médéric RIBREUX
f70032bab6 Fix v.buffer 2017-12-16 11:12:12 +01:00
Médéric RIBREUX
5b86407338 Fix parameters and support empty default values for Enums 2017-12-16 11:12:12 +01:00
Médéric RIBREUX
a8afd12f51 First fixes before tests 2017-12-16 11:12:12 +01:00
Nyall Dawson
252f0802b1 Follow up 647bd25 2017-12-16 13:54:26 +10:00