51938 Commits

Author SHA1 Message Date
Alessandro Pasotti
66b9b5fd55 Changed debug message text for bad layers 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
acb6f42d60 Variable rename (get rid of "my" prefix) 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
326640d881 Implement setDataSource for rasters 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
c32d542be5 Move setDataSource to QgsMapLayer
also setter and getter for providerType
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
7bbd1ca252 [ogr] do not crash if ogr layer is null 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
147608ea98 Bad layers: open a browser widget dialog to select a data source
when indicator is clicked
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
f2654f25c6 Remove modal warning when closing the bad layer dialog 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
99638cfdb6 More readable test 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
5010956cb4 Add test case for getFeatures on invalid bad layer 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
4077104293 Silence longstanding debug warning 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
497a7da9de Added API methods to retrieve only valid maplayers
... and to count them

Tests updated accordingly, note that from now on
the assumption that a layer store or a layer project
contains only valid layers will not be true anymore.

To be honest it has never been true, because a
layer can become invalid at any time during
its life cycle, so better never assume that a
layer from the store or from the project is vaid.
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
f9289802a3 Add test for handle bad layers and invalid layers pass through 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
670c31b059 Do not bail out from reading the layer xml if layer is not valid 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
7a0faed5f0 Handles invalid layer properties when saving
Invalid layers just pass through if the layer
was saved without changing the data source.
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
1b041f4f4f Add storeInvalidLayersProperties to store invalid layers
This can be used to restore initial layer status or to
apply styles and other layer properties if the data
source is changed.

The idea is that the user can fix bad layers at any time,
and by setting a new datasource she probably wants
to keep the original layer properties.
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
bcd8581f89 Add menu items also if invalid (but check for it) 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
bc4a1efac4 The store can now add invalid maplayers 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
ceb33f0156
Merge pull request #8407 from elpaso/bugfix-20338-qgsfeatureselectiondlg-sizing
Make sure QgsFeatureSelectionDlg does not outgrow the window
2018-11-05 09:55:33 +01:00
Nyall Dawson
bac5fbbe0d Small cleanups for QgsDataSourceSelectDialog 2018-11-05 16:51:31 +10:00
Nyall Dawson
ea9d5bb363 Fix mangled fonts in script editors
Don't override default font letter spacing or stretch -- it's not
safe to do because the results are very dependent on the individual
font's appearance and rendering hints.

Fixes #20349
2018-11-05 10:35:18 +10:00
Nyall Dawson
18d4059546 Correct test comparisons
Previously QCOMPARE( QgsGeometry, QgsGeometry ) was actually only
testing for QCOMPARE( bool(QgsGeometry), bool(QgsGeometry) )...!
2018-11-05 08:39:10 +10:00
Nyall Dawson
7be2925649 Remove QgsGeometry bool operator
This is too dangerous -- it gets silently casted to numeric values
instead of throwing compilation errors
2018-11-05 08:39:10 +10:00
Nyall Dawson
137cbd76ae Fix equality comparison when saving vertex tool edits 2018-11-05 08:39:10 +10:00
Martin Dobias
685806bccf [3d] Fix crash in terrain generator if DEM raster layer is missing 2018-11-04 19:52:36 +01:00
Harrissou Sant-anna
6e9c2a3d0c Add link to user manual for annotation dialogs 2018-11-04 21:08:17 +10:00
Nyall Dawson
8c5f79575a Fix dox 2018-11-04 21:07:27 +10:00
Nyall Dawson
a890622996 Remove executeExport* methods from QgsWindowManagerInterface
No longer required, and of limited value anyway
2018-11-04 21:07:27 +10:00
Nyall Dawson
f455b9ed34 [needs-docs] Add right click context actions to Project files
in browser

