10574 Commits

Author SHA1 Message Date
Nyall Dawson
92d739619d Fix memory leak in QgsEllipse 2017-09-19 17:22:32 +10:00
Matthias Kuhn
63def3d870
Doxygen improvements 2017-09-18 18:32:06 +02:00
nirvn
938f261596 [processing] fix map layer combo box layer reference 2017-09-18 13:37:49 +07:00
Mathieu Pellerin
09195fb567 [processing] implement source flag for feature based algorithms (#5208) 2017-09-18 13:33:20 +07:00
Nyall Dawson
b44cf5d10f Fix memory leak 2017-09-18 12:10:46 +10:00
Mathieu Pellerin
01468d0879 Merge pull request #5204 from nirvn/saveselected_native 2017-09-16 12:17:11 +07:00
Nyall Dawson
085687d8f0 Also update other spatial join alg 2017-09-16 10:21:54 +10:00
Nyall Dawson
95ab2321e5 Add context menu with Select All/Clear Selection to checkboxes panel 2017-09-16 09:59:13 +10:00
Nyall Dawson
4bae647ad9 Use smaller margins for checkboxes panel 2017-09-16 09:59:13 +10:00
Nyall Dawson
ecf7dd5e4f Update class name 2017-09-16 09:59:13 +10:00
arnaud.morvan@camptocamp.com
b08119bc96 [processing] Add ui option useCheckBoxes in ByLocation algorithms 2017-09-16 09:58:35 +10:00
arnaud.morvan@camptocamp.com
53df3699fd [processing] add ui option useCheckBoxes in CheckValidity 2017-09-16 09:57:13 +10:00
arnaud.morvan@camptocamp.com
534fe21f51 [processing] Add useCheckBoxes option to SelectionWidgetWrapper
This allow to show checkboxes or radioboxes intead of line edit with button.
This is configurable for each algorithm thought ParameterSelection metadata parameter.
It is also possible to choose the number of columns.
This is not applied in case of the BatchDialog.
2017-09-16 09:57:13 +10:00
Alessandro Pasotti
7a1b9f970b DBManager -> Browser synchronization
Reload/refresh the browser tree and source select connection
items when connections, tables etc. change in the DBManager

Note that this is uni-directional: changes in the browser tree
are not (yet) propagated to the DBManager
2017-09-15 17:08:11 +02:00
Vincent Mora
f63c302420 [FEATURE] Add undo and redo on transaction groups (#4765)
* [FEATURE] adds undo/redo for transaction groups

[needs-docs] the undo/redo now works with transcation groups. Just check
that there is no restriction in the transaction groups doc concerning
undo.

related to #14799

The undo/redo is implemented using SAVEPOINT.

The QgsTransaction interface has been enlarged to allow savepoints
creation and management. The savepoint is destroyed on
rollbackToSavepoint to have the same behavior has the sql ROLLBACK TO
SAVEPPOINT.

To avoid the creation of a savepoint for each feature modified in bulk
editing (e.g. paste, field calculator) the logic is a bit complicated: the
savepoint is created on QgsVectorLayer::editCommandStarted and the first
actual undo command (QgsVectorLayerUndoPassthroughCommand) is
responsible for the re-creation of the savepoint in case of undo-redo.
Since the behavior must be different in case edition doesn't take place
inside an edit command, a member function has been added to
QgsVectorLayer to expose the mEditCommandActive state.

Another (commented) tricky bit is the modification of the database
structure on add/delete attributes. On undo, the attribute is removed
before the rollback to savepoint, i.e. there is a useless ALTER TABLE
issued to restore the structure just before restoring it with the
ROLLBACK TO SAVEPOINT. This is necessary to make the provider
aware of the change of structure. It could be nicer/cleaner to have a way
to reload providers metadata.

The editPaste function has also been modified to use addFeatures instead of
addFeature (plural/singular), this is at the expense of an additional "cpy"
of the clipboard in memory, but it should improve perf with postgis provider.

* fixup operator aliases
2017-09-15 14:55:43 +02:00
Nyall Dawson
5bd164b644 Merge pull request #5200 from nyalldawson/drop_handler
[FEATURE][processing] Allow dropping model files onto QGIS window to execute them
2017-09-15 19:42:46 +10:00
Nyall Dawson
f282a753c6 [processing] Fix incorrect filters in vector layer parameter selections 2017-09-15 19:41:19 +10:00
Nyall Dawson
06ee6f68e1 Expand docs 2017-09-15 18:53:29 +10:00
nirvn
04ee85f0e8 [processing] native save selected features algorithm 2017-09-15 15:51:30 +07:00
Nyall Dawson
3c3848afca Update sip_include 2017-09-15 18:39:51 +10:00
Nyall Dawson
6300464275 [FEATURE][processing] Allow drag and drop of model files onto QGIS window
to execute them
2017-09-15 18:39:51 +10:00
Nyall Dawson
0df4f4a974 Make QgsCustomDropHandler a QObject, and only store weak pointers to them
This means if a plugin registers a custom drop handler, but crashes
before it can deregister it, at least it won't leave the main
app in a crashy state.
2017-09-15 18:39:51 +10:00
Nyall Dawson
527bce09ae Allow QgsCustomDropHandlers to directly operate mime data
and dropped file names

This allows QgsCustomDropHandlers which aren't directly associated
with providers (e.g. for plugins to handle dropped files of
a certain type)
2017-09-15 18:39:51 +10:00
Alessandro Pasotti
ea28c2d91f Merge pull request #5194 from boundlessgeo/iface_conn_changed
Adds connectionsChanged signal to iface
2017-09-15 10:12:35 +02:00
Alessandro Pasotti
a13aa96b6a Typo forwarder->forwarded 2017-09-15 08:18:43 +02:00
Alessandro Pasotti
c1f765aadb Add reloadConnections to the app and expose to iface 2017-09-15 08:09:23 +02:00
Nyall Dawson
c5ae3a0c98 Merge pull request #5199 from nyalldawson/extract_by_extent2
[processing] Extent handling improvements
2017-09-15 15:52:00 +10:00
Nyall Dawson
9b112284c7 Add method to recover extent parameter CRS 2017-09-15 14:09:27 +10:00
Nyall Dawson
4fd2a1a05c Fix unit test data 2017-09-15 12:23:36 +10:00
Nyall Dawson
cfdc3c71e7 Use geometry of reproject extent parameters for more accurate clipping 2017-09-15 08:35:42 +10:00
Nyall Dawson
60b56db904 Use CRS when calculating extent during algorithm extection 2017-09-15 08:35:11 +10:00
Nyall Dawson
80a1d71131 Return a referenced rectangle from ExtentSelectionPanel 2017-09-15 08:34:47 +10:00
Nyall Dawson
74565e22de Nicer display of rectangle parameter values 2017-09-15 08:34:13 +10:00
Nyall Dawson
ae8bc04b6c Allow use of Qgs(Referenced)Rectangle for processing extent parameter values
And add a new target CRS argument to parameterAsExtent. If set, and
the source CRS of the rectangle parameter can be determined, then
the returned value will be the rectangle automatically reprojected
to the desired target CRS.
2017-09-15 08:33:45 +10:00
Nyall Dawson
d8db3ecc4d [FEATURE] New processing algorithm "extract/clip by extent"
Allows extract a subset of another layer using an extent, with
optional setting to clip geometries to the extent
2017-09-15 08:33:19 +10:00
Giovanni Manghi
3a78253764 fix SAGA LTR vectorizing grid classes tool for QGIS master 2017-09-14 21:03:56 +01:00
Alessandro Pasotti
91a98902a1 Adds connectionsChanged signal to iface
This is meant to be used by plugins (DBManager is the
first candidate) to notify the application that
the GUI elements that handle connections needs to
be updated (i.e. the data source manager dialog
and the browsers)
2017-09-14 14:08:59 +02:00
Alessandro Pasotti
d8940544f7 [bugfix] Geopackage restore connections in DB-manager 2017-09-14 13:39:44 +02:00
Nyall Dawson
d96a3f4dd4 Port simplify geometries to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
8e8f3edc55 Port merge lines and smooth to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
7c5521ecdf Port fix geometries alg to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
bf078b1c84 [processing] Fix intersection and union tools don't work with
input layers with Z or M values present

Also ensure that written geometries are always multitype, to
match the created layer geometry type (before the layer was
being created as a multi* layer, but single part geometries
were sometimes created. This causes errors with some data
providers)
2017-09-14 07:35:54 +10:00
Nyall Dawson
c371b72dfe Merge pull request #5184 from nyalldawson/join_locate
[FEATURE] Reworked processing 'Join by location' alg
2017-09-14 06:09:56 +10:00
Nyall Dawson
d084cc6b73 Merge pull request #5178 from Gustry/metadata_viewer
use the metadata API for the metadata viewer
2017-09-14 06:08:37 +10:00
Etienne Trimaille
c3309b9257 use the metadata API in the HTML viewer 2017-09-13 16:50:14 +02:00
Nyall Dawson
742f3e5b4d Merge pull request #5112 from nyalldawson/locator_core
Move locator non-gui classes to core
2017-09-13 18:50:28 +10:00
Nyall Dawson
be88da8173 [FEATURE][processing] Add 'Join by location (summary)' algorithm
Like the main Join Attributes by Location algorithm, this algorithm
takes two layers and combines the attributes based on a spatial
criteria.

However this algorithm calculates summaries for the attributes for
all matching features, e.g. calculating the mean/min/max/etc.

The list of fields to summaries, and the summaries to
calculate for those, can be selected.
2017-09-13 18:45:56 +10:00
nirvn
fe8b751eb5 [FEATURE] Make symbol levels dialog a style dock panel widget 2017-09-13 11:46:28 +07:00
nirvn
5e7dadd575 [symbology] resurrect symbol levels dialog (fixes #16996) 2017-09-13 11:17:58 +07:00
Nyall Dawson
458e994d39 [FEATURE] Reworked processing 'Join by location' alg
Improvements:
- transparently handle different source/join CRS
- added option to create output feature for EVERY joined
feature (i.e. 1 to many type join)
- added option to select joined fields to take
- optimised performance of algorithm

The previous option to create a summary of joined features has been
removed, and will be moved to a separate 'Join by location (summary)'
algorithm.
2017-09-13 08:01:56 +10:00