]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Reset to ascending sort order when changing the column
authorPeter Penz <peter.penz19@gmail.com>
Thu, 26 Apr 2012 19:27:59 +0000 (21:27 +0200)
committerPeter Penz <peter.penz19@gmail.com>
Thu, 26 Apr 2012 19:29:33 +0000 (21:29 +0200)
When changing the sort-column the sort order should always be reset
to 'ascending' to by consistent with the QListView behavior.

BUG: 298830
FIXED-IN: 4.9.0

src/kitemviews/private/kitemlistheaderwidget.cpp

index 576516f25227419f1b6bd9aee66d73cb22aa3161..0f1f20b82bd38ab351e27c8e376b32f681b80ffb 100644 (file)
@@ -228,11 +228,16 @@ void KItemListHeaderWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
             m_model->setSortOrder(current);
             emit sortOrderChanged(current, previous);
         } else {
             m_model->setSortOrder(current);
             emit sortOrderChanged(current, previous);
         } else {
-            // Change the sort role
+            // Change the sort role and reset to the ascending order
             const QByteArray previous = m_model->sortRole();
             const QByteArray current = m_columns[m_pressedRoleIndex];
             m_model->setSortRole(current);
             emit sortRoleChanged(current, previous);
             const QByteArray previous = m_model->sortRole();
             const QByteArray current = m_columns[m_pressedRoleIndex];
             m_model->setSortRole(current);
             emit sortRoleChanged(current, previous);
+
+            if (m_model->sortOrder() == Qt::DescendingOrder) {
+                m_model->setSortOrder(Qt::AscendingOrder);
+                emit sortOrderChanged(Qt::AscendingOrder, Qt::DescendingOrder);
+            }
         }
         break;
     }
         }
         break;
     }