X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/48b58f830a585b773435c9af5ee2fe8f0c7c641d..d6c086ad04:/src/settings/general/confirmationssettingspage.cpp diff --git a/src/settings/general/confirmationssettingspage.cpp b/src/settings/general/confirmationssettingspage.cpp index 728d082d2..1d0eebdd3 100644 --- a/src/settings/general/confirmationssettingspage.cpp +++ b/src/settings/general/confirmationssettingspage.cpp @@ -20,6 +20,7 @@ #include "confirmationssettingspage.h" #include "dolphin_generalsettings.h" +#include "global.h" #include @@ -39,6 +40,11 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) : m_confirmMoveToTrash(nullptr), m_confirmEmptyTrash(nullptr), m_confirmDelete(nullptr), + +#ifdef HAVE_TERMINAL + m_confirmClosingTerminalRunningProgram(nullptr), +#endif + m_confirmClosingMultipleTabs(nullptr) { QVBoxLayout* topLayout = new QVBoxLayout(this); @@ -55,19 +61,30 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) : m_confirmScriptExecution = new QCheckBox(i18nc("@option:check Ask for confirmation when", "Executing scripts or desktop files"), this); - QLabel* confirmLabelDolphin = new QLabel(i18nc("@title:group", "Ask for confirmation when:"), this); + QLabel* confirmLabelDolphin = new QLabel(i18nc("@title:group", "Ask for confirmation in Dolphin when:"), this); confirmLabelDolphin->setWordWrap(true); - m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation when", - "Closing Dolphin windows with multiple tabs"), this); + m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", + "Closing windows with multiple tabs"), this); + +#ifdef HAVE_TERMINAL + 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); topLayout->addWidget(m_confirmDelete); topLayout->addWidget(m_confirmScriptExecution); + topLayout->addSpacing(Dolphin::VERTICAL_SPACER_HEIGHT); topLayout->addWidget(confirmLabelDolphin); topLayout->addWidget(m_confirmClosingMultipleTabs); + +#ifdef HAVE_TERMINAL + topLayout->addWidget(m_confirmClosingTerminalRunningProgram); +#endif + topLayout->addStretch(); loadSettings(); @@ -77,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); + +#ifdef HAVE_TERMINAL + connect(m_confirmClosingTerminalRunningProgram, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); +#endif } ConfirmationsSettingsPage::~ConfirmationsSettingsPage() @@ -90,16 +111,22 @@ void ConfirmationsSettingsPage::applySettings() confirmationGroup.writeEntry("ConfirmTrash", m_confirmMoveToTrash->isChecked()); confirmationGroup.writeEntry("ConfirmEmptyTrash", m_confirmEmptyTrash->isChecked()); confirmationGroup.writeEntry("ConfirmDelete", m_confirmDelete->isChecked()); - confirmationGroup.sync(); + KConfigGroup scriptExecutionGroup(kioConfig, "Executable scripts"); if (m_confirmScriptExecution->isChecked()) { - KConfigGroup scriptExecutionGroup(kioConfig, "Executable scripts"); scriptExecutionGroup.writeEntry("behaviourOnLaunch", "alwaysAsk"); - scriptExecutionGroup.sync(); + } else { + scriptExecutionGroup.writeEntry("behaviourOnLaunch", "dontAsk"); } + kioConfig->sync(); GeneralSettings* settings = GeneralSettings::self(); settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked()); + +#ifdef HAVE_TERMINAL + settings->setConfirmClosingTerminalRunningProgram(m_confirmClosingTerminalRunningProgram->isChecked()); +#endif + settings->save(); } @@ -129,5 +156,9 @@ void ConfirmationsSettingsPage::loadSettings() m_confirmScriptExecution->setChecked(value == QLatin1String("alwaysAsk")); m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs()); + +#ifdef HAVE_TERMINAL + m_confirmClosingTerminalRunningProgram->setChecked(GeneralSettings::confirmClosingTerminalRunningProgram()); +#endif }