summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-08-22 16:18:11 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-22 18:40:17 +0200
commit1839151992b7491508fc7ca726242b64562bf1a0 (patch)
tree85c108321505e2824bc30b5b2d1f5b0a64e45557 /tests
parent0c955b49760519f0a22f07966eb2e27d2e02c6e2 (diff)
Make keyboard search work in the current column, not only the first.
Task-number: QTBUG-26540 Change-Id: I1c365aeb013f5ddedd0589aa4c4844be759a3882 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
index fd93d3f817..ee0920a9ff 100644
--- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
@@ -152,6 +152,7 @@ private slots:
void itemDelegate();
void itemDelegateForColumnOrRow();
void keyboardSearch();
+ void keyboardSearchMultiColumn();
void setModel();
void openPersistentEditor();
void rootIndex();
@@ -1138,6 +1139,35 @@ void tst_QTreeView::keyboardSearch()
QVERIFY(view.selectionModel()->isSelected(model.index(1, 0)));
}
+void tst_QTreeView::keyboardSearchMultiColumn()
+{
+ QTreeView view;
+
+ QStandardItemModel model(4, 2);
+
+ model.setItem(0, 0, new QStandardItem("1")); model.setItem(0, 1, new QStandardItem("green"));
+ model.setItem(1, 0, new QStandardItem("bad")); model.setItem(1, 1, new QStandardItem("eggs"));
+ model.setItem(2, 0, new QStandardItem("moof")); model.setItem(2, 1, new QStandardItem("and"));
+ model.setItem(3, 0, new QStandardItem("elf")); model.setItem(3, 1, new QStandardItem("ham"));
+
+ view.setModel(&model);
+ view.show();
+ qApp->setActiveWindow(&view);
+ QVERIFY(QTest::qWaitForWindowActive(&view));
+
+ view.setCurrentIndex(model.index(0, 1));
+
+ // First item is selected
+ view.keyboardSearch(QLatin1String("eggs"));
+ QVERIFY(view.selectionModel()->isSelected(model.index(1, 1)));
+
+ QTest::qWait(QApplication::keyboardInputInterval() * 2);
+
+ // 'ham' is selected
+ view.keyboardSearch(QLatin1String("h"));
+ QVERIFY(view.selectionModel()->isSelected(model.index(3, 1)));
+}
+
void tst_QTreeView::setModel()
{
QTreeView view;