51936 Commits

Author SHA1 Message Date
Nyall Dawson
1b79b9a140 [FEATURE] force_rhr expression function
Forces polygons to follow the right hand rule, in which the area that
is bounded by a polygon is to the right of the boundary. In particular,
the exterior ring is oriented in a clockwise direction and the
interior rings in a counter-clockwise direction.
2018-11-09 19:06:48 +10:00
Nyall Dawson
27e1ef5c1c Add method to QgsCurvePolygon to force RHR, ensuring standard ring orientation 2018-11-09 19:06:48 +10:00
Nyall Dawson
c22364d45e Add method to determine orientation of closed curves 2018-11-09 19:06:48 +10:00
Etienne Trimaille
6e16651d96 [FEATURE] explode hstore algorithm (#8212) 2018-11-09 13:00:29 +07:00
Nyall Dawson
df81e554f8 Fix crash in geometry checker
Fixes #20408
2018-11-09 12:57:42 +10:00
Alessandro Pasotti
eab40d0e4c
Merge pull request #8435 from elpaso/handle-bad-layers5
bad layers dialog new button labels and icon
2018-11-08 12:15:21 +01:00
Martin Dobias
ad1bba2ac9
Merge pull request #8438 from wonder-sk/fix-block-outside-raster-extent
Fix raster block output when block extent is outside of valid area
2018-11-08 11:56:10 +01:00
Alessandro Pasotti
ba4981a1f4 Move change data source under filter 2018-11-08 11:30:06 +01:00
Martin Dobias
872c9a10a3 Add unit test 2018-11-08 10:09:57 +01:00
Martin Dobias
528c8a63bf [3d] fix inevitable crashes when terrain bounding boxes were shown
The list of vertices just kept growing and growing (and we didn't even need another copy!)
2018-11-08 09:57:31 +01:00
Alessandro Pasotti
c74ce886dc Disable "Change data source..." action if layer is editable 2018-11-08 09:22:33 +01:00
Alessandro Pasotti
85f8ba359f Move apply button next to browse and disable keep when apply is triggered 2018-11-08 09:14:34 +01:00
Alessandro Pasotti
222f0a0355
Merge pull request #8434 from elpaso/datasource-select-dialog-additions
QgsDataSourceSelectDialog: filter, refresh and scroll to last selecte…
2018-11-08 08:39:13 +01:00
Nyall Dawson
0ba475bdfb Minor ui tweaks to afs source select dialog 2018-11-08 10:58:52 +10:00
Nyall Dawson
1066161bfd [afs] Remove 'cached' checkbox from source select dialog
This checkbox was never hooked up to anything (caching is ALWAYS
enabled for the provider).
2018-11-08 10:58:52 +10:00
Nyall Dawson
85bc01f5fc [FEATURE][AFS] Add new browser context menu entry to visit the
service info page for AFS layer/featureservice/folder items

It's very handy for troubleshooting connections and seeing
extended service properties
2018-11-08 10:58:52 +10:00
Nyall Dawson
b2d2634870 [afs] Fix missing layers/services when connection url does
not point at an individual service endpoint

Previously the provider would only show layers if a FeatureService
endpoint was used for the url, and would show nothing if
users enter the base server url.

Fix this by implementing a tree view for AFS items so that
if users enter a connection url at a higher level than we
show nested services/folders containing the layers.
2018-11-08 10:58:52 +10:00
Martin Dobias
afca644954 [gdal] Fix raster block output when block extent is outside of valid area
This was causing problems in 3D view when raster was used as DEM... terrain
tiles were generated also where they should not appear and contained random
heights that caused failures of camera center adjustment to terrain. In the areas
completely outside of raster's extent the block was being returned with some
values uninitialized (instead of having correctly set no-data values)
2018-11-07 15:07:46 +01:00
Matthias Kuhn
3e14761d79
Merge pull request #8436 from signedav/copy_2_pg
Using of QgsVectorLayerUtils::createFeature on move and copy tool
2018-11-07 15:00:55 +01:00
signedav
913719fd37 use toMap to convert to attributeMap 2018-11-07 14:20:30 +01:00
Alessandro Pasotti
0bd9021523 s/bad/unavailable/ layers 2018-11-07 14:14:26 +01:00
signedav
4ac0631774 createFeature on move and copy
using of the createFeature function with tool move and copy and there the logic of unique not null fields (like primary keys) is used.

This would fix #20347
2018-11-07 14:10:33 +01:00
Alessandro Pasotti
4e767ce2a5 bad layers dialog new button labels and icon 2018-11-07 12:13:02 +01:00
Alessandro Pasotti
f012580740 Remove double qualifier 2018-11-07 11:58:04 +01:00
Alessandro Pasotti
02ecb56d95 QgsDataSourceSelectDialog: filter, refresh and scroll to last selected item
plus:
- expand children of last selected item
- save/restore status
2018-11-07 11:08:49 +01:00
Nyall Dawson
4cdde31c17 Decode uri for ams provider 2018-11-07 15:30:17 +10:00
Nyall Dawson
bcffc44062 If decoding a layer URI returns a url, then show a link to that url
in the layer's metadata
2018-11-07 15:30:17 +10:00
Nyall Dawson
4b32e7cc78 [afs] Implemented decodeUri for AFS provider
Allows retrieval of the web URL for an AFS layer
2018-11-07 15:30:17 +10:00
Nyall Dawson
94896703dc [afs] Use new style data item provider 2018-11-07 15:30:17 +10:00
Alessandro Pasotti
8125366d65
Merge pull request #8430 from elpaso/handle-bad-layers4
Fix a few crashes with bad layers
2018-11-06 21:51:26 +01:00
Salvatore Larosa
c7cda51499 fix build on OSX: followup bf21ce4661b952fc22f425619ac051d641ad9306 2018-11-06 19:45:52 +01:00
Alessandro Pasotti
2dd3f969f8 Fix a few crashes with bad layers 2018-11-06 18:59:52 +01:00
Martin Dobias
fbde0c8752 [3d] fix camera controller using wrong shift/ctrl status (fixes #20131)
We used Qt3DInput::QLogicalDevice with its axes and actions for camera
controller, but over time this got quite impractical, moreover we started
to have problems with shift/ctrl actions getting stuck in wrong state
in case they were pressed or released while 3D canvas was not focused
(which is in fact relatively common when using other widgets in the GUI)

This commit switches over to using just QMouseHandler and QKeyboardHandler
for handling key and mouse events and this not only makes the code easier
to read, but also the issues with shift/ctrl go away (because we do not
keep their status anymore, we just check whether they are active inside
event handlers).

The speed of change with mouse wheel and keys should be similar or a bit
less than what it was before.
2018-11-06 17:23:09 +01:00
Denis Rouzaud
1e166805ff show icon if exist for menus in customization dialog 2018-11-06 06:43:49 -09:00
Denis Rouzaud
762a15a863 fix move feature action not correctly shown in customization 2018-11-06 06:43:49 -09:00
Alessandro Pasotti
54a6586c85
Merge pull request #8427 from elpaso/handle-bad-layers3
Handle bad layers: fixes for groups and subset string
2018-11-06 15:50:30 +01:00
Alessandro Pasotti
9af0719ff2 Bad layers: added tests for subset string and groups 2018-11-06 14:58:04 +01:00
Alessandro Pasotti
6e85a893ea Correctly parse styles for layer in groups 2018-11-06 14:57:34 +01:00
Alessandro Pasotti
39e0b7be7a Restore subset string when fixing a bad layer 2018-11-06 14:57:04 +01:00
Alessandro Pasotti
7bf4e5b119 Do not check for geom equality when fixing a bad layer
re-apply the style with no checks for geometry type

This is a temporary workaround, the solution will probably
need some storage for the original geometry type.
2018-11-06 14:55:13 +01:00
Alessandro Pasotti
5ae2bae909
Merge pull request #8426 from SrNetoChan/new_bad_layer_logo
New bad layers icon for layers panel
2018-11-06 13:16:47 +01:00
Alexandre Neto
9916c5fbb7 New bad layers icon for layers panel 2018-11-06 11:57:26 +00:00
Alessandro Pasotti
36f115833e
Merge pull request #8425 from elpaso/handle-bad-layers3
Add symbology tests (rule based and categorized) to Handle bad layers
2018-11-06 11:17:34 +01:00
Alessandro Pasotti
7db1d4e8b4 Added test project with the bad layers (not used by tests)
but still useful for manual tests
2018-11-06 10:28:49 +01:00
Alessandro Pasotti
ba3ccca2dd Add rule-based and categorized styles to the bad layers test 2018-11-06 10:27:07 +01:00
Martin Dobias
45059297e4 [3d] Fix 3D line symbol in 3D views in print layouts (fixes #20118)
Turned out we were getting an old version of OpenGL that does not
support the "primitive restart" functionality and so wherever
a linestring should be broken it was connected through (0,0,0)
to the next linestring.
2018-11-06 09:27:35 +01:00
Alessandro Pasotti
c8b26771cf
Merge pull request #8359 from elpaso/handle-bad-layers2
[needs-docs][feature] Deferred handling of bad layers
2018-11-06 08:43:18 +01:00
Nyall Dawson
c54c559723 Ensure browser preview canvases don't get treated like map canvas
docks

They have their own special logic, and shouldn't respond to
any project based settings or triggers

Fixes #20362
2018-11-06 12:23:00 +10:00
Nyall Dawson
0ea86bf0a5 More old style connect removal 2018-11-06 08:45:37 +10:00
Nyall Dawson
7b24bd3f0b More old style connect removal 2018-11-06 08:45:37 +10:00