Skip to content

Commit e9f808a

Browse files
committedFeb 25, 2014
make confirmation on layer deletion optional (fixes #9094)
1 parent af17dbf commit e9f808a

File tree

4 files changed

+21
-10
lines changed

4 files changed

+21
-10
lines changed
 

‎src/app/qgisapp.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6394,7 +6394,7 @@ void QgisApp::removeAllLayers()
63946394
QgsMapLayerRegistry::instance()->removeAllMapLayers();
63956395
}
63966396

6397-
void QgisApp::removeLayer( bool promptConfirmation )
6397+
void QgisApp::removeLayer()
63986398
{
63996399
if ( !mMapLegend )
64006400
{
@@ -6412,20 +6412,22 @@ void QgisApp::removeLayer( bool promptConfirmation )
64126412
int numberOfRemovedItems = mMapLegend->selectedItems().size();
64136413
if ( numberOfRemovedItems == 0 )
64146414
{
6415-
messageBar()->pushMessage( tr( "No Object Selected" ),
6416-
tr( "To remove objects, you must select them in the legend" ),
6415+
messageBar()->pushMessage( tr( "No layers selected" ),
6416+
tr( "To remove layers, you must select them in the legend" ),
64176417
QgsMessageBar::INFO, messageTimeout() );
64186418
return;
64196419
}
6420+
6421+
bool promptConfirmation = QSettings().value( "qgis/askToDeleteLayers", true ).toBool();
64206422
//display a warning
6421-
if ( promptConfirmation && QMessageBox::warning( this, tr( "Remove objects" ), tr( "Remove %n object(s)?", "number of objects to remove", numberOfRemovedItems ), QMessageBox::Ok | QMessageBox::Cancel ) == QMessageBox::Cancel )
6423+
if ( promptConfirmation && QMessageBox::warning( this, tr( "Remove layers" ), tr( "Remove %n layers(s)?", "number of layers to remove", numberOfRemovedItems ), QMessageBox::Ok | QMessageBox::Cancel ) == QMessageBox::Cancel )
64226424
{
64236425
return;
64246426
}
64256427

64266428
mMapLegend->removeSelectedLayers();
64276429

6428-
showStatusMessage( tr( "%n object(s) removed.", "number of objects removed", numberOfRemovedItems ) );
6430+
showStatusMessage( tr( "%n layers(s) removed.", "number of layers to removed", numberOfRemovedItems ) );
Code has comments. Press enter to view.
64296431

64306432
mMapCanvas->refresh();
64316433
}

‎src/app/qgisapp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
689689
//! Slot to handle user center input;
690690
void userCenter();
691691
//! Remove a layer from the map and legend
692-
void removeLayer( bool promptConfirmation = true );
692+
void removeLayer();
693693
/** Duplicate map layer(s) in legend
694694
* @note added in 1.9 */
695695
void duplicateLayers( const QList<QgsMapLayer *> lyrList = QList<QgsMapLayer *>() );

‎src/app/qgsoptions.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
635635
mProjectOnLaunchPushBtn->setEnabled( projOpen == 2 );
636636

637637
chbAskToSaveProjectChanges->setChecked( settings.value( "qgis/askToSaveProjectChanges", QVariant( true ) ).toBool() );
638+
mLayerDeleteConfirmationChkBx->setChecked( settings.value( "qgis/askToDeleteLayers", true ).toBool() );
638639
chbWarnOldProjectVersion->setChecked( settings.value( "/qgis/warnOldProjectVersion", QVariant( true ) ).toBool() );
639640
cmbEnableMacros->setCurrentIndex( settings.value( "/qgis/enableMacros", 1 ).toInt() );
640641

@@ -1086,6 +1087,7 @@ void QgsOptions::saveOptions()
10861087
settings.setValue( "/qgis/projOpenAtLaunchPath", mProjectOnLaunchLineEdit->text() );
10871088

10881089
settings.setValue( "/qgis/askToSaveProjectChanges", chbAskToSaveProjectChanges->isChecked() );
1090+
settings.setValue( "qgis/askToDeleteLayers", mLayerDeleteConfirmationChkBx->isChecked() );
10891091
settings.setValue( "/qgis/warnOldProjectVersion", chbWarnOldProjectVersion->isChecked() );
10901092
if (( settings.value( "/qgis/projectTemplateDir" ).toString() != leTemplateFolder->text() ) ||
10911093
( settings.value( "/qgis/newProjectDefault" ).toBool() != cbxProjectDefaultNew->isChecked() ) )

‎src/ui/qgsoptionsbase.ui

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,13 @@
823823
</property>
824824
</widget>
825825
</item>
826+
<item>
827+
<widget class="QCheckBox" name="mLayerDeleteConfirmationChkBx">
828+
<property name="text">
829+
<string>Prompt for confirmation when a layer is to be removed</string>
830+
</property>
831+
</widget>
832+
</item>
826833
<item>
827834
<widget class="QCheckBox" name="chbWarnOldProjectVersion">
828835
<property name="text">
@@ -1618,7 +1625,7 @@
16181625
</widget>
16191626
</item>
16201627
<item>
1621-
<spacer name="horizontalSpacer_38">
1628+
<spacer name="horizontalSpacer_41">
16221629
<property name="orientation">
16231630
<enum>Qt::Horizontal</enum>
16241631
</property>
@@ -1656,7 +1663,7 @@
16561663
</widget>
16571664
</item>
16581665
<item row="1" column="1">
1659-
<widget class="QLabel" name="label_56">
1666+
<widget class="QLabel" name="label_65">
16601667
<property name="text">
16611668
<string>Simplification threshold (higher values result in more simplification): </string>
16621669
</property>
@@ -2896,7 +2903,7 @@
28962903
</layout>
28972904
</widget>
28982905
<widget class="QWidget" name="mOptionsPageComposer">
2899-
<layout class="QVBoxLayout" name="verticalLayout_9">
2906+
<layout class="QVBoxLayout" name="verticalLayout_36">
29002907
<property name="margin">
29012908
<number>0</number>
29022909
</property>
@@ -2928,7 +2935,7 @@
29282935
</property>
29292936
<layout class="QGridLayout" name="gridLayout_8">
29302937
<item row="1" column="0">
2931-
<layout class="QHBoxLayout" name="horizontalLayout_4">
2938+
<layout class="QHBoxLayout" name="horizontalLayout_39">
29322939
<item>
29332940
<widget class="QLabel" name="label_60">
29342941
<property name="text">

0 commit comments

Comments
 (0)
Please sign in to comment.