diff options
| author | Conway <[email protected]> | 2026-05-01 10:25:05 -0400 |
|---|---|---|
| committer | Conway <[email protected]> | 2026-05-01 10:25:05 -0400 |
| commit | 41d6039c918b6158d833fecbeffd218d9eb102fc (patch) | |
| tree | 84e6970cfbac7736ef3be36a6c84b6d1ae8e6402 /src/settings | |
| parent | 4139e59154bde18667dc27155afb922cda4c28c4 (diff) | |
Adds options for pixel scaling and filename extensions
Diffstat (limited to 'src/settings')
| -rw-r--r-- | src/settings/dolphin_contentdisplaysettings.kcfg | 4 | ||||
| -rw-r--r-- | src/settings/dolphin_iconsmodesettings.kcfg | 4 | ||||
| -rw-r--r-- | src/settings/viewmodes/contentdisplaytab.cpp | 8 | ||||
| -rw-r--r-- | src/settings/viewmodes/contentdisplaytab.h | 2 | ||||
| -rw-r--r-- | src/settings/viewmodes/viewsettingstab.cpp | 7 | ||||
| -rw-r--r-- | src/settings/viewmodes/viewsettingstab.h | 1 |
6 files changed, 26 insertions, 0 deletions
diff --git a/src/settings/dolphin_contentdisplaysettings.kcfg b/src/settings/dolphin_contentdisplaysettings.kcfg index 6e8f8e9d5..dd10d09e8 100644 --- a/src/settings/dolphin_contentdisplaysettings.kcfg +++ b/src/settings/dolphin_contentdisplaysettings.kcfg @@ -46,5 +46,9 @@ </choices> <default>Middle</default> </entry> + <entry name="HideFileExtensions" type="Bool"> + <label>Hide file name extensions</label> + <default>false</default> + </entry> </group> </kcfg> diff --git a/src/settings/dolphin_iconsmodesettings.kcfg b/src/settings/dolphin_iconsmodesettings.kcfg index 7948af75d..d4e3ca8d5 100644 --- a/src/settings/dolphin_iconsmodesettings.kcfg +++ b/src/settings/dolphin_iconsmodesettings.kcfg @@ -31,5 +31,9 @@ <label>Maximum textlines (0 means unlimited)</label> <default>3</default> </entry> + <entry name="UsePixelatedScaling" type="Bool"> + <label>Use nearest-neighbor scaling for icons (better for pixel art)</label> + <default>false</default> + </entry> </group> </kcfg> diff --git a/src/settings/viewmodes/contentdisplaytab.cpp b/src/settings/viewmodes/contentdisplaytab.cpp index 747c3ff20..7b854182e 100644 --- a/src/settings/viewmodes/contentdisplaytab.cpp +++ b/src/settings/viewmodes/contentdisplaytab.cpp @@ -10,6 +10,7 @@ #include <KLocalizedString> #include <QButtonGroup> +#include <QCheckBox> #include <QFormLayout> #include <QHBoxLayout> #include <QRadioButton> @@ -31,6 +32,7 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent) , m_useCombinedPermissions(nullptr) , m_elideMiddle(nullptr) , m_elideEnding(nullptr) + , m_hideFileExtensions(nullptr) { QFormLayout *topLayout = new QFormLayout(this); topLayout->setFormAlignment(Qt::AlignHCenter); @@ -114,6 +116,9 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent) elidingModeGroup->addButton(m_elideMiddle); elidingModeGroup->addButton(m_elideEnding); + m_hideFileExtensions = new QCheckBox(i18nc("@option:check", "Hide file name extensions")); + topLayout->addRow(QString(), m_hideFileExtensions); + #ifndef Q_OS_WIN connect(m_recursiveDirectorySizeLimit, &QSpinBox::valueChanged, this, &SettingsPageBase::changed); connect(m_numberOfItems, &QRadioButton::toggled, this, &SettingsPageBase::changed); @@ -133,6 +138,7 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent) connect(m_caseSensitiveSorting, &QRadioButton::toggled, this, &SettingsPageBase::changed); connect(m_elideMiddle, &QRadioButton::toggled, this, &SettingsPageBase::changed); connect(m_elideEnding, &QRadioButton::toggled, this, &SettingsPageBase::changed); + connect(m_hideFileExtensions, &QCheckBox::toggled, this, &SettingsPageBase::changed); loadSettings(); } @@ -166,6 +172,7 @@ void ContentDisplayTab::applySettings() } else if (m_elideEnding->isChecked()) { settings->setElidingMode(ContentDisplaySettings::ElidingMode::Right); } + settings->setHideFileExtensions(m_hideFileExtensions->isChecked()); settings->save(); GeneralSettings::self()->save(); @@ -188,6 +195,7 @@ void ContentDisplayTab::loadSettings() loadSortingChoiceSettings(); m_elideMiddle->setChecked(settings->elidingMode() == ContentDisplaySettings::ElidingMode::Middle); m_elideEnding->setChecked(settings->elidingMode() == ContentDisplaySettings::ElidingMode::Right); + m_hideFileExtensions->setChecked(settings->hideFileExtensions()); } void ContentDisplayTab::setSortingChoiceValue() diff --git a/src/settings/viewmodes/contentdisplaytab.h b/src/settings/viewmodes/contentdisplaytab.h index 2bae5a87c..6d673b0f6 100644 --- a/src/settings/viewmodes/contentdisplaytab.h +++ b/src/settings/viewmodes/contentdisplaytab.h @@ -10,6 +10,7 @@ #include "dolphin_generalsettings.h" #include "settings/settingspagebase.h" +class QCheckBox; class QRadioButton; class QSpinBox; @@ -45,6 +46,7 @@ private: QRadioButton *m_useCombinedPermissions; QRadioButton *m_elideMiddle; QRadioButton *m_elideEnding; + QCheckBox *m_hideFileExtensions; }; #endif // GENERALTAB_H diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index 3593f23dd..12a8c11cb 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -37,6 +37,7 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent) , m_widthBox(nullptr) , m_maxLinesBox(nullptr) , m_expandableFolders(nullptr) + , m_pixelatedScaling(nullptr) { QFormLayout *topLayout = new QFormLayout(this); topLayout->setFormAlignment(Qt::AlignHCenter); @@ -93,6 +94,9 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent) m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "4")); m_maxLinesBox->addItem(i18nc("@item:inlistbox Maximum lines", "5")); topLayout->addRow(i18nc("@label:listbox", "Maximum lines:"), m_maxLinesBox); + + m_pixelatedScaling = new QCheckBox(i18nc("@option:check", "Use pixelated thumbnail scaling")); + topLayout->addRow(QString(), m_pixelatedScaling); break; } case CompactMode: { @@ -135,6 +139,7 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent) case IconsMode: connect(m_widthBox, &QComboBox::currentIndexChanged, this, &ViewSettingsTab::changed); connect(m_maxLinesBox, &QComboBox::currentIndexChanged, this, &ViewSettingsTab::changed); + connect(m_pixelatedScaling, &QCheckBox::toggled, this, &ViewSettingsTab::changed); break; case CompactMode: connect(m_widthBox, &QComboBox::currentIndexChanged, this, &ViewSettingsTab::changed); @@ -173,6 +178,7 @@ void ViewSettingsTab::applySettings() case IconsMode: IconsModeSettings::setTextWidthIndex(m_widthBox->currentIndex()); IconsModeSettings::setMaximumTextLines(m_maxLinesBox->currentIndex()); + IconsModeSettings::setUsePixelatedScaling(m_pixelatedScaling->isChecked()); IconsModeSettings::self()->save(); break; case CompactMode: @@ -235,6 +241,7 @@ void ViewSettingsTab::loadSettings() case IconsMode: m_widthBox->setCurrentIndex(IconsModeSettings::textWidthIndex()); m_maxLinesBox->setCurrentIndex(IconsModeSettings::maximumTextLines()); + m_pixelatedScaling->setChecked(IconsModeSettings::usePixelatedScaling()); break; case CompactMode: m_widthBox->setCurrentIndex(CompactModeSettings::maximumTextWidthIndex()); diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h index 6ea7a3bf3..2f2e75180 100644 --- a/src/settings/viewmodes/viewsettingstab.h +++ b/src/settings/viewmodes/viewsettingstab.h @@ -55,6 +55,7 @@ private: QRadioButton *m_iconAndNameOnly; QCheckBox *m_expandableFolders; QLabel *m_fontWarningLabel; + QCheckBox *m_pixelatedScaling; }; #endif
\ No newline at end of file |
