Changeset View
Changeset View
Standalone View
Standalone View
src/settings/general/confirmationssettingspage.cpp
Show All 31 Lines | 30 | namespace { | |||
---|---|---|---|---|---|
32 | const bool ConfirmDelete = true; | 32 | const bool ConfirmDelete = true; | ||
33 | const bool ConfirmScriptExecution = true; | 33 | const bool ConfirmScriptExecution = true; | ||
34 | } | 34 | } | ||
35 | 35 | | |||
36 | ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) : | 36 | ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) : | ||
37 | SettingsPageBase(parent), | 37 | SettingsPageBase(parent), | ||
38 | m_confirmMoveToTrash(nullptr), | 38 | m_confirmMoveToTrash(nullptr), | ||
39 | m_confirmDelete(nullptr), | 39 | m_confirmDelete(nullptr), | ||
40 | m_confirmClosingMultipleTabs(nullptr) | 40 | m_confirmClosingMultipleTabs(nullptr), | ||
41 | m_confirmClosingTerminalRunningProgram(nullptr) | ||||
41 | { | 42 | { | ||
42 | QVBoxLayout* topLayout = new QVBoxLayout(this); | 43 | QVBoxLayout* topLayout = new QVBoxLayout(this); | ||
43 | 44 | | |||
44 | QLabel* confirmLabelKde = new QLabel(i18nc("@title:group", "Ask for confirmation in all KDE applications when:"), this); | 45 | QLabel* confirmLabelKde = new QLabel(i18nc("@title:group", "Ask for confirmation in all KDE applications when:"), this); | ||
45 | confirmLabelKde->setWordWrap(true); | 46 | confirmLabelKde->setWordWrap(true); | ||
46 | 47 | | |||
47 | m_confirmMoveToTrash = new QCheckBox(i18nc("@option:check Ask for confirmation when", | 48 | m_confirmMoveToTrash = new QCheckBox(i18nc("@option:check Ask for confirmation when", | ||
48 | "Moving files or folders to trash"), this); | 49 | "Moving files or folders to trash"), this); | ||
49 | m_confirmDelete = new QCheckBox(i18nc("@option:check Ask for confirmation when", | 50 | m_confirmDelete = new QCheckBox(i18nc("@option:check Ask for confirmation when", | ||
50 | "Deleting files or folders"), this); | 51 | "Deleting files or folders"), this); | ||
51 | m_confirmScriptExecution = new QCheckBox(i18nc("@option:check Ask for confirmation when", | 52 | m_confirmScriptExecution = new QCheckBox(i18nc("@option:check Ask for confirmation when", | ||
52 | "Executing scripts or desktop files"), this); | 53 | "Executing scripts or desktop files"), this); | ||
53 | 54 | | |||
54 | QLabel* confirmLabelDolphin = new QLabel(i18nc("@title:group", "Ask for confirmation when:"), this); | 55 | QLabel* confirmLabelDolphin = new QLabel(i18nc("@title:group", "Ask for confirmation when:"), this); | ||
55 | confirmLabelDolphin->setWordWrap(true); | 56 | confirmLabelDolphin->setWordWrap(true); | ||
56 | 57 | | |||
57 | m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation when", | 58 | m_confirmClosingMultipleTabs = new QCheckBox(i18nc("@option:check Ask for confirmation when", | ||
58 | "Closing Dolphin windows with multiple tabs"), this); | 59 | "Closing Dolphin windows with multiple tabs"), this); | ||
60 | m_confirmClosingTerminalRunningProgram = new QCheckBox(i18nc("@option:check Ask for confirmation when", | ||||
elvisangelaccio: I see a problem with this setting/checkbox: it will be visible also on Windows, even though the… | |||||
61 | "Closing Dolphin windows with a program that is still running in the Terminal panel."), this); | ||||
Alternative which is one word shorter: "Closing Dolphin windows while a program is still running in the Terminal panel." elvisangelaccio: Alternative which is one word shorter: "Closing Dolphin windows while a program is still… | |||||
62 | | ||||
59 | 63 | | |||
60 | topLayout->addWidget(confirmLabelKde); | 64 | topLayout->addWidget(confirmLabelKde); | ||
61 | topLayout->addWidget(m_confirmMoveToTrash); | 65 | topLayout->addWidget(m_confirmMoveToTrash); | ||
62 | topLayout->addWidget(m_confirmDelete); | 66 | topLayout->addWidget(m_confirmDelete); | ||
63 | topLayout->addWidget(m_confirmScriptExecution); | 67 | topLayout->addWidget(m_confirmScriptExecution); | ||
64 | topLayout->addWidget(confirmLabelDolphin); | 68 | topLayout->addWidget(confirmLabelDolphin); | ||
65 | topLayout->addWidget(m_confirmClosingMultipleTabs); | 69 | topLayout->addWidget(m_confirmClosingMultipleTabs); | ||
70 | topLayout->addWidget(m_confirmClosingTerminalRunningProgram); | ||||
66 | topLayout->addStretch(); | 71 | topLayout->addStretch(); | ||
67 | 72 | | |||
68 | loadSettings(); | 73 | loadSettings(); | ||
69 | 74 | | |||
70 | connect(m_confirmMoveToTrash, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | 75 | connect(m_confirmMoveToTrash, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | ||
71 | connect(m_confirmDelete, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | 76 | connect(m_confirmDelete, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | ||
72 | connect(m_confirmScriptExecution, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | 77 | connect(m_confirmScriptExecution, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | ||
73 | connect(m_confirmClosingMultipleTabs, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | 78 | connect(m_confirmClosingMultipleTabs, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | ||
79 | connect(m_confirmClosingTerminalRunningProgram, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed); | ||||
74 | } | 80 | } | ||
75 | 81 | | |||
76 | ConfirmationsSettingsPage::~ConfirmationsSettingsPage() | 82 | ConfirmationsSettingsPage::~ConfirmationsSettingsPage() | ||
77 | { | 83 | { | ||
78 | } | 84 | } | ||
79 | 85 | | |||
80 | void ConfirmationsSettingsPage::applySettings() | 86 | void ConfirmationsSettingsPage::applySettings() | ||
81 | { | 87 | { | ||
82 | KSharedConfig::Ptr kioConfig = KSharedConfig::openConfig(QStringLiteral("kiorc"), KConfig::NoGlobals); | 88 | KSharedConfig::Ptr kioConfig = KSharedConfig::openConfig(QStringLiteral("kiorc"), KConfig::NoGlobals); | ||
83 | KConfigGroup confirmationGroup(kioConfig, "Confirmations"); | 89 | KConfigGroup confirmationGroup(kioConfig, "Confirmations"); | ||
84 | confirmationGroup.writeEntry("ConfirmTrash", m_confirmMoveToTrash->isChecked()); | 90 | confirmationGroup.writeEntry("ConfirmTrash", m_confirmMoveToTrash->isChecked()); | ||
85 | confirmationGroup.writeEntry("ConfirmDelete", m_confirmDelete->isChecked()); | 91 | confirmationGroup.writeEntry("ConfirmDelete", m_confirmDelete->isChecked()); | ||
86 | confirmationGroup.sync(); | 92 | confirmationGroup.sync(); | ||
87 | 93 | | |||
88 | if (m_confirmScriptExecution->isChecked()) { | 94 | if (m_confirmScriptExecution->isChecked()) { | ||
89 | KConfigGroup scriptExecutionGroup(kioConfig, "Executable scripts"); | 95 | KConfigGroup scriptExecutionGroup(kioConfig, "Executable scripts"); | ||
90 | scriptExecutionGroup.writeEntry("behaviourOnLaunch", "alwaysAsk"); | 96 | scriptExecutionGroup.writeEntry("behaviourOnLaunch", "alwaysAsk"); | ||
91 | scriptExecutionGroup.sync(); | 97 | scriptExecutionGroup.sync(); | ||
92 | } | 98 | } | ||
93 | 99 | | |||
94 | GeneralSettings* settings = GeneralSettings::self(); | 100 | GeneralSettings* settings = GeneralSettings::self(); | ||
95 | settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked()); | 101 | settings->setConfirmClosingMultipleTabs(m_confirmClosingMultipleTabs->isChecked()); | ||
102 | settings->setConfirmClosingTerminalRunningProgram(m_confirmClosingTerminalRunningProgram->isChecked()); | ||||
96 | settings->save(); | 103 | settings->save(); | ||
97 | } | 104 | } | ||
98 | 105 | | |||
99 | void ConfirmationsSettingsPage::restoreDefaults() | 106 | void ConfirmationsSettingsPage::restoreDefaults() | ||
100 | { | 107 | { | ||
101 | GeneralSettings* settings = GeneralSettings::self(); | 108 | GeneralSettings* settings = GeneralSettings::self(); | ||
102 | settings->useDefaults(true); | 109 | settings->useDefaults(true); | ||
103 | loadSettings(); | 110 | loadSettings(); | ||
Show All 11 Lines | 119 | { | |||
115 | m_confirmMoveToTrash->setChecked(confirmationGroup.readEntry("ConfirmTrash", ConfirmTrash)); | 122 | m_confirmMoveToTrash->setChecked(confirmationGroup.readEntry("ConfirmTrash", ConfirmTrash)); | ||
116 | m_confirmDelete->setChecked(confirmationGroup.readEntry("ConfirmDelete", ConfirmDelete)); | 123 | m_confirmDelete->setChecked(confirmationGroup.readEntry("ConfirmDelete", ConfirmDelete)); | ||
117 | 124 | | |||
118 | const KConfigGroup scriptExecutionGroup(KSharedConfig::openConfig(QStringLiteral("kiorc")), "Executable scripts"); | 125 | const KConfigGroup scriptExecutionGroup(KSharedConfig::openConfig(QStringLiteral("kiorc")), "Executable scripts"); | ||
119 | const QString value = scriptExecutionGroup.readEntry("behaviourOnLaunch", "alwaysAsk"); | 126 | const QString value = scriptExecutionGroup.readEntry("behaviourOnLaunch", "alwaysAsk"); | ||
120 | m_confirmScriptExecution->setChecked(value == QLatin1String("alwaysAsk")); | 127 | m_confirmScriptExecution->setChecked(value == QLatin1String("alwaysAsk")); | ||
121 | 128 | | |||
122 | m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs()); | 129 | m_confirmClosingMultipleTabs->setChecked(GeneralSettings::confirmClosingMultipleTabs()); | ||
130 | m_confirmClosingTerminalRunningProgram->setChecked(GeneralSettings::confirmClosingTerminalRunningProgram()); | ||||
123 | } | 131 | } | ||
124 | 132 | |
I see a problem with this setting/checkbox: it will be visible also on Windows, even though the terminal panel is not available there.