Allow to configure which additional information (KFileItemDelegate::AdditionalInformation) should be shown for the icons view.

svn path=/trunk/KDE/kdebase/apps/; revision=638135
This commit is contained in:
Peter Penz 2007-02-28 22:32:42 +00:00
parent e8851fb227
commit 84c32167c9
5 changed files with 26 additions and 14 deletions

View file

@ -2,8 +2,9 @@
<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
<kcfg>
<kcfgfile name="dolphinrc"/>
<include>kiconloader.h</include>
<include>kfileitemdelegate.h</include>
<include>kglobalsettings.h</include>
<include>kiconloader.h</include>
<include>QListView</include>
<group name="IconsMode">
<entry name="Arrangement" type="Int">
@ -33,7 +34,7 @@
<label>Icon size</label>
<default code="true">K3Icon::SizeMedium</default>
</entry>
<entry name="NumberOfTexlines" type="Int">
<entry name="NumberOfTextlines" type="Int">
<label>Number of textlines</label>
<default>2</default>
</entry>
@ -47,7 +48,7 @@
</entry>
<entry name="AdditionalInfo" type="Int">
<label>Additional information</label>
<default>0</default>
<default code="true">KFileItemDelegate::FriendlyMimeType</default>
</entry>
</group>
</kcfg>

View file

@ -29,6 +29,8 @@
#include <assert.h>
#include <kdirmodel.h>
#include <kfileitemdelegate.h>
#include <QHeaderView>
DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* controller) :
@ -65,6 +67,9 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
m_viewOptions.font = QFont(settings->fontFamily(), settings->fontSize());
const int iconSize = settings->iconSize();
m_viewOptions.decorationSize = QSize(iconSize, iconSize);
KFileItemDelegate* delegate = new KFileItemDelegate(parent);
setItemDelegate(delegate);
}
DolphinDetailsView::~DolphinDetailsView()

View file

@ -27,6 +27,7 @@
#include <assert.h>
#include <kdirmodel.h>
#include <kfileitem.h>
#include <kfileitemdelegate.h>
#include <QAbstractProxyModel>
@ -61,6 +62,12 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle
setFlow(QListView::TopToBottom);
m_viewOptions.decorationPosition = QStyleOptionViewItem::Left;
}
KFileItemDelegate* delegate = new KFileItemDelegate(parent);
const KFileItemDelegate::AdditionalInformation info =
static_cast<KFileItemDelegate::AdditionalInformation>(settings->additionalInfo());
delegate->setAdditionalInformation(info);
setItemDelegate(delegate);
}
DolphinIconsView::~DolphinIconsView()

View file

@ -986,10 +986,6 @@ void DolphinView::createView()
view->setModel(m_proxyModel);
view->setSelectionMode(QAbstractItemView::ExtendedSelection);
KFileItemDelegate* delegate = new KFileItemDelegate(this);
delegate->setAdditionalInformation(KFileItemDelegate::FriendlyMimeType);
view->setItemDelegate(delegate);
new KMimeTypeResolver(view, m_dirModel);
m_topLayout->insertWidget(1, view);

View file

@ -130,7 +130,7 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
new QLabel(i18n("Number of lines:"), textGroup);
m_textlinesCountBox = new QSpinBox(1, 5, 1, textGroup);
m_textlinesCountBox->setValue(settings->numberOfTexlines());
m_textlinesCountBox->setValue(settings->numberOfTextlines());
new QLabel(i18n("Text width:"), textGroup);
m_textWidthBox = new QComboBox(textGroup);
@ -140,11 +140,12 @@ IconsViewSettingsPage::IconsViewSettingsPage(DolphinMainWindow* mainWindow,
new QLabel(i18n("Additional information:"), textGroup);
m_additionalInfo = new QComboBox(textGroup);
m_additionalInfo->addItem(i18n("No Information"));
m_additionalInfo->addItem(i18n("MIME Type"));
m_additionalInfo->addItem(i18n("Size"));
m_additionalInfo->addItem(i18n("Date"));
m_additionalInfo->setCurrentIndex(settings->additionalInfo());
m_additionalInfo->addItem(i18n("No Information"), KFileItemDelegate::NoInformation);
m_additionalInfo->addItem(i18n("MIME Type"), KFileItemDelegate::FriendlyMimeType);
m_additionalInfo->addItem(i18n("Size"), KFileItemDelegate::Size);
m_additionalInfo->addItem(i18n("Date"), KFileItemDelegate::ModificationTime);
const int index = m_additionalInfo->findData(settings->additionalInfo());
m_additionalInfo->setCurrentIndex(index);
Q3GroupBox* gridGroup = new Q3GroupBox(2, Qt::Horizontal, i18n("Grid"), this);
gridGroup->setSizePolicy(sizePolicy);
@ -216,7 +217,9 @@ void IconsViewSettingsPage::applySettings()
settings->setFontFamily(m_fontFamilyBox->currentFont().family());
settings->setFontSize(fontSize);
settings->setNumberOfTexlines(m_textlinesCountBox->value());
settings->setNumberOfTextlines(m_textlinesCountBox->value());
const int index = m_additionalInfo->currentIndex();
settings->setAdditionalInfo(m_additionalInfo->itemData(index).toInt());
settings->setGridSpacing(GRID_SPACING_BASE +
m_gridSpacingBox->currentIndex() * GRID_SPACING_INC);