┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-03-11 16:47:12 +0000
committerPeter Penz <[email protected]>2007-03-11 16:47:12 +0000
commit25349096ae7fe344613d35e5548cac1a91b60fd1 (patch)
tree92ab776bc1a02653858148321b3defe80fe74063 /src/dolphinview.cpp
parent66efe4d7061344dcd2070979dbe6ec4cb50df44b (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.cpp29
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);