┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/dolphin_contentdisplaysettings.kcfg8
-rw-r--r--src/settings/viewmodes/contentdisplaytab.cpp21
-rw-r--r--src/settings/viewmodes/contentdisplaytab.h2
3 files changed, 31 insertions, 0 deletions
diff --git a/src/settings/dolphin_contentdisplaysettings.kcfg b/src/settings/dolphin_contentdisplaysettings.kcfg
index 31c6f75df..6e8f8e9d5 100644
--- a/src/settings/dolphin_contentdisplaysettings.kcfg
+++ b/src/settings/dolphin_contentdisplaysettings.kcfg
@@ -38,5 +38,13 @@
</choices>
<default>0</default>
</entry>
+ <entry name="ElidingMode" type="Enum">
+ <label>Eliding Mode</label>
+ <choices name="ElidingMode">
+ <choice name="Right"/>
+ <choice name="Middle"/>
+ </choices>
+ <default>Middle</default>
+ </entry>
</group>
</kcfg>
diff --git a/src/settings/viewmodes/contentdisplaytab.cpp b/src/settings/viewmodes/contentdisplaytab.cpp
index c08c4c191..939faf7e2 100644
--- a/src/settings/viewmodes/contentdisplaytab.cpp
+++ b/src/settings/viewmodes/contentdisplaytab.cpp
@@ -31,6 +31,8 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent)
, m_useSymbolicPermissions(nullptr)
, m_useNumericPermissions(nullptr)
, m_useCombinedPermissions(nullptr)
+ , m_elideMiddle(nullptr)
+ , m_elideEnding(nullptr)
{
QFormLayout *topLayout = new QFormLayout(this);
@@ -103,6 +105,16 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent)
permissionsFormatGroup->addButton(m_useNumericPermissions);
permissionsFormatGroup->addButton(m_useCombinedPermissions);
+ m_elideMiddle = new QRadioButton(i18nc("@option:radio Long file names", "Elide in the middle (e.g. ’Some very… name.txt')"));
+ m_elideEnding = new QRadioButton(i18nc("@option:radio Long file names", "Elide at the end (e.g. ’Some very long….txt')"));
+
+ topLayout->addRow(i18nc("@title:group", "Long file names:"), m_elideMiddle);
+ topLayout->addRow(QString(), m_elideEnding);
+
+ QButtonGroup *elidingModeGroup = new QButtonGroup(this);
+ elidingModeGroup->addButton(m_elideMiddle);
+ elidingModeGroup->addButton(m_elideEnding);
+
#ifndef Q_OS_WIN
connect(m_recursiveDirectorySizeLimit, &QSpinBox::valueChanged, this, &SettingsPageBase::changed);
connect(m_numberOfItems, &QRadioButton::toggled, this, &SettingsPageBase::changed);
@@ -120,6 +132,8 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent)
connect(m_naturalSorting, &QRadioButton::toggled, this, &SettingsPageBase::changed);
connect(m_caseInsensitiveSorting, &QRadioButton::toggled, this, &SettingsPageBase::changed);
connect(m_caseSensitiveSorting, &QRadioButton::toggled, this, &SettingsPageBase::changed);
+ connect(m_elideMiddle, &QRadioButton::toggled, this, &SettingsPageBase::changed);
+ connect(m_elideEnding, &QRadioButton::toggled, this, &SettingsPageBase::changed);
loadSettings();
}
@@ -148,6 +162,11 @@ void ContentDisplayTab::applySettings()
} else if (m_useCombinedPermissions->isChecked()) {
settings->setUsePermissionsFormat(ContentDisplaySettings::EnumUsePermissionsFormat::CombinedFormat);
}
+ if (m_elideMiddle->isChecked()) {
+ settings->setElidingMode(ContentDisplaySettings::ElidingMode::Middle);
+ } else if (m_elideEnding->isChecked()) {
+ settings->setElidingMode(ContentDisplaySettings::ElidingMode::Right);
+ }
settings->save();
}
@@ -166,6 +185,8 @@ void ContentDisplayTab::loadSettings()
m_useNumericPermissions->setChecked(settings->usePermissionsFormat() == ContentDisplaySettings::EnumUsePermissionsFormat::NumericFormat);
m_useCombinedPermissions->setChecked(settings->usePermissionsFormat() == ContentDisplaySettings::EnumUsePermissionsFormat::CombinedFormat);
loadSortingChoiceSettings();
+ m_elideMiddle->setChecked(settings->elidingMode() == ContentDisplaySettings::ElidingMode::Middle);
+ m_elideEnding->setChecked(settings->elidingMode() == ContentDisplaySettings::ElidingMode::Right);
}
void ContentDisplayTab::setSortingChoiceValue()
diff --git a/src/settings/viewmodes/contentdisplaytab.h b/src/settings/viewmodes/contentdisplaytab.h
index 05e8414e1..2bae5a87c 100644
--- a/src/settings/viewmodes/contentdisplaytab.h
+++ b/src/settings/viewmodes/contentdisplaytab.h
@@ -43,6 +43,8 @@ private:
QRadioButton *m_useSymbolicPermissions;
QRadioButton *m_useNumericPermissions;
QRadioButton *m_useCombinedPermissions;
+ QRadioButton *m_elideMiddle;
+ QRadioButton *m_elideEnding;
};
#endif // GENERALTAB_H