14300 Commits

Author SHA1 Message Date
Alessandro Pasotti
ff418821ea
Merge pull request #8082 from elpaso/qvariant-equal
Add qgsVariantEqual for null-aware comparison
2018-10-01 18:29:19 +02:00
Alessandro Pasotti
a68a82cb60 qgsVariantEqual second iteration 2018-10-01 14:59:19 +02:00
Alessandro Pasotti
90e2c45502 Add qgsVariantEqual for null-aware comparison 2018-10-01 14:02:09 +02:00
Matthias Kuhn
cb7b44d4eb
Merge pull request #8068 from m-kuhn/rubberbandProperties
Rubberband properties
2018-10-01 12:35:35 +02: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
b5476ef5d4 Fix clang warnings, scale truncation to int 2018-10-01 16:07:40 +10:00
Nyall Dawson
3ecb1548fb Add missing fox for QgsFontMarkerSymbolLayer, improve existing dox 2018-10-01 10:55:09 +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
Nyall Dawson
d50ccff69e [browser] Fix tiny folder icons on hidpi screens
QStyle::standardPixmap is deprecated and not hi-dpi friendly.
Unfortunately, there's no equivalent of QIcon::addPixmap
for QIcons themselves -- so it's **impossible** in current Qt
API to handle the ON/OFF icon states.

Believe me... there's NOOOOOOO way. I've looked. I've tried.
It's not possible.

This means we have to change the logic for showing open/closed
folders in browser. This commit revises the logic to show the
open icon for any *populated* folders, regardless of whether
they are opened or not.
2018-10-01 09:15:47 +10:00
Matthias Kuhn
10b83d68fb
Make use of implicitly shared geometry 2018-09-30 16:54:54 +02:00
Matthias Kuhn
6c5f978b97
Make QgsGeometryCheck::CheckType available in factory 2018-09-30 16:21:16 +02:00
Matthias Kuhn
fe5ed43f26
Make sip code style test happy 2018-09-30 11:50:54 +02:00
Matthias Kuhn
9a19ba3c28
Dox and bindings 2018-09-30 10:42:11 +02:00
Matthias Kuhn
113edccaa2
Cleanup 2018-09-30 10:42:11 +02:00
Matthias Kuhn
f0ddef4bed
Dox 2018-09-30 10:35:45 +02:00
Matthias Kuhn
328760437c
Make QgsRubberBand fillColor a Q_PROPERTY 2018-09-30 09:46:24 +02:00
Nyall Dawson
a0292c3ff3 [processing] Reload scripts after a script has been saved in the editor
Fixes #19934
2018-09-30 08:31:06 +10:00
Matthias Kuhn
d4fd49129e Fix grammar 2018-09-30 08:29:10 +10:00
Matthias Kuhn
8fdf34be1d Doxygen for QgsRubberband 2018-09-30 08:29:10 +10:00
Matthias Kuhn
db65b9a8fc Add QgsRubberBand::setToGeometry with crs parameter 2018-09-30 08:28:05 +10:00
rldhont
ad7d03c64f
Merge pull request #7859 from rldhont/fix-server-sld-param-support
[Bugfix][Server] Add WMS SLD parameter support
2018-09-29 18:10:54 +02:00
Denis Rouzaud
157ba0f4be QgsMapToPixel API cleanup
* overload toMapCoordinates to also take double (use different PyName)
* deprecate toMapPoint which is strictly equivalent to toMapCoordinates
2018-09-29 11:05:54 -04:00
Nyall Dawson
9698444f4a [processing] Fix inefficiencies in Delete Duplicate Geometries algorithm
..and make progress bar more accurate.

Use a spatial index to avoid comparing every feature to every other
feature, and only compare against features with intersecting bounding
boxes instead. Also optimise feature requests and loop logic.

Benchmarks:

Point layer, 6000k features

Before: 30 seconds
After: 0.15 seconds

Point layer, 45k features

Before: > 10 minutes
After: 7 seconds

Fixes #19973
2018-09-29 07:37:53 +10:00
Nyall Dawson
6110931f8a Rename QgsSpatialIndex::insertFeature to ::addFeature, for consistency
with other classes

