diff --git a/python/gui/auto_generated/qgisinterface.sip.in b/python/gui/auto_generated/qgisinterface.sip.in index cbd7c0bd52d..3d5fd2bf69f 100644 --- a/python/gui/auto_generated/qgisinterface.sip.in +++ b/python/gui/auto_generated/qgisinterface.sip.in @@ -542,7 +542,14 @@ Returns the native draw action. virtual QAction *actionAddXyzLayer() = 0; %Docstring -Returns the native Add XYZ layer action. +Returns the native Add XYZ Layer action. + +.. versionadded:: 3.14 +%End + + virtual QAction *actionAddVectorTileLayer() = 0; +%Docstring +Returns the native Add Vector Tile Layer action. .. versionadded:: 3.14 %End diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index e56a223b4d9..24082eac423 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -2663,6 +2663,7 @@ void QgisApp::createActions() connect( mActionAddOracleLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "oracle" ) ); } ); connect( mActionAddWmsLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "wms" ) ); } ); connect( mActionAddXyzLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "xyz" ) ); } ); + connect( mActionAddVectorTileLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "vectortile" ) ); } ); connect( mActionAddWcsLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "wcs" ) ); } ); connect( mActionAddWfsLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "WFS" ) ); } ); connect( mActionAddAfsLayer, &QAction::triggered, this, [ = ] { dataSourceManager( QStringLiteral( "arcgisfeatureserver" ) ); } ); @@ -3972,6 +3973,7 @@ void QgisApp::setTheme( const QString &themeName ) mActionCustomProjection->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionCustomProjection.svg" ) ) ); mActionAddWmsLayer->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddWmsLayer.svg" ) ) ); mActionAddXyzLayer->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddXyzLayer.svg" ) ) ); + mActionAddVectorTileLayer->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddVectorTileLayer.svg" ) ) ); mActionAddWcsLayer->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddWcsLayer.svg" ) ) ); mActionAddWfsLayer->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddWfsLayer.svg" ) ) ); mActionAddAfsLayer->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddAfsLayer.svg" ) ) ); diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h index 1b963c3b6f8..b975abce044 100644 --- a/src/app/qgisapp.h +++ b/src/app/qgisapp.h @@ -519,6 +519,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow QAction *actionAddSpatiaLiteLayer() { return mActionAddSpatiaLiteLayer; } QAction *actionAddWmsLayer() { return mActionAddWmsLayer; } QAction *actionAddXyzLayer() { return mActionAddXyzLayer; } + QAction *actionAddVectorTileLayer() { return mActionAddVectorTileLayer; } QAction *actionAddWcsLayer() { return mActionAddWcsLayer; } QAction *actionAddWfsLayer() { return mActionAddWfsLayer; } QAction *actionAddAfsLayer() { return mActionAddAfsLayer; } diff --git a/src/app/qgisappinterface.cpp b/src/app/qgisappinterface.cpp index bbeb95f52f1..92750c9906e 100644 --- a/src/app/qgisappinterface.cpp +++ b/src/app/qgisappinterface.cpp @@ -685,6 +685,7 @@ QAction *QgisAppInterface::actionAddRasterLayer() { return qgis->actionAddRaster QAction *QgisAppInterface::actionAddPgLayer() { return qgis->actionAddPgLayer(); } QAction *QgisAppInterface::actionAddWmsLayer() { return qgis->actionAddWmsLayer(); } QAction *QgisAppInterface::actionAddXyzLayer() { return qgis->actionAddXyzLayer(); } +QAction *QgisAppInterface::actionAddVectorTileLayer() { return qgis->actionAddVectorTileLayer(); } QAction *QgisAppInterface::actionAddAfsLayer() { return qgis->actionAddAfsLayer(); } QAction *QgisAppInterface::actionAddAmsLayer() { return qgis->actionAddAmsLayer(); } QAction *QgisAppInterface::actionCopyLayerStyle() { return qgis->actionCopyLayerStyle(); } diff --git a/src/app/qgisappinterface.h b/src/app/qgisappinterface.h index eac237227ad..52ab18f8625 100644 --- a/src/app/qgisappinterface.h +++ b/src/app/qgisappinterface.h @@ -235,6 +235,7 @@ class APP_EXPORT QgisAppInterface : public QgisInterface QAction *actionAddPgLayer() override; QAction *actionAddWmsLayer() override; QAction *actionAddXyzLayer() override; + QAction *actionAddVectorTileLayer() override; QAction *actionAddAfsLayer() override; QAction *actionAddAmsLayer() override; QAction *actionCopyLayerStyle() override; diff --git a/src/gui/qgisinterface.h b/src/gui/qgisinterface.h index 2b305b25bca..06b24ff9309 100644 --- a/src/gui/qgisinterface.h +++ b/src/gui/qgisinterface.h @@ -482,10 +482,16 @@ class GUI_EXPORT QgisInterface : public QObject virtual QAction *actionAddWmsLayer() = 0; /** - * Returns the native Add XYZ layer action. + * Returns the native Add XYZ Layer action. * \since QGIS 3.14 */ virtual QAction *actionAddXyzLayer() = 0; + + /** + * Returns the native Add Vector Tile Layer action. + * \since QGIS 3.14 + */ + virtual QAction *actionAddVectorTileLayer() = 0; //! Returns the native Add ArcGIS FeatureServer action. virtual QAction *actionAddAfsLayer() = 0; //! Returns the native Add ArcGIS MapServer action. diff --git a/src/ui/qgisapp.ui b/src/ui/qgisapp.ui index d4d1aa46487..ae0ce24236f 100644 --- a/src/ui/qgisapp.ui +++ b/src/ui/qgisapp.ui @@ -192,6 +192,7 @@ + @@ -3311,6 +3312,18 @@ Shows placeholders for labels which could not be placed, e.g. due to overlaps wi Add XYZ Layer… + + + + :/images/themes/default/mActionAddVectorTileLayer.svg:/images/themes/default/mActionAddVectorTileLayer.svg + + + Add Vector TIle Layer… + + + Add Vector Tile Layer… + +