aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-03-21 12:55:36 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-21 08:04:33 +0100
commit80b5612708a115613c534644053eb0d8b2cda108 (patch)
tree28ce7e453e8b1020d452ef68d038a3693564d521 /tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
parentdd952a25aacaba163df22cd35da299c3719f5d73 (diff)
Fix margins for right-to-left mode
The behaviour for considering left and right margins was inconsistent in views with a right to left layout; these values were reversed for extent calculations but not for general positioning. With this change the left and right margins are never reversed in a right-to-left layout, so minXExtent and maxXExtent calculations always use startMargin and endMargin respectively, regardless of layout direction. Also fixes calculation of endOffset in trackedPositionChanged() when in horizontal orientation. Change-Id: Ie00e3d4c2bd38d8fe6ac0213702206b88bfa895e Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests/auto/quick/qquickgridview/tst_qquickgridview.cpp')
-rw-r--r--tests/auto/quick/qquickgridview/tst_qquickgridview.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
index 88ed94d8bc..c7b5ca6b40 100644
--- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
+++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
@@ -3691,31 +3691,32 @@ void tst_QQuickGridView::margins()
QQuickItem *contentItem = gridview->contentItem();
QTRY_VERIFY(contentItem != 0);
- QCOMPARE(gridview->contentX(), -240+30.);
- QCOMPARE(gridview->xOrigin(), 0.);
+ QTRY_COMPARE(gridview->contentX(), -240+50.);
+ QTRY_COMPARE(gridview->xOrigin(), 0.);
// check end bound
gridview->positionViewAtEnd();
qreal pos = gridview->contentX();
gridview->setContentX(pos - 80);
gridview->returnToBounds();
- QTRY_COMPARE(gridview->contentX(), pos - 50);
+ QTRY_COMPARE(gridview->contentX(), pos - 30);
// remove item before visible and check that left margin is maintained
// and xOrigin is updated
gridview->setContentX(-400);
+ QTRY_COMPARE(QQuickItemPrivate::get(gridview)->polishScheduled, false);
model.removeItems(0, 4);
- QTest::qWait(100);
+ QTRY_COMPARE(model.count(), gridview->count());
gridview->setContentX(-240+50);
gridview->returnToBounds();
QCOMPARE(gridview->xOrigin(), -100.);
- QTRY_COMPARE(gridview->contentX(), -240-70.);
+ QTRY_COMPARE(gridview->contentX(), -240-50.);
- // reduce left margin (i.e. right side due to RTL)
+ // reduce right margin
pos = gridview->contentX();
- gridview->setLeftMargin(20);
+ gridview->setRightMargin(40);
QCOMPARE(gridview->xOrigin(), -100.);
- QTRY_COMPARE(gridview->contentX(), -240-80.);
+ QTRY_COMPARE(gridview->contentX(), -240-100 + 40.);
// check end bound
gridview->positionViewAtEnd();
@@ -3723,11 +3724,11 @@ void tst_QQuickGridView::margins()
pos = gridview->contentX();
gridview->setContentX(pos - 80);
gridview->returnToBounds();
- QTRY_COMPARE(gridview->contentX(), pos - 50);
+ QTRY_COMPARE(gridview->contentX(), pos - 30);
- // reduce right margin (i.e. left side due to RTL)
+ // reduce left margin
pos = gridview->contentX();
- gridview->setRightMargin(40);
+ gridview->setLeftMargin(20);
QCOMPARE(gridview->xOrigin(), 0.);
QTRY_COMPARE(gridview->contentX(), pos+10);