diff options
| author | Peter Penz <[email protected]> | 2007-12-04 20:56:42 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-12-04 20:56:42 +0000 |
| commit | 569033022089a8e2a025b4899df9051172dd36c7 (patch) | |
| tree | 435367003d2563950fe6903ce04d4841bb0f9f03 /src | |
| parent | 7cdaa3f5bff507812e3e68f14c52aa0782887886 (diff) | |
Allow turning off the feature that additional information might be shown in the icons view. Per default the setting is still on, but for people who prefer browsing with the details view and only temporary switch to the icons view (e. g. for having a larger preview), this feature gets a showstopper (discussed with Eike Hein).
Got the OK from the translator team for adding the new string.
CCMAIL: [email protected]
svn path=/trunk/KDE/kdebase/apps/; revision=744901
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphin_iconsmodesettings.kcfg | 8 | ||||
| -rw-r--r-- | src/dolphiniconsview.cpp | 21 | ||||
| -rw-r--r-- | src/dolphiniconsview.h | 6 | ||||
| -rw-r--r-- | src/dolphinmainwindow.cpp | 7 | ||||
| -rw-r--r-- | src/iconsviewsettingspage.cpp | 35 | ||||
| -rw-r--r-- | src/iconsviewsettingspage.h | 2 | ||||
| -rw-r--r-- | src/viewpropertiesdialog.cpp | 6 |
7 files changed, 64 insertions, 21 deletions
diff --git a/src/dolphin_iconsmodesettings.kcfg b/src/dolphin_iconsmodesettings.kcfg index 767f67fc3..0524f7d20 100644 --- a/src/dolphin_iconsmodesettings.kcfg +++ b/src/dolphin_iconsmodesettings.kcfg @@ -22,11 +22,15 @@ <label context="@label">Italic</label> <default>false</default> </entry> - <entry name="BoldFont" type="Bool"> + <entry name="BoldFont" type="Bool"> <label context="@label">Bold</label> <default>false</default> </entry> - <entry name="ItemHeight" type="Int"> + <entry name="ShowAdditionalInfo" type="Bool"> + <label context="@label">Allow showing of additional information</label> + <default>true</default> + </entry> + <entry name="ItemHeight" type="Int"> <label context="@label">Item height</label> <!-- check 'void IconsViewSettingsPage::applySettings()' as reference (iconsviewsettingspage.cpp): diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index 61179a3ac..2bb21cb79 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -282,12 +282,16 @@ void DolphinIconsView::slotEntered(const QModelIndex& index) void DolphinIconsView::slotShowPreviewChanged() { const DolphinView* view = m_controller->dolphinView(); - const int infoCount = view->additionalInfo().count(); - updateGridSize(view->showPreview(), infoCount); + updateGridSize(view->showPreview(), additionalInfoCount()); } void DolphinIconsView::slotAdditionalInfoChanged(const KFileItemDelegate::InformationList& info) { + const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + if (!settings->showAdditionalInfo()) { + return; + } + const bool showPreview = m_controller->dolphinView()->showPreview(); updateGridSize(showPreview, info.count()); } @@ -318,8 +322,7 @@ void DolphinIconsView::zoomIn() settings->setItemWidth(settings->itemWidth() + diff); settings->setItemHeight(settings->itemHeight() + diff); - const int infoCount = m_controller->dolphinView()->additionalInfo().count(); - updateGridSize(showPreview, infoCount); + updateGridSize(showPreview, additionalInfoCount()); } } @@ -350,8 +353,7 @@ void DolphinIconsView::zoomOut() settings->setItemWidth(settings->itemWidth() - diff); settings->setItemHeight(settings->itemHeight() - diff); - const int infoCount = m_controller->dolphinView()->additionalInfo().count(); - updateGridSize(showPreview, infoCount); + updateGridSize(showPreview, additionalInfoCount()); } } @@ -447,4 +449,11 @@ KFileItem DolphinIconsView::itemForIndex(const QModelIndex& index) const return dirModel->itemForIndex(dirIndex); } +int DolphinIconsView::additionalInfoCount() const +{ + const DolphinView* view = m_controller->dolphinView(); + const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + return settings->showAdditionalInfo() ? view->additionalInfo().count() : 0; +} + #include "dolphiniconsview.moc" diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h index 752f6e317..fbbbce0ec 100644 --- a/src/dolphiniconsview.h +++ b/src/dolphiniconsview.h @@ -88,6 +88,12 @@ private: KFileItem itemForIndex(const QModelIndex& index) const; + /** + * Returns the number of additional information lines that should + * be shown below the item name. + */ + int additionalInfoCount() const; + private: DolphinController* m_controller; DolphinCategoryDrawer* m_categoryDrawer; diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 4d84317ad..13406a6b5 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -41,6 +41,7 @@ #include "kfileplacesview.h" #include "dolphin_generalsettings.h" +#include "dolphin_iconsmodesettings.h" #include <kaction.h> #include <kactioncollection.h> @@ -344,8 +345,10 @@ void DolphinMainWindow::slotAdditionalInfoChanged(KFileItemDelegate::Information const DolphinView* view = m_activeViewContainer->view(); - // currently the column view does not support additional information - const bool enable = (view->mode() != DolphinView::ColumnView); + const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + const bool enable = (view->mode() == DolphinView::DetailsView) || + ((view->mode() == DolphinView::IconsView) && settings->showAdditionalInfo()); + showSizeInfo->setEnabled(enable); showDateInfo->setEnabled(enable); showPermissionsInfo->setEnabled(enable); diff --git a/src/iconsviewsettingspage.cpp b/src/iconsviewsettingspage.cpp index bfe23ffa5..56e75ac10 100644 --- a/src/iconsviewsettingspage.cpp +++ b/src/iconsviewsettingspage.cpp @@ -30,14 +30,15 @@ #include <kglobalsettings.h> #include <klocale.h> -#include <QtGui/QComboBox> -#include <QtGui/QGroupBox> -#include <QtGui/QLabel> -#include <QtGui/QListView> -#include <QtGui/QPushButton> -#include <QtGui/QSpinBox> -#include <QtGui/QGridLayout> -#include <QtCore/QDebug> +#include <QCheckBox> +#include <QComboBox> +#include <QGroupBox> +#include <QLabel> +#include <QListView> +#include <QPushButton> +#include <QSpinBox> +#include <QGridLayout> +#include <QVBoxLayout> IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, QWidget* parent) : @@ -49,6 +50,7 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, m_textWidthBox(0), m_fontRequester(0), m_textlinesCountBox(0), + m_showAdditionalInfo(0), m_arrangementBox(0), m_gridSpacingBox(0) { @@ -82,7 +84,12 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Medium")); m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Large")); - QGridLayout* textGroupLayout = new QGridLayout(textGroup); + m_showAdditionalInfo = new QCheckBox(i18nc("@option:check", + "Allow showing of additional information"), textGroup); + + QVBoxLayout* textVBoxLayout = new QVBoxLayout(textGroup); + + QGridLayout* textGroupLayout = new QGridLayout(); textGroupLayout->addWidget(fontLabel, 0, 0); textGroupLayout->addWidget(m_fontRequester, 0, 1); textGroupLayout->addWidget(textlinesCountLabel, 1, 0); @@ -90,6 +97,9 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, textGroupLayout->addWidget(textWidthLabel, 2, 0); textGroupLayout->addWidget(m_textWidthBox, 2, 1); + textVBoxLayout->addLayout(textGroupLayout); + textVBoxLayout->addWidget(m_showAdditionalInfo); + // create the 'Grid' group for selecting the arrangement and the grid spacing QGroupBox* gridGroup = new QGroupBox(i18nc("@title:group", "Grid"), this); gridGroup->setSizePolicy(sizePolicy); @@ -120,7 +130,8 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, } IconsViewSettingsPage::~IconsViewSettingsPage() -{} +{ +} void IconsViewSettingsPage::applySettings() { @@ -160,6 +171,8 @@ void IconsViewSettingsPage::applySettings() settings->setNumberOfTextlines(numberOfTextlines); + settings->setShowAdditionalInfo(m_showAdditionalInfo->isChecked()); + settings->setGridSpacing(GridSpacingBase + m_gridSpacingBox->currentIndex() * GridSpacingInc); } @@ -195,6 +208,8 @@ void IconsViewSettingsPage::loadSettings() m_textlinesCountBox->setValue(settings->numberOfTextlines()); + m_showAdditionalInfo->setChecked(settings->showAdditionalInfo()); + const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight); int textWidthIndex = 0; const int remainingWidth = settings->itemWidth() - settings->iconSize(); diff --git a/src/iconsviewsettingspage.h b/src/iconsviewsettingspage.h index c61e7a923..bfc0c63c1 100644 --- a/src/iconsviewsettingspage.h +++ b/src/iconsviewsettingspage.h @@ -25,6 +25,7 @@ class DolphinMainWindow; class KFontRequester; +class QCheckBox; class QComboBox; class QPushButton; class QSpinBox; @@ -87,6 +88,7 @@ private: QComboBox* m_textWidthBox; KFontRequester* m_fontRequester; QSpinBox* m_textlinesCountBox; + QCheckBox* m_showAdditionalInfo; QComboBox* m_arrangementBox; QComboBox* m_gridSpacingBox; diff --git a/src/viewpropertiesdialog.cpp b/src/viewpropertiesdialog.cpp index cd4490aad..fc670e3eb 100644 --- a/src/viewpropertiesdialog.cpp +++ b/src/viewpropertiesdialog.cpp @@ -25,6 +25,7 @@ #include "dolphinsettings.h" #include "dolphinsortfilterproxymodel.h" #include "dolphin_generalsettings.h" +#include "dolphin_iconsmodesettings.h" #include "viewproperties.h" #include "viewpropsprogressinfo.h" @@ -380,7 +381,10 @@ void ViewPropertiesDialog::loadSettings() m_sortOrder->setCurrentIndex(sortOrderIndex); m_sorting->setCurrentIndex(m_viewProps->sorting()); - m_additionalInfo->setEnabled(index != DolphinView::ColumnView); + const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); + const bool enabled = (index == DolphinView::DetailsView) || + ((index == DolphinView::IconsView) && settings->showAdditionalInfo()); + m_additionalInfo->setEnabled(enabled); // load show preview, show in groups and show hidden files settings m_showPreview->setChecked(m_viewProps->showPreview()); |
