Merge pull request #8810 from signedav/vacuum-after-delete

Request for VACUUM after deleting GPKG layer
This commit is contained in:
Matthias Kuhn 2019-01-08 15:14:58 +01:00 committed by GitHub
commit 3732cb7e40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -525,9 +525,23 @@ bool QgsGeoPackageAbstractLayerItem::deleteLayer()
}
else
{
QMessageBox::information( nullptr, tr( "Delete Layer" ), tr( "Layer <b>%1</b> deleted successfully." ).arg( mName ) );
QgsGeoPackageConnectionItem *connectionParentItem = qobject_cast<QgsGeoPackageConnectionItem *>( mParent );
if ( connectionParentItem )
{
if ( QMessageBox::question( nullptr, QObject::tr( "Delete Layer" ), QObject::tr( "The layer <b>%1</b> has been deleted successfully."
" Compact database (VACUUM) <b>%2</b> now?" ).arg( mName, connectionParentItem->name() ), QMessageBox::Yes | QMessageBox::No, QMessageBox::No ) == QMessageBox::Yes )
{
connectionParentItem->vacuumGeoPackageDbAction();
}
}
else
{
QMessageBox::information( nullptr, tr( "Delete Layer" ), tr( "The layer <b>%1</b> has been deleted successfully." ).arg( mName ) );
}
if ( mParent )
mParent->refreshConnections();
}
return true;
}