summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp')
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp25
1 files changed, 21 insertions, 4 deletions
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index 433b9e55e1..e1d527b398 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -380,8 +380,11 @@ void tst_QListView::cursorMove()
<< Qt::Key_Up << Qt::Key_Up << Qt::Key_Up << Qt::Key_Up << Qt::Key_Up
<< Qt::Key_Left << Qt::Key_Left << Qt::Key_Up << Qt::Key_Down;
- int displayRow = rows / displayColumns - 1;
- int displayColumn = displayColumns - (rows % displayColumns) - 1;
+ int lastRow = rows / displayColumns - 1;
+ int lastColumn = displayColumns - 1;
+
+ int displayRow = lastRow;
+ int displayColumn = lastColumn - (rows % displayColumns);
QApplication::instance()->processEvents();
for (int i = 0; i < keymoves.size(); ++i) {
@@ -395,10 +398,24 @@ void tst_QListView::cursorMove()
displayRow = qMin(rows / displayColumns - 1, displayRow + 1);
break;
case Qt::Key_Left:
- displayColumn = qMax(0, displayColumn - 1);
+ if (displayColumn > 0) {
+ displayColumn--;
+ } else {
+ if (displayRow > 0) {
+ displayRow--;
+ displayColumn = lastColumn;
+ }
+ }
break;
case Qt::Key_Right:
- displayColumn = qMin(displayColumns-1, displayColumn + 1);
+ if (displayColumn < lastColumn) {
+ displayColumn++;
+ } else {
+ if (displayRow < lastRow) {
+ displayRow++;
+ displayColumn = 0;
+ }
+ }
break;
default:
QVERIFY(false);