26 Commits

Author SHA1 Message Date
Nyall Dawson
6275960df8 Start on filter string handling 2018-07-16 11:38:13 +10:00
Nyall Dawson
dc737bff98 Better responsive to provider removal 2018-07-16 11:38:13 +10:00
Nyall Dawson
dab4f42398 Filter model respects algorithm flags 2018-07-16 11:38:13 +10:00
Nyall Dawson
f6075ca029 [processing] New class QgsProcessingToolboxModel which is
a QAbstractItemModel which represents the providers, groups
and algorithms from the processing registry
2018-07-16 11:38:13 +10:00
Denis Rouzaud
9ed1548494 move auto generated sip file in dedicated folder (gui) 2018-05-14 10:31:17 -04:00
Nyall Dawson
4a594d3f32 [FEATURE][processing] Add buttons to save/clear/copy log
In the algorithm execution dialog, this adds buttons to allow
users to save the current log (to text or HTML files), copy the
log contents to the clipboard, and clear the log.
2018-04-20 20:08:28 +10:00
Matthias Kuhn
ffb2817afb Protect the const-ituional correctness 2018-04-10 23:10:35 +02:00
Matthias Kuhn
02da420ea4 Add a remaining docstring 2018-04-09 22:24:12 +02:00
Matthias Kuhn
f06f65285d Fix api doc and sip issues 2018-04-09 13:10:48 +02:00
Matthias Kuhn
2378a37dc1 API doc and typo fixes 2018-04-09 13:10:48 +02:00
Matthias Kuhn
eb39d2379c Move processing algorithm configuration code to gui lib 2018-04-09 13:10:47 +02:00
Matthias Kuhn
3be4324d60 Move processing algorithm configuration widget to gui library
This way we can also use all the fancy widgets like a QgsExpressionLineEdit.
2018-04-09 13:10:47 +02:00
Nyall Dawson
26bdd920f4 [processing] Fix newlines are stripped from Python traces in log 2018-03-19 12:00:30 +11:00
Nyall Dawson
654a4a4af6 [processing] Fix algorithm progress bar resets to 0 when an algorithm
reports a non-fatal error

Fixes the "flashy" progress bar when an algorithm encounters a lot
of errors.
2018-03-15 13:43:01 +11:00
Denis Rouzaud
7722010ca8 rename *.sip to *.sip.in for the auto generated sip files 2018-01-17 10:16:37 -04:00
Nyall Dawson
de6519024e Sipify 2018-01-16 19:45:40 +10:00
Nyall Dawson
87c1986c4b Improved memory managment of algorithm dialogs
Ensure that dialogs are always correctly deleted when appropriate.

Also, if an algorithm is running in a background task and hits
an error, we automatically re-show the algorithm dialog and the
associated log for debugging.

Fixes #16858
2018-01-16 19:45:40 +10:00
Denis Rouzaud
d87c60512c [sipify] fix bad handling of \see within sentences
and other docstrings improvements
2018-01-09 21:40:10 -04:00
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
54910fc3ce Fix algorithm dialog window geometry save/restore 2017-12-21 10:43:49 +10:00
Nyall Dawson
ce28cf5087 Save algorithm results to dialog 2017-12-21 10:38:38 +10:00
Denis Rouzaud
c604d2dda6 run sipify 2017-12-15 22:13:44 -04:00
Denis Rouzaud
f2b3ed0a9b run sipify 2017-12-15 11:12:19 -04:00
Denis Rouzaud
e48cf98edb run sipify 2017-12-06 07:19:50 -04:00
Nyall Dawson
f6e63d7f4c Fixes and cleanups to algorithm dialogs 2017-12-01 18:15:40 +11:00
Nyall Dawson
ce170918c9 Start moving processing algorithm dialog to c++
In an attempt to avoid Python global interpreter locks which
block the UI thread.
2017-12-01 18:15:40 +11:00