1214 Commits

Author SHA1 Message Date
Nyall Dawson
b2a2a2603c Add fallback to parameter's name to be safe 2018-10-23 12:42:08 +10:00
Nyall Dawson
e5f52f98c2 [processing] Use outputi database layer name instead of file name when
'use filename as layer name' is checked

Avoids raw uri layer names for database type destinations
2018-10-23 12:42:08 +10:00
Alessandro Pasotti
dcd33186bb [in-place] Fix alg runner when context is none 2018-10-20 10:05:48 +02:00
Alessandro Pasotti
adb930b204 Speed up getFeatures query by using a proper QgsFeatureRequest 2018-10-19 16:27:18 +02:00
Alessandro Pasotti
71e2a6be7e In-place passthrough for invalid geometries if processing option is to skip invalid
Fixes #20147 - difference deletes invalid geometries
2018-10-18 17:43:00 +02:00
Alessandro Pasotti
cdf5bb630f Fix test 2018-10-05 11:03:49 +02:00
Alessandro Pasotti
29c4970f8a [processing] In-place add layer name to dlg title and store active layer 2018-10-05 10:10:20 +02:00
Alessandro Pasotti
0782b9d869 Dynamically change button text for in-place editing
The button title changes if there are selected features
2018-10-05 09:21:28 +02:00
Alessandro Pasotti
ca1c65d07a [processing] In place editing triggers editing and select all
If the active layer is not editable, the executor will
try to switch editing on.

If there are no selected features, the executor will
select all features before running.
2018-10-05 08:53:30 +02:00
Nyall Dawson
706b13a47b [processing] Make 'canvas extent' its own menu item in the extent
selection parameter button, instead of requiring opening the
'select layer/canvas extent' and choosing 'canvas extent'

It's only one extra click, but I don't think there's any reason
against saving this click!
2018-10-05 05:17:19 +10:00
Nyall Dawson
57f77d01cb [processing] Fix in-place mode results in unknown distance units
We need to still create the parameter wrappers when in in-place mode
for the input/output parameters, as some other wrappers may rely
on these for various interactions (e.g. getting the crs/fields
from the input layer)

Fixes #19990
2018-10-02 19:51:02 +10:00
Nyall Dawson
68dee5b17f [processing] Remove hack 2018-10-02 16:46:16 +10:00
Nyall Dawson
c8bf6db363 [processing] Give progress reports/allow cancelation in in-place mode 2018-10-02 16:46:16 +10:00
Nyall Dawson
5508ea036e Use a custom folder icon instead of O/S folder icon
...because using O/S folder icon can causes crashes.

Fixes #18260
2018-10-01 16:19:56 +10:00
Nyall Dawson
08cece22b0 [processing] Fix some exceptions when running in iterate mode 2018-10-01 16:13:38 +10:00
Nyall Dawson
644ea71cc9 [processing] Some History dialog UX fixes:
- fix tiny folder icon on hidpi
- remember window geometry
2018-10-01 10:50:02 +10:00
Alessandro Pasotti
51574069a0 Fixes blocking if the edit in place functionality is used in the locator bar (with ef) on an non-modifiable layer
Fixes #19950
2018-09-26 14:19:58 +02:00
Nyall Dawson
844a3fb1b1 [processing] Allow help url to be set for models within help edit dialog
Refs #18767
2018-09-26 04:26:49 +10:00
Nyall Dawson
e2082a0935 [processing] Fix modeler help/description generation, allow setting
of model short description text

Fixes #18767
2018-09-26 04:26:49 +10:00
Nyall Dawson
6d1a9295f7 Use correct stylesheet for processing dialogs 2018-09-26 04:26:27 +10:00
Alessandro Pasotti
930c3f8e45 Port makeFeaturesCompatible to C++
as: QgsVectorLayerUtils::makeFeaturesCompatible

With tests.
2018-09-25 08:17:14 +02:00
Nyall Dawson
11991c5297 Fix capitalization 2018-09-25 12:41:12 +10:00
Nyall Dawson
6e06c32a10 [processing] Fix crash when an algorithm dialog is left open and
processing options are changed

