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