summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/itemviews/qtreeview
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2020-08-28 20:56:47 +0200
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2020-09-02 22:44:30 +0200
commit3ddffd2d8b619863930854705ca5577c0389d65f (patch)
tree6e26a6663565a1e6abf5e11d3089b5c7a2188abf /tests/auto/widgets/itemviews/qtreeview
parent26b38510ce5a04ba564c3c281f7587d2fa034d4e (diff)
QTable/TreeView: fix sortByColumn() when view is already sorted
When the view was already sorted by the column and order given to sortByColumn(), a resort was not triggered which is a regression since d0f909f8dbdd8594b0d950822f0e7ab8728da513. Therefore don't rely on sortIndicatorChanged() in this case and trigger an explicit sort as it's done when no user-triggered sorting is enabled Fixes: QTBUG-86268 Change-Id: I3ec30ab81f304d5a19cef6d67b8a81c21b4a112d Pick-to: 5.15 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'tests/auto/widgets/itemviews/qtreeview')
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
index 3445e1edef..94f3e52ff3 100644
--- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
@@ -2852,6 +2852,14 @@ void tst_QTreeView::sortByColumn()
QCOMPARE(view.model()->data(view.model()->index(1, 0)).toString(), QString::fromLatin1("d"));
QCOMPARE(view.model()->data(view.model()->index(0, 1)).toString(), QString::fromLatin1("e"));
QCOMPARE(view.model()->data(view.model()->index(1, 1)).toString(), QString::fromLatin1("g"));
+
+ // a new 'sortByColumn()' should do a re-sort (e.g. due to the data changed), QTBUG-86268
+ view.setModel(&model);
+ view.sortByColumn(0, Qt::AscendingOrder);
+ QCOMPARE(view.model()->data(view.model()->index(0, 0)).toString(), QString::fromLatin1("a"));
+ model.setItem(0, 0, new QStandardItem("x"));
+ view.sortByColumn(0, Qt::AscendingOrder);
+ QCOMPARE(view.model()->data(view.model()->index(0, 0)).toString(), QString::fromLatin1("b"));
}
/*