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: hein@kde.org

svn path=/trunk/KDE/kdebase/apps/; revision=744901
This commit is contained in:
Peter Penz 2007-12-04 20:56:42 +00:00
parent 7cdaa3f5bf
commit 5690330220
7 changed files with 64 additions and 21 deletions

View file

@ -22,11 +22,15 @@
<label context="@label">Italic</label> <label context="@label">Italic</label>
<default>false</default> <default>false</default>
</entry> </entry>
<entry name="BoldFont" type="Bool"> <entry name="BoldFont" type="Bool">
<label context="@label">Bold</label> <label context="@label">Bold</label>
<default>false</default> <default>false</default>
</entry> </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> <label context="@label">Item height</label>
<!-- <!--
check 'void IconsViewSettingsPage::applySettings()' as reference (iconsviewsettingspage.cpp): check 'void IconsViewSettingsPage::applySettings()' as reference (iconsviewsettingspage.cpp):

View file

@ -282,12 +282,16 @@ void DolphinIconsView::slotEntered(const QModelIndex& index)
void DolphinIconsView::slotShowPreviewChanged() void DolphinIconsView::slotShowPreviewChanged()
{ {
const DolphinView* view = m_controller->dolphinView(); const DolphinView* view = m_controller->dolphinView();
const int infoCount = view->additionalInfo().count(); updateGridSize(view->showPreview(), additionalInfoCount());
updateGridSize(view->showPreview(), infoCount);
} }
void DolphinIconsView::slotAdditionalInfoChanged(const KFileItemDelegate::InformationList& info) void DolphinIconsView::slotAdditionalInfoChanged(const KFileItemDelegate::InformationList& info)
{ {
const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
if (!settings->showAdditionalInfo()) {
return;
}
const bool showPreview = m_controller->dolphinView()->showPreview(); const bool showPreview = m_controller->dolphinView()->showPreview();
updateGridSize(showPreview, info.count()); updateGridSize(showPreview, info.count());
} }
@ -318,8 +322,7 @@ void DolphinIconsView::zoomIn()
settings->setItemWidth(settings->itemWidth() + diff); settings->setItemWidth(settings->itemWidth() + diff);
settings->setItemHeight(settings->itemHeight() + diff); settings->setItemHeight(settings->itemHeight() + diff);
const int infoCount = m_controller->dolphinView()->additionalInfo().count(); updateGridSize(showPreview, additionalInfoCount());
updateGridSize(showPreview, infoCount);
} }
} }
@ -350,8 +353,7 @@ void DolphinIconsView::zoomOut()
settings->setItemWidth(settings->itemWidth() - diff); settings->setItemWidth(settings->itemWidth() - diff);
settings->setItemHeight(settings->itemHeight() - diff); settings->setItemHeight(settings->itemHeight() - diff);
const int infoCount = m_controller->dolphinView()->additionalInfo().count(); updateGridSize(showPreview, additionalInfoCount());
updateGridSize(showPreview, infoCount);
} }
} }
@ -447,4 +449,11 @@ KFileItem DolphinIconsView::itemForIndex(const QModelIndex& index) const
return dirModel->itemForIndex(dirIndex); 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" #include "dolphiniconsview.moc"

View file

@ -88,6 +88,12 @@ private:
KFileItem itemForIndex(const QModelIndex& index) const; 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: private:
DolphinController* m_controller; DolphinController* m_controller;
DolphinCategoryDrawer* m_categoryDrawer; DolphinCategoryDrawer* m_categoryDrawer;

View file

