]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/interface/confirmationssettingspage.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / settings / interface / confirmationssettingspage.cpp
index 61c3a14b6a17f919dcaf7e6fb68ee71e2eb8ad21..c43ff0474cc7941b7d6f46868b0b8f67a9fb0d4c 100644 (file)
@@ -60,9 +60,12 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
         new QCheckBox(i18nc("@option:check Ask for confirmation when", "Closing windows with a program running in the Terminal panel"), this);
 #endif
 
+    m_confirmOpenManyFolders = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", "Opening many folders at once"), this);
+    m_confirmOpenManyTerminals = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", "Opening many terminals at once"), this);
+
     QHBoxLayout *executableScriptLayout = new QHBoxLayout();
     QLabel *executableScriptLabel = new QLabel(i18nc("@title:group", "When opening an executable file:"), this);
-    confirmLabelKde->setWordWrap(true);
+    executableScriptLabel->setWordWrap(true);
     executableScriptLayout->addWidget(executableScriptLabel);
 
     m_confirmScriptExecution = new QComboBox(this);
@@ -81,6 +84,9 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
     topLayout->addWidget(m_confirmClosingTerminalRunningProgram);
 #endif
 
+    topLayout->addWidget(m_confirmOpenManyFolders);
+    topLayout->addWidget(m_confirmOpenManyTerminals);
+
     topLayout->addSpacing(Dolphin::VERTICAL_SPACER_HEIGHT);
     topLayout->addLayout(executableScriptLayout);
 
@@ -93,6 +99,8 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
     connect(m_confirmDelete, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
     connect(m_confirmScriptExecution, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &ConfirmationsSettingsPage::changed);
     connect(m_confirmClosingMultipleTabs, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+    connect(m_confirmOpenManyFolders, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+    connect(m_confirmOpenManyTerminals, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
 
 #if HAVE_TERMINAL
     connect(m_confirmClosingTerminalRunningProgram, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
@@ -106,12 +114,12 @@ ConfirmationsSettingsPage::~ConfirmationsSettingsPage()
 void ConfirmationsSettingsPage::applySettings()
 {
     KSharedConfig::Ptr kioConfig = KSharedConfig::openConfig(QStringLiteral("kiorc"), KConfig::NoGlobals);
-    KConfigGroup confirmationGroup(kioConfig, "Confirmations");
+    KConfigGroup confirmationGroup(kioConfig, QStringLiteral("Confirmations"));
     confirmationGroup.writeEntry("ConfirmTrash", m_confirmMoveToTrash->isChecked());
     confirmationGroup.writeEntry("ConfirmEmptyTrash", m_confirmEmptyTrash->isChecked());
     confirmationGroup.writeEntry("ConfirmDelete", m_confirmDelete->isChecked());
 
-    KConfigGroup scriptExecutionGroup(kioConfig, "Executable scripts");
+    KConfigGroup scriptExecutionGroup(kioConfig, QStringLiteral("Executable scripts"));
     const int index = m_confirmScriptExecution->currentIndex();
     switch (index) {
     case ScriptExecution::AlwaysAsk:
@@ -128,6 +136,8 @@ void ConfirmationsSettingsPage::applySettings()
 
     GeneralSettings *settings = GeneralSettings::self();
     settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked());
+    settings->setConfirmOpenManyFolders(m_confirmOpenManyFolders->isChecked());
+    settings->setConfirmOpenManyTerminals(m_confirmOpenManyTerminals->isChecked());
 
 #if HAVE_TERMINAL
     settings->setConfirmClosingTerminalRunningProgram(m_confirmClosingTerminalRunningProgram->isChecked());
@@ -152,12 +162,12 @@ void ConfirmationsSettingsPage::restoreDefaults()
 void ConfirmationsSettingsPage::loadSettings()
 {
     KSharedConfig::Ptr kioConfig = KSharedConfig::openConfig(QStringLiteral("kiorc"), KConfig::IncludeGlobals);
-    const KConfigGroup confirmationGroup(kioConfig, "Confirmations");
+    const KConfigGroup confirmationGroup(kioConfig, QStringLiteral("Confirmations"));
     m_confirmMoveToTrash->setChecked(confirmationGroup.readEntry("ConfirmTrash", ConfirmTrash));
     m_confirmEmptyTrash->setChecked(confirmationGroup.readEntry("ConfirmEmptyTrash", ConfirmEmptyTrash));
     m_confirmDelete->setChecked(confirmationGroup.readEntry("ConfirmDelete", ConfirmDelete));
 
-    const KConfigGroup scriptExecutionGroup(KSharedConfig::openConfig(QStringLiteral("kiorc")), "Executable scripts");
+    const KConfigGroup scriptExecutionGroup(KSharedConfig::openConfig(QStringLiteral("kiorc")), QStringLiteral("Executable scripts"));
     const QString value = scriptExecutionGroup.readEntry("behaviourOnLaunch", "alwaysAsk");
     if (value == QLatin1String("alwaysAsk")) {
         m_confirmScriptExecution->setCurrentIndex(ScriptExecution::AlwaysAsk);
@@ -169,6 +179,12 @@ void ConfirmationsSettingsPage::loadSettings()
 
     m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs());
 
+    // KMessageBox for its dontshowAgain settings are true => Yes, false => No, No value => ask
+    // we use default = false to not write false into the rc file, but have no value
+    // the UI has inversed meaning compared to the interpretation
+    m_confirmOpenManyFolders->setChecked(GeneralSettings::confirmOpenManyFolders());
+    m_confirmOpenManyTerminals->setChecked(GeneralSettings::confirmOpenManyTerminals());
+
 #if HAVE_TERMINAL
     m_confirmClosingTerminalRunningProgram->setChecked(GeneralSettings::confirmClosingTerminalRunningProgram());
 #endif