diff options
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); |
