┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2025-08-21 12:46:12 +0200
committerKai Uwe Broulik <[email protected]>2025-08-26 17:51:56 +0000
commitb498e2e43c00d718474d973fb98e6c7d94e32d0a (patch)
tree2abb4ddd2b1a85c1259bad1a6cef5516012ffd53 /src/settings
parent2577a6c1cbf35e305ed03797d1297cb21899c7f5 (diff)
Warn when renaming a file would change its file type
While the file's content won't change, applications may no longer recognize it.
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/dolphin_generalsettings.kcfg4
-rw-r--r--src/settings/interface/confirmationssettingspage.cpp7
-rw-r--r--src/settings/interface/confirmationssettingspage.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/src/settings/dolphin_generalsettings.kcfg b/src/settings/dolphin_generalsettings.kcfg
index 2252eed28..498a70ecf 100644
--- a/src/settings/dolphin_generalsettings.kcfg
+++ b/src/settings/dolphin_generalsettings.kcfg
@@ -167,5 +167,9 @@
<label>Ask for confirmation when opening many terminals at once.</label>
<default>true</default>
</entry>
+ <entry name="ConfirmRenameFileType" type="Bool">
+ <label>Ask for confirmation when remaing a file changes its type.</label>
+ <default>true</default>
+ </entry>
</group>
</kcfg>
diff --git a/src/settings/interface/confirmationssettingspage.cpp b/src/settings/interface/confirmationssettingspage.cpp
index ea8ef6dfd..7f541de6d 100644
--- a/src/settings/interface/confirmationssettingspage.cpp
+++ b/src/settings/interface/confirmationssettingspage.cpp
@@ -27,6 +27,7 @@ const bool ConfirmEmptyTrash = true;
const bool ConfirmTrash = false;
const bool ConfirmDelete = true;
const int ConfirmScriptExecution = ScriptExecution::AlwaysAsk;
+const bool ConfirmRenameFileType = true;
}
ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
@@ -65,6 +66,7 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
m_confirmOpenManyFolders = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", "Opening many folders at once"), this);
m_confirmOpenManyTerminals = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", "Opening many terminals at once"), this);
m_confirmRisksOfActingAsAdmin = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", "Switching to act as an administrator"), this);
+ m_confirmRenameFileType = new QCheckBox(i18nc("@option:check Ask for confirmation in Dolphin when", "Renaming a file will change its type"), this);
QLabel *executableScriptLabel = new QLabel(i18nc("@title:group", "When opening an executable file:"), this);
executableScriptLabel->setWordWrap(true);
@@ -92,6 +94,7 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
} else {
m_confirmRisksOfActingAsAdmin->hide();
}
+ topLayout->addRow(nullptr, m_confirmRenameFileType);
topLayout->addItem(new QSpacerItem(0, Dolphin::VERTICAL_SPACER_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed));
topLayout->addRow(executableScriptLabel, m_confirmScriptExecution);
@@ -106,6 +109,7 @@ ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget *parent)
connect(m_confirmOpenManyFolders, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
connect(m_confirmOpenManyTerminals, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
connect(m_confirmRisksOfActingAsAdmin, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
+ connect(m_confirmRenameFileType, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
#if HAVE_TERMINAL
connect(m_confirmClosingTerminalRunningProgram, &QCheckBox::toggled, this, &ConfirmationsSettingsPage::changed);
@@ -148,6 +152,7 @@ void ConfirmationsSettingsPage::applySettings()
} else {
KMessageBox::saveDontShowAgainContinue(Admin::warningDontShowAgainName);
}
+ settings->setConfirmRenameFileType(m_confirmRenameFileType->isChecked());
#if HAVE_TERMINAL
settings->setConfirmClosingTerminalRunningProgram(m_confirmClosingTerminalRunningProgram->isChecked());
@@ -168,6 +173,7 @@ void ConfirmationsSettingsPage::restoreDefaults()
m_confirmDelete->setChecked(ConfirmDelete);
m_confirmScriptExecution->setCurrentIndex(ConfirmScriptExecution);
KMessageBox::enableMessage(Admin::warningDontShowAgainName);
+ m_confirmRenameFileType->setChecked(ConfirmRenameFileType);
}
void ConfirmationsSettingsPage::loadSettings()
@@ -196,6 +202,7 @@ void ConfirmationsSettingsPage::loadSettings()
m_confirmOpenManyFolders->setChecked(GeneralSettings::confirmOpenManyFolders());
m_confirmOpenManyTerminals->setChecked(GeneralSettings::confirmOpenManyTerminals());
m_confirmRisksOfActingAsAdmin->setChecked(KMessageBox::shouldBeShownContinue(Admin::warningDontShowAgainName));
+ m_confirmRenameFileType->setChecked(GeneralSettings::confirmRenameFileType());
#if HAVE_TERMINAL
m_confirmClosingTerminalRunningProgram->setChecked(GeneralSettings::confirmClosingTerminalRunningProgram());
diff --git a/src/settings/interface/confirmationssettingspage.h b/src/settings/interface/confirmationssettingspage.h
index ff9aca20e..353a49ee5 100644
--- a/src/settings/interface/confirmationssettingspage.h
+++ b/src/settings/interface/confirmationssettingspage.h
@@ -46,6 +46,7 @@ private:
QCheckBox *m_confirmOpenManyFolders;
QCheckBox *m_confirmOpenManyTerminals;
QCheckBox *m_confirmRisksOfActingAsAdmin;
+ QCheckBox *m_confirmRenameFileType = nullptr;
};
#endif