14133 Commits

Author SHA1 Message Date
Alessandro Pasotti
8493636f18 Data source select dialog now accepts a model 2018-11-05 10:26:39 +01:00
Alessandro Pasotti
0cd21c91f1 Keep invalid relations and update them when the data source changes
Added a check for layer.isValid in relation.isValid, keep
relations in the manager even if they are not valid and
connect dataSourceChanged with updateRelationStatus
2018-11-05 10:24:35 +01:00
Alessandro Pasotti
2bd90da9c1 Added a validOnly flag to mapLayers to filter for valid layers only 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
3fe7848c16 Noted in the method documentation that dataProvider() may return null 2018-11-05 10:24:35 +01:00
Alessandro Pasotti
f856b4c8e3 Renamed originalXmlProperties methods and variables 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
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
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
bc4a1efac4 The store can now add invalid maplayers 2018-11-05 10:24:35 +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
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
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
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
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
48e7e204c0 Move some browser directory action handling from core/gui to app 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
928779bf51 Sipify 2018-11-04 19:22:09 +10:00
Alessandro Pasotti
eca00ba3c9
Merge pull request #8396 from elpaso/datasource-select-dialog
QgsDataSourceSelectDialog: a simple browser-based reusable data sourc…
2018-11-02 08:47:33 +01:00
Alessandro Pasotti
105455ca2c Layout fixes 2018-11-01 17:29:51 +01:00
Nyall Dawson
4dd3e211e2 Unit tests for reomve duplicates by attribute 2018-11-01 21:47:28 +10:00
Alessandro Pasotti
083208c1eb QgsDataSourceSelectDialog: a simple browser-based reusable data source select dialog 2018-11-01 12:02:38 +01:00
Nyall Dawson
850eae1606 [browser] Avoid expanding/collapsing nodes if the double click
was specifically handled by an item itself
2018-11-01 20:41:08 +10:00
Nyall Dawson
5c5f2ed7e3 Add method to get QgsLayerItem::LayerType from a map layer 2018-11-01 20:41:08 +10:00
Nyall Dawson
f65c845f86 [processing][GRASS] Correctly handle input vector layers with |layername= param
Fixes #20277
2018-11-01 18:36:53 +10:00
Nyall Dawson
82ac04d6f7 [processing][GRASS] Give some more feedback when trying to use
v.external for reading inputs, and if we can't, advise why not
2018-11-01 18:36:53 +10:00
Nyall Dawson
676238b28f [processing][grass] Highlight GRASS error messages and warnings in log
And catch segmentation faults from GRASS commands and show a nice
helper text advising user that QGIS isn't at fault here ;)

Also add a tip to try disabling the v.external option if that setting
is enabled and a GRASS segfault occurs
2018-11-01 18:36:53 +10:00
Nyall Dawson
187f74148c [FEATURE] Show QGIS style xml libraries in browser and support
drag and drop of style .xml files to main QGIS window

Double clicking the databases or dragging them to QGIS
triggers the import from style dialog with the corresponding
input file already selected
2018-11-01 15:57:31 +10:00
Nyall Dawson
17447e4b5c [FEATURE][browser] Restore preview functionality from old 2.x standalone
browser into inbuilt browser dock panel layer properties widget
2018-11-01 15:55:57 +10:00
William Kyngesburye
3f72e0cd41 don't run GRASS commands in shell, that's not working 2018-10-31 20:55:56 -05:00
Nyall Dawson
41c31b44ba Fix build warning 2018-11-01 05:56:38 +10:00
Matthias Kuhn
c55b4eb4c8
Make sip a bit happier 2018-10-31 12:15:43 +01:00
Matthias Kuhn
87c126323c
Regenerate fids for "multipart to singlepart algorithm" 2018-10-31 10:27:56 +01:00
Matthias Kuhn
2df0cae8e3
Regenerate fids for "join attributes by location", pt2 2018-10-31 10:27:56 +01:00
Matthias Kuhn
d0eeffbecb
Regenerate fids for "points along geometry"
Fix #19998
2018-10-31 10:27:55 +01:00
Matthias Kuhn
f8d873c7cb
Regenerate fids for "join attributes by location"
Fix #19708
2018-10-31 10:27:55 +01:00
Matthias Kuhn
a4d4c55c82
Parameter name harmonization 2018-10-31 10:27:55 +01:00
Matthias Kuhn
2e1c5e6103
Skip path checking 2018-10-31 10:27:55 +01:00
Matthias Kuhn
6fe832b984
Add missing param doc 2018-10-31 10:27:55 +01:00
Matthias Kuhn
99b246dd78
Add comment for semi-broken control file 2018-10-31 10:27:55 +01:00
Matthias Kuhn
2c4abdf70d
Fix test for merging layers to gpkg 2018-10-31 10:27:55 +01:00
Matthias Kuhn
50cf8b9e4e
Unify parameter names 2018-10-31 10:27:54 +01:00
Matthias Kuhn
229c617785
Ignore FID field when merging vector layers to geopackage 2018-10-31 10:27:54 +01:00