diff options
| author | Peter Penz <[email protected]> | 2007-03-11 16:47:12 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-03-11 16:47:12 +0000 |
| commit | 25349096ae7fe344613d35e5548cac1a91b60fd1 (patch) | |
| tree | 92ab776bc1a02653858148321b3defe80fe74063 /src/dolphinview.cpp | |
| parent | 66efe4d7061344dcd2070979dbe6ec4cb50df44b (diff) | |
Allow to set the 'AdditionalInformation' property from KFileItemDelegate for each folder. Use case:
- Icons view for images: set 'Size' as additional property
- Icons view for media: show 'MIME type' as additional property
- Default Icons view: don't show any addtional property for a clean layout.
TODO: KFileItemDelagate::AdditionalInformation intersects with KDirModel::Columns when used in combination with the details view. Assure that the user does not get confronted with such implementation details in the user interface.
svn path=/trunk/KDE/kdebase/apps/; revision=641525
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 3a6a2e757..60e929eba 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -71,6 +71,7 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow, m_controller(0), m_iconsView(0), m_detailsView(0), + m_fileItemDelegate(0), m_filterBar(0), m_statusBar(0), m_dirModel(0), @@ -425,6 +426,22 @@ Qt::SortOrder DolphinView::sortOrder() const return m_proxyModel->sortOrder(); } +void DolphinView::setAdditionalInfo(KFileItemDelegate::AdditionalInformation info) +{ + ViewProperties props(m_urlNavigator->url()); + props.setAdditionalInfo(info); + + m_fileItemDelegate->setAdditionalInformation(info); + + emit additionalInfoChanged(info); + reload(); +} + +KFileItemDelegate::AdditionalInformation DolphinView::additionalInfo() const +{ + return m_fileItemDelegate->additionalInformation(); +} + void DolphinView::goBack() { m_urlNavigator->goBack(); @@ -613,6 +630,13 @@ void DolphinView::loadDirectory(const KUrl& url) emit sortOrderChanged(sortOrder); } + KFileItemDelegate::AdditionalInformation info = props.additionalInfo(); + if (info != m_fileItemDelegate->additionalInformation()) { + m_fileItemDelegate->setAdditionalInformation(info); + + emit additionalInfoChanged(info); + } + const bool showPreview = props.showPreview(); if (showPreview != m_controller->showPreview()) { m_controller->setShowPreview(showPreview); @@ -1045,6 +1069,7 @@ void DolphinView::createView() view->deleteLater(); m_iconsView = 0; m_detailsView = 0; + m_fileItemDelegate = 0; } assert(m_iconsView == 0); @@ -1063,6 +1088,10 @@ void DolphinView::createView() break; } + + m_fileItemDelegate = new KFileItemDelegate(view); + view->setItemDelegate(m_fileItemDelegate); + view->setModel(m_proxyModel); view->setSelectionMode(QAbstractItemView::ExtendedSelection); |
