From 475f8b1261a6ea106ca9dd90b625ea95fe63a4c7 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Fri, 9 Mar 2012 16:12:00 +0100 Subject: Details view: Allow to turn off expandable folders like in Dolphin 1.7 The option for turning off expandable folders has been removed with the new view-engine. Due to several requests this option has been readded again. As for 4.8.x no new user-interface strings may be introduced, the line ExpandableFolders=false must be manually added below the section "[DetailsMode]" in the file ~/.kde/share/config/dolphinrc if the expandable-folders feature should be disabled. Thanks to H.H. "cyberbeat" for the initial patch! BUG: 289090 FIXED-IN: 4.8.2 --- src/settings/dolphin_detailsmodesettings.kcfg | 4 +++ src/settings/viewmodes/viewsettingstab.cpp | 47 ++++++++++++++++++++++++--- src/settings/viewmodes/viewsettingstab.h | 2 ++ 3 files changed, 48 insertions(+), 5 deletions(-) (limited to 'src/settings') diff --git a/src/settings/dolphin_detailsmodesettings.kcfg b/src/settings/dolphin_detailsmodesettings.kcfg index 0fb1bf0b5..64e99898a 100644 --- a/src/settings/dolphin_detailsmodesettings.kcfg +++ b/src/settings/dolphin_detailsmodesettings.kcfg @@ -40,5 +40,9 @@ 0,1,2,3,4,5,6,7,8 + + + true + diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index 5dd70000e..c734344ee 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -40,7 +41,8 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : m_defaultSizeSlider(0), m_previewSizeSlider(0), m_fontRequester(0), - m_textWidthBox(0) + m_textWidthBox(0), + m_expandableFolders(0) { QVBoxLayout* topLayout = new QVBoxLayout(this); @@ -79,7 +81,8 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : textGroupLayout->addWidget(fontLabel, 0, 0, Qt::AlignRight); textGroupLayout->addWidget(m_fontRequester, 0, 1); - if (m_mode == IconsMode) { + switch (m_mode) { + case IconsMode: { QLabel* textWidthLabel = new QLabel(i18nc("@label:listbox", "Text width:"), textGroup); m_textWidthBox = new KComboBox(textGroup); m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Small")); @@ -89,10 +92,19 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : textGroupLayout->addWidget(textWidthLabel, 2, 0, Qt::AlignRight); textGroupLayout->addWidget(m_textWidthBox, 2, 1); + break; + } + case DetailsMode: + // Disabled for 4.8.x: No new UI-strings are allowed + // m_expandableFolders = new QCheckBox(i18nc("@option:check", "Expandable folders"), this); + break; + default: + break; } topLayout->addWidget(iconSizeGroup); topLayout->addWidget(textGroup); + topLayout->addWidget(m_expandableFolders); topLayout->addStretch(1); loadSettings(); @@ -100,8 +112,17 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : connect(m_defaultSizeSlider, SIGNAL(valueChanged(int)), this, SIGNAL(changed())); connect(m_previewSizeSlider, SIGNAL(valueChanged(int)), this, SIGNAL(changed())); connect(m_fontRequester, SIGNAL(changed()), this, SIGNAL(changed())); - if (m_mode == IconsMode) { + + switch (m_mode) { + case IconsMode: connect(m_textWidthBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed())); + break; + case DetailsMode: + // Disabled for 4.8.x: No new UI-strings are allowed + //connect(m_expandableFolders, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + break; + default: + break; } } @@ -114,8 +135,16 @@ void ViewSettingsTab::applySettings() const QFont font = m_fontRequester->currentFont(); const bool useSystemFont = (m_fontRequester->mode() == DolphinFontRequester::SystemFont); - if (m_mode == IconsMode) { + switch (m_mode) { + case IconsMode: IconsModeSettings::setTextWidthIndex(m_textWidthBox->currentIndex()); + break; + case DetailsMode: + // Disabled for 4.8.x: No new UI-strings are allowed + //DetailsModeSettings::setExpandableFolders(m_expandableFolders->isChecked()); + break; + default: + break; } ViewModeSettings settings(viewMode()); @@ -151,8 +180,16 @@ void ViewSettingsTab::restoreDefaultSettings() void ViewSettingsTab::loadSettings() { - if (m_mode == IconsMode) { + switch (m_mode) { + case IconsMode: m_textWidthBox->setCurrentIndex(IconsModeSettings::textWidthIndex()); + break; + case DetailsMode: + // Disabled for 4.8.x: No new UI-strings are allowed + // m_expandableFolders->setChecked(DetailsModeSettings::expandableFolders()); + break; + default: + break; } ViewModeSettings settings(viewMode()); diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h index 2e0f439aa..b21fc102c 100644 --- a/src/settings/viewmodes/viewsettingstab.h +++ b/src/settings/viewmodes/viewsettingstab.h @@ -25,6 +25,7 @@ class DolphinFontRequester; class KComboBox; +class QCheckBox; class QSlider; /** @@ -63,6 +64,7 @@ private: DolphinFontRequester* m_fontRequester; KComboBox* m_textWidthBox; + QCheckBox* m_expandableFolders; }; #endif -- cgit v1.3