From 92da3084668cce87cf108e4e39e4e21e9e455590 Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Wed, 9 Aug 2017 22:21:55 +0200 Subject: [PATCH] Delete gpkg connections --- src/providers/ogr/qgsgeopackagedataitems.cpp | 19 +++++++++++-------- src/providers/ogr/qgsgeopackagedataitems.h | 7 ++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/providers/ogr/qgsgeopackagedataitems.cpp b/src/providers/ogr/qgsgeopackagedataitems.cpp index c5671888ad6..a9624892d23 100644 --- a/src/providers/ogr/qgsgeopackagedataitems.cpp +++ b/src/providers/ogr/qgsgeopackagedataitems.cpp @@ -201,11 +201,10 @@ QList QgsGeoPackageConnectionItem::actions() { QList lst; - // TODO: implement layer deletion - //QAction *actionRemoveConnection = new QAction( tr( "Remove connection" ), this ); - // connect( actionDeleteLayer, &QAction::triggered, this, &QgsGeoPackageLayerItem::deleteLayer ); - //lst.append( actionRemoveConnection ); + QAction *actiondeleteConnection = new QAction( tr( "Remove connection" ), this ); + connect( actiondeleteConnection, &QAction::triggered, this, &QgsGeoPackageConnectionItem::deleteConnection ); + lst.append( actiondeleteConnection ); return lst; } #endif @@ -240,15 +239,18 @@ QgsLayerItem::LayerType QgsGeoPackageConnectionItem::layerTypeFromDb( const QStr return QgsLayerItem::LayerType::NoType; } +void QgsGeoPackageConnectionItem::deleteConnection() +{ + QgsGeoPackageConnection::deleteConnection( name() ); + mParent->refreshConnections(); +} + #ifdef HAVE_GUI QList QgsGeoPackageAbstractLayerItem::actions() { QList lst; - QAction *actionDeleteLayer = new QAction( tr( "Delete Layer" ), this ); - // TODO connect( actionDeleteLayer, &QAction::triggered, this, &QgsGeoPackageLayerItem::deleteLayer ); - lst.append( actionDeleteLayer ); - + // TODO: delete layer when the provider supports it (not currently implemented) return lst; } #endif @@ -266,6 +268,7 @@ QgsGeoPackageVectorLayerItem::QgsGeoPackageVectorLayerItem( QgsDataItem *parent, } + QgsGeoPackageRasterLayerItem::QgsGeoPackageRasterLayerItem( QgsDataItem *parent, QString name, QString path, QString uri ) : QgsGeoPackageAbstractLayerItem( parent, name, path, uri, QgsLayerItem::LayerType::Raster, QStringLiteral( "gdal" ) ) { diff --git a/src/providers/ogr/qgsgeopackagedataitems.h b/src/providers/ogr/qgsgeopackagedataitems.h index e8316e9b12f..758f1ab4c0d 100644 --- a/src/providers/ogr/qgsgeopackagedataitems.h +++ b/src/providers/ogr/qgsgeopackagedataitems.h @@ -32,11 +32,6 @@ class QgsGeoPackageAbstractLayerItem : public QgsLayerItem #ifdef HAVE_GUI QList actions() override; #endif - - public slots: -#ifdef HAVE_GUI - void deleteLayer(); -#endif }; @@ -45,6 +40,7 @@ class QgsGeoPackageRasterLayerItem : public QgsGeoPackageAbstractLayerItem Q_OBJECT public: QgsGeoPackageRasterLayerItem( QgsDataItem *parent, QString name, QString path, QString uri ); + }; @@ -53,6 +49,7 @@ class QgsGeoPackageVectorLayerItem : public QgsGeoPackageAbstractLayerItem Q_OBJECT public: QgsGeoPackageVectorLayerItem( QgsDataItem *parent, QString name, QString path, QString uri, LayerType layerType ); + };