From 28879ca6dceb37d6de8a07d0165631635b4c53c6 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Mon, 26 Jun 2023 15:24:21 +1000 Subject: [PATCH] Ensure tiled mesh layers can be added from browser panel --- src/app/qgisapp.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 19f78006c7d6..c11f9ee52402 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -123,6 +123,7 @@ #include "vector/qgsvectorelevationpropertieswidget.h" #include "mesh/qgsmeshelevationpropertieswidget.h" #include "elevation/qgselevationprofilewidget.h" +#include "qgstiledmeshlayer.h" #include "layers/qgsapplayerhandling.h" @@ -2416,26 +2417,27 @@ QList< QgsMapLayer * > QgisApp::handleDropUriList( const QgsMimeDataUtils::UriLi } else if ( u.layerType == QLatin1String( "vector" ) ) { - QgsMapLayer *layer = QgsAppLayerHandling::addVectorLayer( uri, u.name, u.providerKey, addToLegend ); - if ( layer ) + if ( QgsMapLayer *layer = QgsAppLayerHandling::addVectorLayer( uri, u.name, u.providerKey, addToLegend ) ) addedLayers << layer; } else if ( u.layerType == QLatin1String( "raster" ) ) { - QgsMapLayer *layer = QgsAppLayerHandling::addRasterLayer( uri, u.name, u.providerKey, addToLegend ); - if ( layer ) + if ( QgsMapLayer *layer = QgsAppLayerHandling::addRasterLayer( uri, u.name, u.providerKey, addToLegend ) ) addedLayers << layer; } else if ( u.layerType == QLatin1String( "mesh" ) ) { - QgsMapLayer *layer = QgsAppLayerHandling::addMeshLayer( uri, u.name, u.providerKey, addToLegend ); - if ( layer ) + if ( QgsMapLayer *layer = QgsAppLayerHandling::addMeshLayer( uri, u.name, u.providerKey, addToLegend ) ) addedLayers << layer; } else if ( u.layerType == QLatin1String( "pointcloud" ) ) { - QgsMapLayer *layer = QgsAppLayerHandling::addLayer( uri, u.name, u.providerKey, addToLegend ); - if ( layer ) + if ( QgsMapLayer *layer = QgsAppLayerHandling::addLayer( uri, u.name, u.providerKey, addToLegend ) ) + addedLayers << layer; + } + else if ( u.layerType == QLatin1String( "tiled-mesh" ) ) + { + if ( QgsMapLayer *layer = QgsAppLayerHandling::addLayer( uri, u.name, u.providerKey, addToLegend ) ) addedLayers << layer; } else if ( u.layerType == QLatin1String( "vector-tile" ) )