And make QgsSpatialIndex a QgsFeatureSink
2018-09-29 07:37:53 +10:00
Matthias Kuhn
7ba19dd05f
Cleanup leftover file 2018-09-28 15:26:08 +02:00
Matthias Kuhn
0e52074e58
Remove duplicate flags and rename is valid check 2018-09-28 14:53:11 +02:00
Matthias Kuhn
903e94331f
Doxygen 2018-09-28 13:59:42 +02:00
Matthias Kuhn
bee5470e10
Python bindings for QgsGeometryCheck and co
Adds

 - python bindings
 - geometry check factory
 - geometry check registry
 - QgsFeedback for geometry checks (lots of potential still)
 - An IsValid geometry check
 - Splits classes into their own files
 - Decouples feature pools from the configuration context
2018-09-28 13:33:24 +02:00
Nyall Dawson
308d7136b4 [processing] More fixes to convertToCompatibleFormat, lots of unit
tests

Fixes #19938
2018-09-28 14:25:38 +10:00
Nyall Dawson
737ab3069a [processing][gdal] Correctly handle geopackage paths with layername argument
Fixes #19938
2018-09-28 14:25:38 +10:00
Nyall Dawson
7a45702b83 [processing][gdal] Fix stylesheet for gdal algorithms 2018-09-28 14:25:38 +10:00
Nyall Dawson
7977450796 [processing][ogr] Fix conversion of non-disk based layer sources
to GDAL commands

Fixes #19946
2018-09-28 13:36:50 +10:00
Nyall Dawson
f1ced30ee2 Fix dox 2018-09-28 13:17:12 +10:00
Nyall Dawson
39d148612b Optimise conversion of geometry from OGR -> QGIS
Avoid conversion to/from WKB at OGR/QGIS side, and just directly
utilise OGR geometry API to construct QGIS geometries.

Shaves ~10% off rendering time for a large point layer (GPKG)
2018-09-28 13:17:12 +10:00
Harrissou Sant-anna
b478ee750c Fix "Array of offset lines" algorithm 2018-09-28 10:19:31 +10:00
Harrissou Sant-anna
9e5cc4b76b Fix array of translated features algorithms 2018-09-28 10:19:31 +10:00
rldhont
c15f05b4c9 [Bugfix][Server] Add WMS SLD parameter support
Fixed #19795 QGIS Server 3 / WMS: the SLD parameter support has been removed

To reactivate SLD parameter support, we add a new conversion capability in server parameter `toUrl`. And the capabilty to load the content associted to an URL.

Then if the SLD parameter is defined, the content is loaded and the SLD_BODY is set.
2018-09-27 21:08:33 +02:00
Alessandro Pasotti
c06c475b9c [db-manager] Update sql dialog buttons status
Fixes #19958 - Database manager allows one to create saved query with no name
2018-09-27 08:29:27 +02:00
Alessandro Pasotti
94ded32f4e [db-manager] Allow multiline filters in sql window
Fixes #19956 - Update SQL layer results in invalid SQL expression
2018-09-27 08:01:40 +02:00
Martin Dobias
a1d130ac97 Fix spelling 2018-09-27 00:46:37 +02:00
Martin Dobias
8831f19b79 Fix missing indicators after they are moved to a different group
The issue was that during drag&drop, we first connect to layer's signal
for the second time, but then the disconnect() call on removal of the original
layer node would disconnect all connections (not just one). For that reason
now we only connect/disconnect when the layer is in the tree only once.
2018-09-27 00:46:37 +02:00
Matthias Kuhn
c3066c2c46
Cleanup 2018-09-26 19:47:26 +02:00
Matthias Kuhn
0e3280768c
Change canCommitChanges to allowCommit flag 2018-09-26 18:31:03 +02:00
Matthias Kuhn
cda4950dd8
Change canCommitChanges to allowCommit flag 2018-09-26 17:35:53 +02:00
Matthias Kuhn
d2bb3d606b
Fix python signature? 2018-09-26 17:15:53 +02:00
Matthias Kuhn
a56deacf54
Add QgsVectorLayer::canCommitChanges
to control if changes can be saved or not. This signal is emitted before a layer is being saved and if a connected slot marks the canCommit variable as False, the layer will not be saved
2018-09-26 16:17:24 +02: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
Martin Dobias
5047571c13 Move recursive "collect layers" algorithm to QgsLayerTreeUtils + tests 2018-09-26 09:55:37 +02:00
Martin Dobias
ea1716261a Make sure that also groups with "required" layers cannot be removed
Fixes an unreported bug where it was possible to select a layer tree group
and remove even when it contained required layers.

When removing layers/groups, the following checks will now also recursively
test layers and not just directly selected layers:
- test for layers with unsaved changes
- test for layers with active tasks running in background
2018-09-26 09:55:37 +02:00