From a9cd6b899230f9919b79e2b88a6c001c6a94c71d Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Sun, 6 Aug 2023 19:04:44 +1000 Subject: [PATCH] Show tiled scene layers in layer styling dock --- python/core/auto_generated/qgsmaplayerproxymodel.sip.in | 1 + src/app/qgslayerstylingwidget.cpp | 1 + src/core/qgsmaplayerproxymodel.cpp | 1 + src/core/qgsmaplayerproxymodel.h | 5 +++-- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/python/core/auto_generated/qgsmaplayerproxymodel.sip.in b/python/core/auto_generated/qgsmaplayerproxymodel.sip.in index 47da368a151..071039fd15b 100644 --- a/python/core/auto_generated/qgsmaplayerproxymodel.sip.in +++ b/python/core/auto_generated/qgsmaplayerproxymodel.sip.in @@ -37,6 +37,7 @@ The :py:class:`QgsMapLayerProxyModel` class provides an easy to use model to dis VectorTileLayer, PointCloudLayer, AnnotationLayer, + TiledSceneLayer, All, SpatialLayer }; diff --git a/src/app/qgslayerstylingwidget.cpp b/src/app/qgslayerstylingwidget.cpp index 9515a62c323..b42879ecdc6 100644 --- a/src/app/qgslayerstylingwidget.cpp +++ b/src/app/qgslayerstylingwidget.cpp @@ -112,6 +112,7 @@ QgsLayerStylingWidget::QgsLayerStylingWidget( QgsMapCanvas *canvas, QgsMessageBa | QgsMapLayerProxyModel::Filter::MeshLayer | QgsMapLayerProxyModel::Filter::VectorTileLayer | QgsMapLayerProxyModel::Filter::PointCloudLayer + | QgsMapLayerProxyModel::Filter::TiledSceneLayer | QgsMapLayerProxyModel::Filter::AnnotationLayer ); mLayerCombo->setAdditionalLayers( { QgsProject::instance()->mainAnnotationLayer() } ); diff --git a/src/core/qgsmaplayerproxymodel.cpp b/src/core/qgsmaplayerproxymodel.cpp index 5ced4770163..e72639aa41e 100644 --- a/src/core/qgsmaplayerproxymodel.cpp +++ b/src/core/qgsmaplayerproxymodel.cpp @@ -50,6 +50,7 @@ bool QgsMapLayerProxyModel::layerMatchesFilters( const QgsMapLayer *layer, const ( filters.testFlag( VectorTileLayer ) && layer->type() == Qgis::LayerType::VectorTile ) || ( filters.testFlag( PointCloudLayer ) && layer->type() == Qgis::LayerType::PointCloud ) || ( filters.testFlag( AnnotationLayer ) && layer->type() == Qgis::LayerType::Annotation ) || + ( filters.testFlag( TiledSceneLayer ) && layer->type() == Qgis::LayerType::TiledScene ) || ( filters.testFlag( PluginLayer ) && layer->type() == Qgis::LayerType::Plugin ) ) return true; diff --git a/src/core/qgsmaplayerproxymodel.h b/src/core/qgsmaplayerproxymodel.h index c50431ef80d..5ab7acd0c35 100644 --- a/src/core/qgsmaplayerproxymodel.h +++ b/src/core/qgsmaplayerproxymodel.h @@ -55,8 +55,9 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel VectorTileLayer = 256, //!< QgsVectorTileLayer \since QGIS 3.14 PointCloudLayer = 512, //!< QgsPointCloudLayer \since QGIS 3.18 AnnotationLayer = 1024, //!< QgsAnnotationLayer \since QGIS 3.22 - All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer, - SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer //!< \since QGIS 3.24 + TiledSceneLayer = 2048, //!< QgsTiledSceneLayer \since QGIS 3.34 + All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer, + SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer //!< \since QGIS 3.24 }; Q_DECLARE_FLAGS( Filters, Filter ) Q_FLAG( Filters )