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