소스 검색

Add confirmation message box for Restoring Defaults in ctkSettingsDialog

Julien Finet 13 년 전
부모
커밋
d95281954f
1개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 10 2
      Libs/Widgets/ctkSettingsDialog.cpp

+ 10 - 2
Libs/Widgets/ctkSettingsDialog.cpp

@@ -21,6 +21,7 @@
 // Qt includes
 #include <QDebug>
 #include <QMap>
+#include <QMessageBox>
 #include <QPushButton>
 #include <QSettings>
 
@@ -78,7 +79,7 @@ void ctkSettingsDialogPrivate::init()
   this->SettingsButtonBox->button(QDialogButtonBox::RestoreDefaults)->setToolTip(
     q->tr("Restore settings to their default values."
     "To cancel a \"Restore\", you can \"Reset\" the settings."));
-  this->setResetButton(false);
+  q->setResetButton(false);
 
   q->setSettings(new QSettings(q));
 
@@ -308,7 +309,14 @@ void ctkSettingsDialog::onDialogButtonClicked(QAbstractButton* button)
       this->resetSettings();
       break;
     case QDialogButtonBox::RestoreDefaults:
-      this->restoreDefaultSettings();
+      if (QMessageBox::warning(this,"Restore all settings",
+            "Are you sure you want to reset\n"
+            "all settings to their default values?\n",
+            QMessageBox::RestoreDefaults, QMessageBox::Cancel)
+          == QMessageBox::RestoreDefaults)
+        {
+        this->restoreDefaultSettings();
+        }
       break;
     default:
       break;