diff options
author | Hyunkook Khang <hyunkook.khang@qt.io> | 2021-02-23 10:51:31 +0900 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2021-05-26 13:51:21 +0200 |
commit | 6b687ad7ec46fed10766f5d26809c4fe430db608 (patch) | |
tree | e7894ddb58b4735339a9137e4d9e923fb9ac6bfb /tests/auto/qquickmenu | |
parent | 14d35455e351f50ce91e71b1e27f6ee58c0c8fd0 (diff) |
Fix layout is always RTL when locale is RTL
isMirrored() will always return true when locale is RTL,
so that we cannot change the layout. To fix this, remove out
the relation between LayoutMirroring.enabled and locale's text
direction.
[ChangeLog][Controls][Important Behavior Changes] Control's locale
property no longer affects layout direction. Use LayoutMirroring
instead.
Fixes: QTBUG-91227
Change-Id: Ibedd3f09828f81f1889077892452a27c90e21533
Reviewed-by: Hyunkook Khang <hyunkook.khang@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/qquickmenu')
-rw-r--r-- | tests/auto/qquickmenu/tst_qquickmenu.cpp | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/tests/auto/qquickmenu/tst_qquickmenu.cpp b/tests/auto/qquickmenu/tst_qquickmenu.cpp index 05c96246..92ea452a 100644 --- a/tests/auto/qquickmenu/tst_qquickmenu.cpp +++ b/tests/auto/qquickmenu/tst_qquickmenu.cpp @@ -1236,8 +1236,11 @@ void tst_QQuickMenu::subMenuKeyboard() window->show(); QVERIFY(QTest::qWaitForWindowActive(window)); - if (mirrored) - window->setLocale(QLocale("ar_EG")); + if (mirrored) { + QQmlExpression mirroringExpression(qmlContext(window), window, + "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true"); + QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString())); + } QQuickMenu *mainMenu = window->property("mainMenu").value<QQuickMenu *>(); QVERIFY(mainMenu); @@ -1359,8 +1362,11 @@ void tst_QQuickMenu::subMenuDisabledKeyboard() window->show(); QVERIFY(QTest::qWaitForWindowActive(window)); - if (mirrored) - window->setLocale(QLocale("ar_EG")); + if (mirrored) { + QQmlExpression mirroringExpression(qmlContext(window), window, + "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true"); + QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString())); + } QQuickMenu *mainMenu = window->property("mainMenu").value<QQuickMenu *>(); QVERIFY(mainMenu); @@ -1454,8 +1460,11 @@ void tst_QQuickMenu::subMenuPosition() window->show(); QVERIFY(QTest::qWaitForWindowActive(window)); - if (mirrored) - window->setLocale(QLocale("ar_EG")); + if (mirrored) { + QQmlExpression mirroringExpression(qmlContext(window), window, + "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true"); + QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString())); + } mainMenu->setCascade(cascade); QCOMPARE(mainMenu->cascade(), cascade); @@ -1733,8 +1742,11 @@ void tst_QQuickMenu::menuItemWidth() window->show(); QVERIFY(QTest::qWaitForWindowActive(window)); - if (mirrored) - window->setLocale(QLocale("ar_EG")); + if (mirrored) { + QQmlExpression mirroringExpression(qmlContext(window), window, + "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true"); + QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString())); + } QQuickMenu *menu = window->property("menu").value<QQuickMenu *>(); QVERIFY(menu); @@ -1762,8 +1774,11 @@ void tst_QQuickMenu::menuItemWidthAfterMenuWidthChanged() window->show(); QVERIFY(QTest::qWaitForWindowActive(window)); - if (mirrored) - window->setLocale(QLocale("ar_EG")); + if (mirrored) { + QQmlExpression mirroringExpression(qmlContext(window), window, + "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true"); + QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString())); + } QQuickMenu *menu = window->property("menu").value<QQuickMenu *>(); QVERIFY(menu); @@ -1807,8 +1822,11 @@ void tst_QQuickMenu::menuItemWidthAfterImplicitWidthChanged() window->show(); QVERIFY(QTest::qWaitForWindowActive(window)); - if (mirrored) - window->setLocale(QLocale("ar_EG")); + if (mirrored) { + QQmlExpression mirroringExpression(qmlContext(window), window, + "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true"); + QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString())); + } QQuickMenu *menu = window->property("menu").value<QQuickMenu *>(); QVERIFY(menu); |