┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/dolphinview.cpp')
-rw-r--r--src/views/dolphinview.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index ea7441600..148459f68 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -161,6 +161,8 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) :
this, SLOT(slotSortOrderChangedByHeader(Qt::SortOrder,Qt::SortOrder)));
connect(view, SIGNAL(sortRoleChanged(QByteArray,QByteArray)),
this, SLOT(slotSortRoleChangedByHeader(QByteArray,QByteArray)));
+ connect(view, SIGNAL(visibleRolesChanged(QList<QByteArray>,QList<QByteArray>)),
+ this, SLOT(slotVisibleRolesChangedByHeader(QList<QByteArray>,QList<QByteArray>)));
KItemListSelectionManager* selectionManager = controller->selectionManager();
connect(selectionManager, SIGNAL(selectionChanged(QSet<int>,QSet<int>)),
@@ -1157,6 +1159,29 @@ void DolphinView::slotSortRoleChangedByHeader(const QByteArray& current, const Q
emit sortingChanged(sorting);
}
+void DolphinView::slotVisibleRolesChangedByHeader(const QList<QByteArray>& current,
+ const QList<QByteArray>& previous)
+{
+ Q_UNUSED(previous);
+ Q_ASSERT(m_container->controller()->view()->visibleRoles() == current);
+
+ const QList<AdditionalInfo> previousAdditionalInfoList = m_additionalInfoList;
+
+ m_additionalInfoList.clear();
+ m_additionalInfoList.reserve(current.count());
+ const AdditionalInfoAccessor& infoAccessor = AdditionalInfoAccessor::instance();
+ foreach (const QByteArray& role, current) {
+ if (role != "name") {
+ m_additionalInfoList.append(infoAccessor.additionalInfo(role));
+ }
+ }
+
+ ViewProperties props(url());
+ props.setAdditionalInfoList(m_additionalInfoList);
+
+ emit additionalInfoListChanged(m_additionalInfoList, previousAdditionalInfoList);
+}
+
KFileItemModel* DolphinView::fileItemModel() const
{
return static_cast<KFileItemModel*>(m_container->controller()->model());