Reset to ascending sort order when changing the column

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
This commit is contained in:
Peter Penz 2012-04-26 21:27:59 +02:00
parent 12c239ae14
commit 2854a69fca

View file

@ -228,11 +228,16 @@ void KItemListHeaderWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
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);
if (m_model->sortOrder() == Qt::DescendingOrder) {
m_model->setSortOrder(Qt::AscendingOrder);
emit sortOrderChanged(Qt::AscendingOrder, Qt::DescendingOrder);
}
}
break;
}