┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
authorNate Graham <[email protected]>2019-01-19 08:11:26 -0700
committerNate Graham <[email protected]>2019-01-19 08:15:11 -0700
commit2100a7a5c85931d46b72d391faa3d136d4401010 (patch)
tree2ca5faa610a36fd431f9db20879eb2072e36ad84 /src/settings
parent784734ca16803f5109e6268d1afc6c4f33d41def (diff)
Ask for confirmation when Closing Dolphin windows with a terminal panel running a program
Summary: Ask for confirmation when Closing Dolphin windows with a terminal panel running a program. FEATURE: 304816 FIXED-IN: 19.04.0 Test Plan: # Open terminal panel # Run `watch ls` # Close Dolphin # Observe confirmation # Disable confirmation # Repeat, observe no confirmation # Enable confirmation in the settings # Repeat, observe a confirmation Reviewers: #dolphin, markg, elvisangelaccio, rominf Reviewed By: #dolphin, elvisangelaccio Subscribers: kfm-devel, elvisangelaccio, markg, ngraham, rkflx, broulik, #dolphin Tags: #dolphin Differential Revision: https://phabricator.kde.org/D10960
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/dolphin_generalsettings.kcfg4
-rw-r--r--src/settings/general/confirmationssettingspage.cpp28
-rw-r--r--src/settings/general/confirmationssettingspage.h5
3 files changed, 37 insertions, 0 deletions
diff --git a/src/settings/dolphin_generalsettings.kcfg b/src/settings/dolphin_generalsettings.kcfg
index 5878abcbe..b06b3a1f3 100644
--- a/src/settings/dolphin_generalsettings.kcfg
+++ b/src/settings/dolphin_generalsettings.kcfg
@@ -58,6 +58,10 @@
<label>Ask for confirmation when closing windows with multiple tabs.</label>
<default>true</default>
</entry>
+ <entry name="ConfirmClosingTerminalRunningProgram" type="Bool">
+ <label>Ask for confirmation when closing windows with a program that is still running in the Terminal panel.</label>
+ <default>true</default>
+ </entry>
<entry name="RenameInline" type="Bool">
<label>Rename inline</label>
<default>true</default>
diff --git a/src/settings/general/confirmationssettingspage.cpp b/src/settings/general/confirmationssettingspage.cpp
index b881b7a52..27e4ab662 100644
--- a/src/settings/general/confirmationssettingspage.cpp
+++ b/src/settings/general/confirmationssettingspage.cpp
@@ -40,6 +40,11 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
m_confirmMoveToTrash(nullptr),
m_confirmEmptyTrash(nullptr),
m_confirmDelete(nullptr),
+
+ #ifndef Q_OS_WIN
+ m_confirmClosingTerminalRunningProgram(nullptr),
+ #endif
+
m_confirmClosingMultipleTabs(nullptr)
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
@@ -62,6 +67,11 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when",
"Closing windows with multiple tabs"), this);
+ #ifndef Q_OS_WIN
+ m_confirmClosingTerminalRunningProgram = new QCheckBox(i18nc("@option:check Ask for confirmation when",
+ "Closing windows with a program running in the Terminal panel"), this);
+ #endif
+
topLayout->addWidget(confirmLabelKde);
topLayout->addWidget(m_confirmMoveToTrash);
topLayout->addWidget(m_confirmEmptyTrash);
@@ -70,6 +80,11 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
topLayout->addSpacing(Dolphin::VERTICAL_SPACER_HEIGHT);
topLayout->addWidget(confirmLabelDolphin);
topLayout->addWidget(m_confirmClosingMultipleTabs);
+
+ #ifndef Q_OS_WIN
+ topLayout->addWidget(m_confirmClosingTerminalRunningProgram);
+ #endif
+
topLayout->addStretch();
loadSettings();
@@ -79,6 +94,10 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
connect(m_confirmDelete, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
connect(m_confirmScriptExecution, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
connect(m_confirmClosingMultipleTabs, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+
+ #ifndef Q_OS_WIN
+ connect(m_confirmClosingTerminalRunningProgram, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+ #endif
}
ConfirmationsSettingsPage::~ConfirmationsSettingsPage()
@@ -103,6 +122,11 @@ void ConfirmationsSettingsPage::applySettings()
GeneralSettings* settings = GeneralSettings::self();
settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked());
+
+ #ifndef Q_OS_WIN
+ settings->setConfirmClosingTerminalRunningProgram(m_confirmClosingTerminalRunningProgram->isChecked());
+ #endif
+
settings->save();
}
@@ -132,5 +156,9 @@ void ConfirmationsSettingsPage::loadSettings()
m_confirmScriptExecution->setChecked(value == QLatin1String("alwaysAsk"));
m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs());
+
+ #ifndef Q_OS_WIN
+ m_confirmClosingTerminalRunningProgram->setChecked(GeneralSettings::confirmClosingTerminalRunningProgram());
+ #endif
}
diff --git a/src/settings/general/confirmationssettingspage.h b/src/settings/general/confirmationssettingspage.h
index 4cdb32b20..a96af554d 100644
--- a/src/settings/general/confirmationssettingspage.h
+++ b/src/settings/general/confirmationssettingspage.h
@@ -47,6 +47,11 @@ private:
QCheckBox* m_confirmMoveToTrash;
QCheckBox* m_confirmEmptyTrash;
QCheckBox* m_confirmDelete;
+
+ #ifndef Q_OS_WIN
+ QCheckBox* m_confirmClosingTerminalRunningProgram;
+ #endif
+
QCheckBox* m_confirmClosingMultipleTabs;
QCheckBox* m_confirmScriptExecution;
};