]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistheaderwidget.cpp
Merge branch 'Applications/18.12'
[dolphin.git] / src / kitemviews / private / kitemlistheaderwidget.cpp
index cc11e19da3ddb384f1c97296566bbae03d8efbbc..a3f3f521fa4063beb9504a5fbd06893889e72d69 100644 (file)
@@ -18,8 +18,7 @@
  ***************************************************************************/
 
 #include "kitemlistheaderwidget.h"
-
-#include <kitemviews/kitemmodelbase.h>
+#include "kitemviews/kitemmodelbase.h"
 
 #include <QApplication>
 #include <QGraphicsSceneHoverEvent>
@@ -30,7 +29,7 @@
 KItemListHeaderWidget::KItemListHeaderWidget(QGraphicsWidget* parent) :
     QGraphicsWidget(parent),
     m_automaticColumnResizing(true),
-    m_model(0),
+    m_model(nullptr),
     m_offset(0),
     m_columns(),
     m_columnWidths(),
@@ -221,10 +220,11 @@ void KItemListHeaderWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
             // 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);
+            const bool resetSortOrder = m_model->sortOrder() == Qt::DescendingOrder;
+            m_model->setSortRole(current, !resetSortOrder);
             emit sortRoleChanged(current, previous);
 
-            if (m_model->sortOrder() == Qt::DescendingOrder) {
+            if (resetSortOrder) {
                 m_model->setSortOrder(Qt::AscendingOrder);
                 emit sortOrderChanged(Qt::AscendingOrder, Qt::DescendingOrder);
             }