aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qquickmenu
diff options
context:
space:
mode:
authorHyunkook Khang <hyunkook.khang@qt.io>2021-02-23 10:51:31 +0900
committerMitch Curtis <mitch.curtis@qt.io>2021-05-26 13:51:21 +0200
commit6b687ad7ec46fed10766f5d26809c4fe430db608 (patch)
treee7894ddb58b4735339a9137e4d9e923fb9ac6bfb /tests/auto/qquickmenu
parent14d35455e351f50ce91e71b1e27f6ee58c0c8fd0 (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.cpp42
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);