Add additional configuration option to toggle display of delete prompt
authorJames Botting <james@bottswanamedia.info>
Sun, 24 Jan 2016 18:45:12 +0000 (18:45 +0000)
committerJames Botting <james@bottswanamedia.info>
Sun, 24 Jan 2016 18:45:12 +0000 (18:45 +0000)
src/gui/generalsettings.cpp
src/gui/generalsettings.ui
src/libsync/configfile.cpp
src/libsync/configfile.h

index a0d85984340f0c869627eda3dbe5abd95a5a8b00..4dc699ca7b86180976d798921e33c54343b422ff 100644 (file)
@@ -62,6 +62,7 @@ GeneralSettings::GeneralSettings(QWidget *parent) :
 
     // misc
     connect(_ui->monoIconsCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
+    connect(_ui->promptDeleteAllFiles, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
     connect(_ui->crashreporterCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
     connect(_ui->newFolderLimitCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
     connect(_ui->newFolderLimitSpinBox, SIGNAL(valueChanged(int)), SLOT(saveMiscSettings()));
@@ -100,6 +101,7 @@ void GeneralSettings::loadMiscSettings()
 {
     ConfigFile cfgFile;
     _ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
+    _ui->promptDeleteAllFiles->setChecked(cfgFile.promptDeleteFiles());
     _ui->desktopNotificationsCheckBox->setChecked(cfgFile.optionalDesktopNotifications());
     _ui->crashreporterCheckBox->setChecked(cfgFile.crashReporter());
     auto newFolderLimit = cfgFile.newBigFolderSizeLimit();
@@ -126,6 +128,8 @@ void GeneralSettings::saveMiscSettings()
     ConfigFile cfgFile;
     bool isChecked = _ui->monoIconsCheckBox->isChecked();
     cfgFile.setMonoIcons(isChecked);
+    bool promptIsChecked = _ui->promptDeleteAllFiles->isChecked();
+    cfgFile.setPromptDeleteFiles(promptIsChecked);
     Theme::instance()->setSystrayUseMonoIcons(isChecked);
     cfgFile.setCrashReporter(_ui->crashreporterCheckBox->isChecked());
 
index 4bc4b995883b62eb0534712265722b50248bc325..ff7b8eaf9361ed7c845e36765da9bfe3ea30529c 100644 (file)
         </property>
        </widget>
       </item>
+      <item row="1" column="1">
+       <widget class="QCheckBox" name="promptDeleteAllFiles">
+        <property name="toolTip">
+         <string>Prompt user when sync will delete all files</string>
+        </property>
+        <property name="text">
+         <string>Confirm when Deleting All Files</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
index 2917be13f4012f9c08b1f8fe2717cfada89268eb..aa85e70badfa5870be668fb2b611d8ed509a5f81 100644 (file)
@@ -43,6 +43,7 @@ namespace OCC {
 static const char remotePollIntervalC[] = "remotePollInterval";
 static const char forceSyncIntervalC[] = "forceSyncInterval";
 static const char monoIconsC[] = "monoIcons";
+static const char promptDeleteC[] = "promptDeleteAllFiles";
 static const char crashReporterC[] = "crashReporter";
 static const char optionalDesktopNoficationsC[] = "optionalDesktopNotifications";
 static const char skipUpdateCheckC[] = "skipUpdateCheck";
@@ -585,6 +586,18 @@ void ConfigFile::setNewBigFolderSizeLimit(bool isChecked, quint64 mbytes)
     setValue(useNewBigFolderSizeLimitC, isChecked);
 }
 
+bool ConfigFile::promptDeleteFiles() const
+{
+    QSettings settings(configFile(), QSettings::IniFormat);
+    return settings.value(QLatin1String(promptDeleteC), true).toBool();
+}
+
+void ConfigFile::setPromptDeleteFiles(bool promptDeleteFiles)
+{
+    QSettings settings(configFile(), QSettings::IniFormat);
+    settings.setValue(QLatin1String(promptDeleteC), promptDeleteFiles);
+}
+
 bool ConfigFile::monoIcons() const
 {
     QSettings settings(configFile(), QSettings::IniFormat);
index bc80f37be2bf8c95f4c3fa33bb1ac6f5c5b12d7a..ccc04cdda9f41fd1aede83706da93015a55319bf 100644 (file)
@@ -69,6 +69,9 @@ public:
     bool monoIcons() const;
     void setMonoIcons(bool);
 
+    bool promptDeleteFiles() const;
+    void setPromptDeleteFiles(bool promptDeleteFiles);
+
     bool crashReporter() const;
     void setCrashReporter(bool enabled);