diff options
| author | Nate Graham <[email protected]> | 2019-01-19 08:11:26 -0700 |
|---|---|---|
| committer | Nate Graham <[email protected]> | 2019-01-19 08:15:11 -0700 |
| commit | 2100a7a5c85931d46b72d391faa3d136d4401010 (patch) | |
| tree | 2ca5faa610a36fd431f9db20879eb2072e36ad84 /src/settings | |
| parent | 784734ca16803f5109e6268d1afc6c4f33d41def (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.kcfg | 4 | ||||
| -rw-r--r-- | src/settings/general/confirmationssettingspage.cpp | 28 | ||||
| -rw-r--r-- | src/settings/general/confirmationssettingspage.h | 5 |
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; }; |
