Nyall Dawson
8a3d4e736c
[api] Allow a feature callback to be specified when building QgsSpatialIndexKDBush
2021-07-27 08:14:39 +10:00
Denis Rouzaud
ea2957507b
run tests even if build fails
2021-07-26 10:39:16 +02:00
nirvn
f68ef8fb60
[feature][processing] A brand new spatiotemporal ST-DBSCAN clustering algorithm
2021-07-26 10:30:14 +10:00
Harrissou Sant-anna
402cf1129e
Add help button to layer notes dialog
2021-07-26 08:10:24 +10:00
Nyall Dawson
d2b1b97579
Const
2021-07-26 08:09:51 +10:00
Nyall Dawson
a3ec18125e
Readonly
2021-07-26 08:09:51 +10:00
Nyall Dawson
0601381a15
Fix dox warning
2021-07-26 08:09:51 +10:00
Nyall Dawson
9b412a418a
Update tests
2021-07-26 08:09:51 +10:00
Nyall Dawson
0c61111c14
Remove test of deprecated unused API
2021-07-26 08:09:51 +10:00
Nyall Dawson
e7b1df4291
Remove redundant test of unused, deprecated API
2021-07-26 08:09:51 +10:00
Nyall Dawson
657078dd5c
Update test
2021-07-26 08:09:51 +10:00
Nyall Dawson
094293ed74
.db files are also supported by the spatialite provider
2021-07-26 08:09:51 +10:00
Nyall Dawson
6ee2e042a6
Dox
2021-07-26 08:09:51 +10:00
Nyall Dawson
87f43e2586
Add kmz extension as possible container format
2021-07-26 08:09:51 +10:00
Nyall Dawson
670250ddd0
Remove mdal, gdal, ogr, ept and pdal data item providers
...
These are no longer required -- we get them "for free" now!
2021-07-26 08:09:51 +10:00
Nyall Dawson
e06e7d0338
Create a generic data item provider for all file based datasources
...
This provider uses the QgsProviderRegistry::querySublayers API
to automatically create appropriate browser data items for all
file based sources, regardless of the underlying provider (be it
mdal, gdal, ogr, pdal or ept).
This allows us to merge sources which can be handled by multiple
different providers into single container items in the browser,
so e.g. instead of seeing a .nc file appear twice in the browser
(once with a mesh icon and once with a raster icon), we now
only see the file ONCE and expanding it out shows BOTH the mesh
and raster sublayers. Similarly with all other mixed type formats,
such as GeoPDF files (which may contain a mix of raster and vector
layers), KML/KMZ,... etc.
2021-07-26 08:09:51 +10:00
Nyall Dawson
6f942a70ac
Add missing Q_DECLARE_OPERATORS_FOR_FLAGS for QgsProviderUtils::SublayerCompletenessFlags
2021-07-26 08:09:51 +10:00
Nyall Dawson
f5eebaedec
Fix build
2021-07-25 15:20:13 +10:00
Nyall Dawson
7f700e35be
Split QgsBrowserDockWidget to new QgsBrowserWidget class and QgsBrowserDockWidget
...
Moves the guts of QgsBrowserDockWidget to a reusable QWidget subclass
"QgsBrowserWidget", so that browser widgets can easily be created
which aren't a dock widget.
2021-07-25 15:20:13 +10:00
Denis Rouzaud
e43bc1e403
[ci] Qt6 ready + improve workflow + cache testing Docker image
2021-07-25 08:55:52 +10:00
Alessandro Pasotti
d0a3ceab91
Merge pull request #44111 from rldhont/tests-server-wms-dimension-time
...
[Server][Tests] Extend WMS dimension tests
2021-07-24 13:39:36 +02:00
Matthias Kuhn
c74e886da1
Merge pull request #44349 from m-kuhn/avoid_projection_selection_recursion_crash
...
Avoid recursion in crs validation
2021-07-24 09:09:53 +02:00
vcloarec
1e3117dad5
reduce duration of mesh editor test
2021-07-24 07:53:13 +10:00
Denis Rouzaud
38d6c91cb7
fix checking validity of flags in read/write settings/layer properties ( #44352 )
2021-07-23 15:14:57 +02:00
Damiano Lombardi
f041cda1b6
[JSON Widget] respect config when displayed in identify res. dialog ( #44350 )
2021-07-23 12:56:19 +02:00
Denis Rouzaud
eaa4b54e20
allow to save/read enum/flags as map layer properties ( #44329 )
2021-07-23 08:41:45 +00:00
Juergen E. Fischer
b0319105bc
Reinstate explicit template instantiations but only for MSVC (refs #44301 )
...
This reverts commit a499a303548654dd8028eaf330fab5388db9e3ea which
reverted f616be29d361cd24f0cd1f3433bfb264304a8760
2021-07-23 09:14:56 +02:00
Matthias Kuhn
23521d2784
Avoid recursion in crs validation
...
If some proj helper files are missing (likely proj.db), showing the
projection selection dialog is shown recursively. Avoid this.
Excerpt from a sample trace:
```
QgsMapLayer::setCrs :
QgsVectorLayer::setCoordinateSystem :
QgsVectorLayer::setDataSource :
QgsVectorLayer::QgsVectorLayer :
QgsCoordinateBoundsPreviewMapWidget::QgsCoordinateBoundsPreviewMapWidget :
QgsProjectionSelectionTreeWidget::setShowNoProjection :
QgsProjectionSelectionTreeWidget::QgsProjectionSelectionTreeWidget :
QgsProjectionSelectionDialog::setShowNoProjection :
QgsProjectionSelectionDialog::QgsProjectionSelectionDialog :
QgisApp::validateCrs :
QObject::qt_static_metacall :
QgisApp::customCrsValidation :
QgisApp::customProjection :
QgsMapLayer::setCrs :
QgsVectorLayer::setCoordinateSystem :
QgsVectorLayer::setDataSource :
QgsVectorLayer::QgsVectorLayer :
QgsCoordinateBoundsPreviewMapWidget::QgsCoordinateBoundsPreviewMapWidget :
QgsProjectionSelectionTreeWidget::setShowNoProjection :
QgsProjectionSelectionTreeWidget::QgsProjectionSelectionTreeWidget :
QgsProjectionSelectionDialog::setShowNoProjection :
QgsProjectionSelectionDialog::QgsProjectionSelectionDialog :
QgisApp::validateCrs :
QObject::qt_static_metacall :
QgisApp::customCrsValidation :
QgisApp::customProjection :
QgsMapLayer::setCrs :
QgsVectorLayer::setCoordinateSystem :
QgsVectorLayer::setDataSource :
QgsVectorLayer::QgsVectorLayer :
QgsCoordinateBoundsPreviewMapWidget::QgsCoordinateBoundsPreviewMapWidget :
QgsProjectionSelectionTreeWidget::setShowNoProjection :
QgsProjectionSelectionTreeWidget::QgsProjectionSelectionTreeWidget :
QgsProjectionSelectionDialog::setShowNoProjection :
QgsProjectionSelectionDialog::QgsProjectionSelectionDialog :
QgisApp::validateCrs :
QObject::qt_static_metacall :
QgisApp::customCrsValidation :
QgisApp::customProjection :
QgsMapLayer::setCrs :
QgsVectorLayer::setCoordinateSystem :
QgsVectorLayer::setDataSource :
QgsVectorLayer::QgsVectorLayer :
QgsCoordinateBoundsPreviewMapWidget::QgsCoordinateBoundsPreviewMapWidget :
QgsProjectionSelectionTreeWidget::setShowNoProjection :
QgsProjectionSelectionTreeWidget::QgsProjectionSelectionTreeWidget :
QgsProjectionSelectionDialog::setShowNoProjection :
QgsProjectionSelectionDialog::QgsProjectionSelectionDialog :
QgisApp::validateCrs :
QObject::qt_static_metacall :
QgisApp::customCrsValidation :
```
2021-07-23 09:01:19 +02:00
Juergen E. Fischer
6964eb21f6
spelling updates
2021-07-23 08:49:26 +02:00
Nyall Dawson
dd9eb90a43
Implement querySublayers for pdal provider
2021-07-23 16:00:23 +10:00
Nyall Dawson
c74f42cd58
When querying sublayers for all providers using
...
QgsProviderRegistry::querySublayers, if there is a preferred providers
for a particular uri then ONLY return sublayers from these providers
instead of iterating over all providers
This cleans up the case that two providers can technically handle
a uri, but where we definitely only want ONE of them to handle that
uri. Specifically, while the OGR provider can technically open
JSON files so reports that it can handle ept.json files, we only
ever want to use the EPT point cloud provider for these as we know
for certain that they are point cloud uris, not vector layers.
2021-07-23 16:00:23 +10:00
Nyall Dawson
e57193d6ef
Ignore blocklisted uris when querying all providers for sublayers
2021-07-23 16:00:23 +10:00
Nyall Dawson
ae980c51bc
Implement querySublayers for ept provider
2021-07-23 16:00:23 +10:00
Nyall Dawson
b7addc2edb
QgsProviderUtils::suggestLayerNameFromFilePath - nicely handle ept.json paths
2021-07-23 16:00:23 +10:00
Matthias Kuhn
b52d37e46a
Merge pull request #44294 from domi4484/jsonEditWidgetDefault
...
JSON widget as default for json and jsonb type names
2021-07-23 07:42:26 +02:00
Nyall Dawson
48b9ff0757
Lint
2021-07-23 14:57:56 +10:00
Nyall Dawson
e0f564d8f1
Fix test
2021-07-23 14:57:56 +10:00
Nyall Dawson
a65af600db
Use QgsGdalUtils::pathIsCheapToOpen to determine whether it's safe to skip the extension only scan for ogr sublayers
2021-07-23 14:57:56 +10:00
Nyall Dawson
7716d199cb
Expand tests
2021-07-23 14:57:56 +10:00
Nyall Dawson
e7cea2d53f
Add missing file
2021-07-23 14:57:56 +10:00
Nyall Dawson
36aa9f3109
Move some common code to QgsGdalUtils
2021-07-23 14:57:56 +10:00
Nyall Dawson
0dfd561e4a
Clarify ambiguous test
2021-07-23 14:57:56 +10:00
Nyall Dawson
d1f2031283
nc shouldn't be in inexpensive list
2021-07-23 14:57:56 +10:00
Nyall Dawson
23bd6a8ea1
.shp.zip is a potential container
2021-07-23 14:57:56 +10:00
Nyall Dawson
c7c97101d3
[gdal] Correctly implement FastScan for querySublayers
2021-07-23 14:57:56 +10:00
Nyall Dawson
8349457267
Skip empty layers in mdal querySublayers
2021-07-23 14:57:56 +10:00
Nyall Dawson
c5163e9634
[mdal] Respect FastScan flag when querying sublayers
2021-07-23 14:57:56 +10:00
Nyall Dawson
816bb43c96
[ogr] Correctly handle FastScan flag in querySublayers by performing
...
an extension only scan for files/folders
2021-07-23 14:57:56 +10:00
Nyall Dawson
f6540193c5
If a sublayer has the skippedContainerScan flag set, then
...
the sublayer details are incomplete
2021-07-23 14:57:56 +10:00
Nyall Dawson
e28a0b7258
Add flag to QgsProviderSublayerDetails to indicate that the uri
...
may be a container for other sublayers but that indepth scanning
of the container was skipped
2021-07-23 14:57:56 +10:00