With options to
- load project
- open project file properties (operating system file properties
dialog that is, on supported platforms only)
2018-11-04 21:07:27 +10:00
Nyall Dawson
fa3a08e397 Add method to handle browser item double clicks to QgsDataItemGuiProvider
And move handling of layer/project file double clicks in browser dock
from gui->app
2018-11-04 21:07:27 +10:00
Nyall Dawson
40443ebb3b [FEATURE][browser] Add "New" menu to context menu on directories
With option to create a new geopackage or shapefile in the
clicked directory
2018-11-04 21:07:27 +10:00
Nyall Dawson
348c1dc794 Move layer item action handling to app 2018-11-04 21:07:27 +10:00
Nyall Dawson
10d7f6e54c Spelling 2018-11-04 21:07:27 +10:00
Nyall Dawson
c085d0edd5 Move favorites action handling from gui to app 2018-11-04 21:07:27 +10:00
Nyall Dawson
fab415454a Move Project Home GUI action handling from core to app
And remove more QWidget imports from core library
2018-11-04 21:07:27 +10:00
Nyall Dawson
48e7e204c0 Move some browser directory action handling from core/gui to app 2018-11-04 21:07:27 +10:00
Nyall Dawson
c9f9374dbb Allow provider libraries to create QgsDataItemGuiProviders
...by implementing dataItemGuiProviders()
2018-11-04 21:07:27 +10:00
Nyall Dawson
310d4f94fa Link the application browser dock to the application message bar 2018-11-04 21:07:27 +10:00
Nyall Dawson
153f1b1138 Also pass complete list of all selected items to createContextMenu,
so that actions can operate on ALL selected items

E.g. delete multiple layers from a geopackage at once
2018-11-04 21:07:27 +10:00
Nyall Dawson
c98d13d2f4 Add method to populate browser context menu to QgsDataItemGuiProvider 2018-11-04 21:07:27 +10:00
Nyall Dawson
6ec7f02e83 Add a QgsDataItemGuiProvider interface and registry for providers
These providers will be used to control how the browser data items
behave within GUI, and to allow separation of GUI related
properties of browser items from the core code.

A new registry QgsDataItemGuiProviderRegistry has been created
(modeled off QgsDataItemProviderRegistry), with an application
wide instance available from QgsGui::instance()->dataItemGuiProviderRegistry()
2018-11-04 21:07:27 +10:00
Nyall Dawson
0b17db6fc4 Add unit tests for QgsDataItemProviderRegistry 2018-11-04 21:07:27 +10:00
Nyall Dawson
928779bf51 Sipify 2018-11-04 19:22:09 +10:00
Martin Dobias
5dd566455f [vertex tool] Respect topo editing when adding a vertex (fixes #18046)
When adding a vertex to a segment that is coincident with some other
segments and topological editing is enabled, vertex tool will now correctly
add new vertex also the coincident segments to preserve shared borders.
2018-11-04 09:54:24 +01:00
Nyall Dawson
efbc089a09 Fix some windows build warnings 2018-11-04 17:41:09 +10:00
Nyall Dawson
5f2b78e755 Fix leak due to deletion of incomplete type 2018-11-04 17:40:40 +10:00
Martin Dobias
923adf2ff7 [mssql] Show in browser also tables with invalid features
They will just have a generic vector icon
2018-11-04 01:10:15 +01:00
Martin Dobias
704959bcc1 [mssql] Do not expect that SRIDs are equivalent to postgis SRIDs
There is no direct relationship between postgis SRIDs and SRIDs used in any other database.

If you imported data with GDAL, things may work, because GDAL prefers to use equivalent SRIDs
to EPSG IDs / PostGIS SRIDs.

If you imported data with QGIS, that will not work.
QGIS MS SQL provider happily uses internal SRS IDs from srs.db for SRIDs.
That should be probably modified to use GDAL's logic:
1. preferably use EPSG ID as SRID
2. if taken, find a safe SRID
2018-11-04 00:58:19 +01:00
Martin Dobias
30e584d7c7 [mssql] fix a bunch of strange bugs when connecting from linux
These include:
- fetching incomplete (corrupted) geometries
- fetching incomplete text data (e.g. WKT for CRS)

Also fixes a bug with empty attribute table for some ms sql layers
2018-11-04 00:53:50 +01:00
Denis Rouzaud
15b2352ea2
Merge pull request #8406 from 3nids/fix20321
fix device size in decoration item
2018-11-03 11:01:26 -08:00
Harrissou Sant-anna
fd2a599778 More rendererv2 cleanup 2018-11-03 17:17:01 +01:00