47139 Commits

Author SHA1 Message Date
Matthias Kuhn
180b5496ef Add missing @endcond 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
0b149f5282 [processing] Show model outputs even if they are hidden in the child 2018-04-09 13:10:47 +02:00
Matthias Kuhn
eb39d2379c Move processing algorithm configuration code to gui lib 2018-04-09 13:10:47 +02:00
Matthias Kuhn
31d7e4b6a0 Do not crash when using a parameter with FlagHidden 2018-04-09 13:10:47 +02:00
Matthias Kuhn
ed352c4661 Put feature filter algorithm in vector table group 2018-04-09 13:10:47 +02:00
Matthias Kuhn
0204e446f9 Create proper expression context 2018-04-09 13:10:47 +02:00
Matthias Kuhn
69d77a7838 Cleanup feature sinks directly after using them 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
Matthias Kuhn
10db1c8f0e A bit more RAII 2018-04-09 13:10:47 +02:00
Matthias Kuhn
3a5e96a081 Doxygen and license headers 2018-04-09 13:10:47 +02:00
Matthias Kuhn
147f6e71c4 [FEATURE] Add feature filter algorithm
Adds a new "feature filter" algorithm. This algorithm takes a list of expressions and
creates an output for each of them. Matching features from the input layer are sent
to the outputs.

This allows for an algorithm to only handle a subset of incoming features or to send
different features to different outputs.

The algorithm is only available in the modeler.
2018-04-09 13:10:47 +02:00
Matthias Kuhn
e6ef7639cb [processing] Allow algorithms to provide additional configuration widgets 2018-04-09 13:10:46 +02:00
Matthias Kuhn
9e8c995ac8 [processing] Pass algorithm configuration on run
Because if it's not passed here, it's basically like writing it to /dev/null right from the beginning.
2018-04-09 12:34:35 +02:00
Matthias Kuhn
5b7b7be6e7
Merge pull request #6755 from m-kuhn/minimal_processing_fixes
Some fixes for processing
2018-04-09 12:34:03 +02:00
Martin Dobias
f378a23ed8
[FEATURE] Projects in PostgreSQL
Merge of pull request #6752
2018-04-09 09:53:16 +02:00
Matthias Kuhn
97615515c5 Remove plugin builder code
Plugin builder is an external plugin which is maintained very well through the plugin repository, while the script in here lacks this attention.
The script in here is targetted at C++ code in which plugins are nowadays very rarely written (and doing so is even discouraged) and if someone still wants to do that he will likely just copy another existing C++ plugin as template.
2018-04-09 09:43:14 +02:00
Matthias Kuhn
bff8976f3a
Merge pull request #6753 from m-kuhn/textbrowser
Allow clicking hyperlinks in HTML text edit widget
2018-04-09 09:23:42 +02:00
Matthias Kuhn
4a14a36034 Remove leftover method getCustomModelerParametersDialog 2018-04-09 09:15:15 +02:00
Nyall Dawson
e627b84fae Address clazy warnings in qgsgeometry.cpp 2018-04-09 17:12:11 +10:00
Nyall Dawson
0156656882 [processing] Throw exceptions when sources/sinks cannot be loaded
Instead of silently indicating algorithm success
2018-04-09 16:52:41 +10:00
Matthias Kuhn
e2bf9b9db1
Merge pull request #6716 from signedav/fix_embeddedrelation
Use always id as identification on drag&drop form creator for relations
2018-04-09 08:52:01 +02:00
Nyall Dawson
7fa9d4120a [processing] Fix Distance Matrix alg considers distances to
same points

Add more unit tests

Fixes #17350
2018-04-09 12:48:50 +10:00
Nyall Dawson
887db6e7b2 Better SVG downloading icon 2018-04-09 12:43:05 +10:00
Nyall Dawson
9c28c910ad Spelling 2018-04-09 12:43:05 +10:00
Nyall Dawson
3bfcbaa163 Update unit tests 2018-04-09 12:43:05 +10:00
Nyall Dawson
2e6a69bdfd Update symbol selector when svg cache fetches remote images 2018-04-09 12:43:05 +10:00
Nyall Dawson
969b129b6e Also update symbol previews when a remote SVG is fetched 2018-04-09 12:43:05 +10:00
Nyall Dawson
45c400c25c QgsSvgCache fetches remote SVG files in a background task
Previously QgsSvgCache would often try to fetch remote images
using a network request on the main thread, by calling
processEvents repeatedly until the request was complete.