@ -41,6 +41,7 @@
#include "kfileplacesview.h" #include "kfileplacesview.h"
#include "dolphin_generalsettings.h" #include "dolphin_generalsettings.h"
#include "dolphin_iconsmodesettings.h"
#include <kaction.h> #include <kaction.h>
#include <kactioncollection.h> #include <kactioncollection.h>
@ -344,8 +345,10 @@ void DolphinMainWindow::slotAdditionalInfoChanged(KFileItemDelegate::Information
const DolphinView* view = m_activeViewContainer->view(); const DolphinView* view = m_activeViewContainer->view();
// currently the column view does not support additional information const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
const bool enable = (view->mode() != DolphinView::ColumnView); const bool enable = (view->mode() == DolphinView::DetailsView) ||
((view->mode() == DolphinView::IconsView) && settings->showAdditionalInfo());
showSizeInfo->setEnabled(enable); showSizeInfo->setEnabled(enable);
showDateInfo->setEnabled(enable); showDateInfo->setEnabled(enable);
showPermissionsInfo->setEnabled(enable); showPermissionsInfo->setEnabled(enable);

View file

@ -30,14 +30,15 @@
#include <kglobalsettings.h> #include <kglobalsettings.h>
#include <klocale.h> #include <klocale.h>
#include <QtGui/QComboBox> #include <QCheckBox>
#include <QtGui/QGroupBox> #include <QComboBox>
#include <QtGui/QLabel> #include <QGroupBox>
#include <QtGui/QListView> #include <QLabel>
#include <QtGui/QPushButton> #include <QListView>
#include <QtGui/QSpinBox> #include <QPushButton>
#include <QtGui/QGridLayout> #include <QSpinBox>
#include <QtCore/QDebug> #include <QGridLayout>
#include <QVBoxLayout>
IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow, IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
QWidget* parent) : QWidget* parent) :
@ -49,6 +50,7 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
m_textWidthBox(0), m_textWidthBox(0),
m_fontRequester(0), m_fontRequester(0),
m_textlinesCountBox(0), m_textlinesCountBox(0),
m_showAdditionalInfo(0),
m_arrangementBox(0), m_arrangementBox(0),
m_gridSpacingBox(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", "Medium"));
m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Large")); 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(fontLabel, 0, 0);
textGroupLayout->addWidget(m_fontRequester, 0, 1); textGroupLayout->addWidget(m_fontRequester, 0, 1);
textGroupLayout->addWidget(textlinesCountLabel, 1, 0); textGroupLayout->addWidget(textlinesCountLabel, 1, 0);
@ -90,6 +97,9 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
textGroupLayout->addWidget(textWidthLabel, 2, 0); textGroupLayout->addWidget(textWidthLabel, 2, 0);
textGroupLayout->addWidget(m_textWidthBox, 2, 1); 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 // create the 'Grid' group for selecting the arrangement and the grid spacing
QGroupBox* gridGroup = new QGroupBox(i18nc("@title:group", "Grid"), this); QGroupBox* gridGroup = new QGroupBox(i18nc("@title:group", "Grid"), this);
gridGroup->setSizePolicy(sizePolicy); gridGroup->setSizePolicy(sizePolicy);
@ -120,7 +130,8 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
} }
IconsViewSettingsPage::~IconsViewSettingsPage() IconsViewSettingsPage::~IconsViewSettingsPage()
{} {
}
void IconsViewSettingsPage::applySettings() void IconsViewSettingsPage::applySettings()
{ {
@ -160,6 +171,8 @@ void IconsViewSettingsPage::applySettings()
settings->setNumberOfTextlines(numberOfTextlines); settings->setNumberOfTextlines(numberOfTextlines);
settings->setShowAdditionalInfo(m_showAdditionalInfo->isChecked());
settings->setGridSpacing(GridSpacingBase + settings->setGridSpacing(GridSpacingBase +
m_gridSpacingBox->currentIndex() * GridSpacingInc); m_gridSpacingBox->currentIndex() * GridSpacingInc);
} }
@ -195,6 +208,8 @@ void IconsViewSettingsPage::loadSettings()
m_textlinesCountBox->setValue(settings->numberOfTextlines()); m_textlinesCountBox->setValue(settings->numberOfTextlines());
m_showAdditionalInfo->setChecked(settings->showAdditionalInfo());
const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight); const bool leftToRightArrangement = (settings->arrangement() == QListView::LeftToRight);
int textWidthIndex = 0; int textWidthIndex = 0;
const int remainingWidth = settings->itemWidth() - settings->iconSize(); const int remainingWidth = settings->itemWidth() - settings->iconSize();

View file

@ -25,6 +25,7 @@
class DolphinMainWindow; class DolphinMainWindow;
class KFontRequester; class KFontRequester;
class QCheckBox;
class QComboBox; class QComboBox;
class QPushButton; class QPushButton;
class QSpinBox; class QSpinBox;
@ -87,6 +88,7 @@ private:
QComboBox* m_textWidthBox; QComboBox* m_textWidthBox;
KFontRequester* m_fontRequester; KFontRequester* m_fontRequester;
QSpinBox* m_textlinesCountBox; QSpinBox* m_textlinesCountBox;
QCheckBox* m_showAdditionalInfo;
QComboBox* m_arrangementBox; QComboBox* m_arrangementBox;
QComboBox* m_gridSpacingBox; QComboBox* m_gridSpacingBox;

View file

@ -25,6 +25,7 @@
#include "dolphinsettings.h" #include "dolphinsettings.h"
#include "dolphinsortfilterproxymodel.h" #include "dolphinsortfilterproxymodel.h"
#include "dolphin_generalsettings.h" #include "dolphin_generalsettings.h"
#include "dolphin_iconsmodesettings.h"
#include "viewproperties.h" #include "viewproperties.h"
#include "viewpropsprogressinfo.h" #include "viewpropsprogressinfo.h"
@ -380,7 +381,10 @@ void ViewPropertiesDialog::loadSettings()
m_sortOrder->setCurrentIndex(sortOrderIndex); m_sortOrder->setCurrentIndex(sortOrderIndex);
m_sorting->setCurrentIndex(m_viewProps->sorting()); 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 // load show preview, show in groups and show hidden files settings
m_showPreview->setChecked(m_viewProps->showPreview()); m_showPreview->setChecked(m_viewProps->showPreview());