┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-12-04 20:56:42 +0000
committerPeter Penz <[email protected]>2007-12-04 20:56:42 +0000
commit569033022089a8e2a025b4899df9051172dd36c7 (patch)
tree435367003d2563950fe6903ce04d4841bb0f9f03
parent7cdaa3f5bff507812e3e68f14c52aa0782887886 (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
-rw-r--r--src/dolphin_iconsmodesettings.kcfg8
-rw-r--r--src/dolphiniconsview.cpp21
-rw-r--r--src/dolphiniconsview.h6
-rw-r--r--src/dolphinmainwindow.cpp7
-rw-r--r--src/iconsviewsettingspage.cpp35
-rw-r--r--src/iconsviewsettingspage.h2
-rw-r--r--src/viewpropertiesdialog.cpp6
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());