diff options
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()); |
