From 08a485349f2bd73682ac806b97d3630c3a7dd3fd Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 7 Mar 2012 22:12:07 +0100 Subject: Allow custom sorting of details-view columns Fix regression that Dolphin 2.0 did not allow to adjust the sorting of the details-view columns. BUG: 164696 FIXED-IN: 4.8.2 --- src/kitemviews/kitemlistview.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/kitemviews/kitemlistview.cpp') diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 3d8224adb..a54e06ddc 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -619,6 +619,8 @@ void KItemListView::setHeaderShown(bool show) connect(m_header, SIGNAL(visibleRoleWidthChanged(QByteArray,qreal,qreal)), this, SLOT(slotVisibleRoleWidthChanged(QByteArray,qreal,qreal))); + connect(m_header, SIGNAL(visibleRoleMoved(QByteArray,int,int)), + this, SLOT(slotVisibleRoleMoved(QByteArray,int,int))); connect(m_header, SIGNAL(sortOrderChanged(Qt::SortOrder,Qt::SortOrder)), this, SIGNAL(sortOrderChanged(Qt::SortOrder,Qt::SortOrder))); connect(m_header, SIGNAL(sortRoleChanged(QByteArray,QByteArray)), @@ -1237,6 +1239,23 @@ void KItemListView::slotVisibleRoleWidthChanged(const QByteArray& role, } } +void KItemListView::slotVisibleRoleMoved(const QByteArray& role, + int currentIndex, + int previousIndex) +{ + Q_ASSERT(m_visibleRoles[previousIndex] == role); + + const QList previous = m_visibleRoles; + + QList current = m_visibleRoles; + current.removeAt(previousIndex); + current.insert(currentIndex, role); + + setVisibleRoles(current); + + emit visibleRolesChanged(current, previous); +} + void KItemListView::triggerAutoScrolling() { if (!m_autoScrollTimer) { -- cgit v1.3