This caused lots of bugs, since the main thread processEvents
would proceed with all kinds of stuff assuming that the
svg fetch operation was complete, leading to frequent crashes
and deadlocks and making remote svg use impossible (it's
likely that the SVG cache remote fetching code was written
in the pre-multi-threaded rendering era).

There's no way to fix this with async svg fetching - we
HAVE to remove the processEvents call, and a QEventLoop
won't help either (since the method may be called on the
main thread). Accordingly the only solution is to
fetch the requested svg in the background, and return
a temporary "downloading" svg for use in the meantime.
We use a QgsNetworkContentFetcherTask to do this, so it's
nicely integrated with task manager.

A request task is fired up when a remote svg is requested
for the first time, with the temporary downloading svg
returned for use by the caller asynchronously. QgsSvgCache
then emits the remoteSvgFetched signal when a previously
requested remote SVG has been successfully fetched,
triggering a map canvas redraw with the correct SVG
graphic.

Fixes #18504
2018-04-09 12:43:05 +10:00
Nyall Dawson
3dec1755b6 [processing][grass] Allow operation on only selected vector features
Fixes #18218
2018-04-09 10:58:41 +10:00
Nyall Dawson
92634a9d92 [processing][grass] Allow use of feature sources as vector inputs 2018-04-09 10:58:41 +10:00
Nyall Dawson
b28e580a79 Indentation 2018-04-09 10:58:41 +10:00
Nyall Dawson
8b04188230 Don't use hardcoded paths in test 2018-04-09 10:58:41 +10:00
Nyall Dawson
aca75cfa6e [processing][grass] Fix use of v.external with ogr layers which
do not support random read

These layers are not compatible with v.external, so we have to
use v.in.ogr for them
2018-04-09 10:58:41 +10:00
Nyall Dawson
8ba762a630 [processing][grass] Fix grass vector algs don't work with memory layers
Fixes broken grass algs inside models (fixes #18662)
2018-04-09 10:58:41 +10:00
Nyall Dawson
f928e3dde9 [processing][grass] Add some missing imports 2018-04-09 10:58:41 +10:00
Nyall Dawson
c50a039745 [processing][grass] Push feedback object to algorithm methods 2018-04-09 10:58:41 +10:00
Nyall Dawson
ccccad54c0 [processing] Fix exception in processing.run when feedback
object is not specified
2018-04-09 09:18:04 +10:00
lbartoletti
99ae08a2aa use with open as block 2018-04-08 10:08:04 +02:00
Martin Dobias
d6e70438b5 Help text for project_basename 2018-04-07 23:41:25 +02:00
Martin Dobias
e80f604b43 Make storage of projects in postgres opt-in for each connection 2018-04-07 17:24:39 +02:00
Martin Dobias
42969a4794 Add project_basename to project expr context, project_path for custom impls 2018-04-07 16:56:03 +02:00
Martin Dobias
663a9ac26a Test fixes 2018-04-07 12:58:02 +02:00
Martin Dobias
17a8c4520e Add a test to check that extra content in project ZIP is saved/loaded 2018-04-07 12:58:02 +02:00
Martin Dobias
2aabad96e7 Fixes after Nyall's review + doxygen fixes 2018-04-07 12:58:02 +02:00
Martin Dobias
3ccb6c3336 Fix spelling and doxygen doc 2018-04-07 12:58:02 +02:00
Martin Dobias
d1464a0030 Update postgres project storage unit test 2018-04-07 12:58:02 +02:00
Martin Dobias
4281140c8e Handle the situation that the project was changed in meanwhile
Was working for files, now working for projects in postgres as well
2018-04-07 12:58:02 +02:00
Martin Dobias
2bbdc34334 Deprecate QgsProject::fileInfo() 2018-04-07 12:58:02 +02:00
Martin Dobias
3c3de3f7d8 Recent projects work now for postgres projects 2018-04-07 12:58:02 +02:00