Make sure the algorithm dialogs use their own copy of algorithms,
instead of the copies owned by the processing registry. Opening
processing options triggers a full reload of providers, deleting
all existing algorithm instances from the registry first.
2018-09-25 10:32:20 +10:00
Nyall Dawson
9fcd4fd00c Use QgsVectorLayerUtils.matchAttributesToFields in processing in-place edits 2018-09-25 08:49:21 +10:00
Nyall Dawson
adfaf76168 Another Travis fix 2018-09-22 05:26:29 +10:00
Nyall Dawson
0c79d08d05 Fix tests on Travis 2018-09-22 05:26:29 +10:00
Nyall Dawson
7af13f62c0 Set widget context for widget wrappers 2018-09-22 05:26:29 +10:00
Juergen E. Fischer
e85c09254c translation string fix 2018-09-21 15:51:34 +02:00
Nyall Dawson
e2068b8c1f [processing] Pass a copy of the feature to processFeature, not
the original layer's feature

Otherwise python processFeature implementations may return a
modified shallow copy of this feature, which means that the
test for modifications fails, since we're comparing against
the same feature which was modified.

Fixes some python algorithms do not modify features when used
in-place mode.
2018-09-21 18:02:21 +10:00
Nyall Dawson
66f82530bd [processing] Correctly make extent selection combo box non-editable
The choice is supposed to be only from the listed options, and
shouldn't allow free-form user text
2018-09-21 13:16:13 +10:00
Nyall Dawson
f44be44ca9 [processing] Fix capitalization, ellipsis in extent parameter widget 2018-09-21 13:16:13 +10:00
Alessandro Pasotti
42573f7476
Merge pull request #7933 from nyalldawson/edit_in_place_feedback
[processing] Show a message bar success message after running in-place, parameterless alg
2018-09-18 17:14:58 +02:00
nirvn
fb80835911 [processing] fix history dialog alg. execution with CRS params 2018-09-18 14:56:52 +10:00
Nyall Dawson
209b6ee853 Cleaner messagebar item popping 2018-09-18 09:41:09 +10:00
Nyall Dawson
bfc5a1754f [processing] Show a message bar success message after running an
in-place alg if no parameter dialog is shown

Allows users to know that the algorithm has actually run in case
there's no visible changes
2018-09-18 09:40:28 +10:00
Nyall Dawson
f51487551b [processing] Use display name, not alg ID in undo history for in-place mode 2018-09-18 08:27:33 +10:00
olivierdalang
953ea96bfb fixes #19825 2018-09-15 14:56:45 +10:00
Alessandro Pasotti
a60324b79b Accept geometry-less features in a geometry layer 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
699a9a3bfb Raise exception if prepare fails 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
0626a0ff5d Disable some more algs 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
e01449f5c5 Handle bad/null geometries and geometryless 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
7b162b535f Feature fixer: multi part to single part 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
c7ac4fe7fd Fix widget (broken by rebase) 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
08f79bed43 More tests for Z/M add back 2018-09-14 18:23:03 +10:00
Alessandro Pasotti
4549ee5fff In-place moved check logic into QgsAlgorithm
+ new tests
+ fixed fixer function
+ drop z/m
2018-09-14 18:23:03 +10:00
Alessandro Pasotti
11aaf90393 Function to make output features compatible 2018-09-14 18:23:03 +10:00
Nyall Dawson
681d44f11f Messy mockup of feature 2018-09-14 18:23:03 +10:00
Nyall Dawson
6935027ead [processing] Fix API break in widget wrapper
Fixes #19820
2018-09-13 05:40:39 +10:00
Nyall Dawson
97f43d4bb2 [processing] Fix warning on close 2018-09-11 15:40:27 +10:00
Nyall Dawson
ac3b37ffe0 [processing] Fix wrapper value retrieval for some ported wrappers
Fixes #19813
2018-09-11 10:26:36 +10:00