diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/itemviews/qtableview.cpp | 8 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreeview.cpp | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index 30f2eba912..cf927ef30d 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -3238,11 +3238,11 @@ void QTableView::sortByColumn(int column, Qt::SortOrder order) Q_D(QTableView); if (column < -1) return; - // If sorting is enabled it will emit a signal connected to - // _q_sortIndicatorChanged, which then actually sorts d->horizontalHeader->setSortIndicator(column, order); - // If sorting is not enabled, force to sort now - if (!d->sortingEnabled) + // If sorting is not enabled or has the same order as before, force to sort now + // else sorting will be trigger through sortIndicatorChanged() + if (!d->sortingEnabled || + (d->horizontalHeader->sortIndicatorSection() == column && d->horizontalHeader->sortIndicatorOrder() == order)) d->model->sort(column, order); } diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp index 863a26db4b..ccfeffeda3 100644 --- a/src/widgets/itemviews/qtreeview.cpp +++ b/src/widgets/itemviews/qtreeview.cpp @@ -2629,11 +2629,11 @@ void QTreeView::sortByColumn(int column, Qt::SortOrder order) Q_D(QTreeView); if (column < -1) return; - // If sorting is enabled it will emit a signal connected to - // _q_sortIndicatorChanged, which then actually sorts d->header->setSortIndicator(column, order); - // If sorting is not enabled, force to sort now - if (!d->sortingEnabled) + // If sorting is not enabled or has the same order as before, force to sort now + // else sorting will be trigger through sortIndicatorChanged() + if (!d->sortingEnabled || + (d->header->sortIndicatorSection() == column && d->header->sortIndicatorOrder() == order)) d->model->sort(column, order); } |