Changeset View
Changeset View
Standalone View
Standalone View
src/kitemviews/private/kitemlistheaderwidget.cpp
Show First 20 Lines • Show All 214 Lines • ▼ Show 20 Line(s) | 212 | if (m_pressedRoleIndex == sortRoleIndex) { | |||
---|---|---|---|---|---|
215 | const Qt::SortOrder current = (m_model->sortOrder() == Qt::AscendingOrder) ? | 215 | const Qt::SortOrder current = (m_model->sortOrder() == Qt::AscendingOrder) ? | ||
216 | Qt::DescendingOrder : Qt::AscendingOrder; | 216 | Qt::DescendingOrder : Qt::AscendingOrder; | ||
217 | m_model->setSortOrder(current); | 217 | m_model->setSortOrder(current); | ||
218 | emit sortOrderChanged(current, previous); | 218 | emit sortOrderChanged(current, previous); | ||
219 | } else { | 219 | } else { | ||
220 | // Change the sort role and reset to the ascending order | 220 | // Change the sort role and reset to the ascending order | ||
221 | const QByteArray previous = m_model->sortRole(); | 221 | const QByteArray previous = m_model->sortRole(); | ||
222 | const QByteArray current = m_columns[m_pressedRoleIndex]; | 222 | const QByteArray current = m_columns[m_pressedRoleIndex]; | ||
223 | m_model->setSortRole(current); | 223 | const bool resetSortOrder = m_model->sortOrder() == Qt::DescendingOrder; | ||
224 | m_model->setSortRole(current, !resetSortOrder); | ||||
224 | emit sortRoleChanged(current, previous); | 225 | emit sortRoleChanged(current, previous); | ||
225 | 226 | | |||
226 | if (m_model->sortOrder() == Qt::DescendingOrder) { | 227 | if (resetSortOrder) { | ||
227 | m_model->setSortOrder(Qt::AscendingOrder); | 228 | m_model->setSortOrder(Qt::AscendingOrder); | ||
228 | emit sortOrderChanged(Qt::AscendingOrder, Qt::DescendingOrder); | 229 | emit sortOrderChanged(Qt::AscendingOrder, Qt::DescendingOrder); | ||
229 | } | 230 | } | ||
230 | } | 231 | } | ||
231 | break; | 232 | break; | ||
232 | } | 233 | } | ||
233 | 234 | | |||
234 | case ResizeRoleOperation: { | 235 | case ResizeRoleOperation: { | ||
▲ Show 20 Lines • Show All 341 Lines • Show Last 20 Lines |