diff options
Diffstat (limited to 'tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml')
-rw-r--r-- | tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml b/tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml new file mode 100644 index 0000000000..9927544e9c --- /dev/null +++ b/tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml @@ -0,0 +1,197 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick + +Rectangle { + id: root + property bool mirror: (Qt.application as Application).layoutDirection == Qt.RightToLeft + LayoutMirroring.enabled: mirror + LayoutMirroring.childrenInherit: true + width: 320 + height: 480 + color: "lightsteelblue" + + Flickable { + anchors { + fill: parent + margins: 10 + } + contentWidth: parent.width + contentHeight: content.height + flickableDirection: Flickable.VerticalFlick + + Column { + id: content + spacing: 10 + anchors { + left: parent.left + right: parent.right + } + + Text { + text: qsTr("Text alignment") + anchors.left: parent.left + } + + Rectangle { + width: textStrings.width + 10 + height: textStrings.height + 10 + color: "white" + anchors.left: parent.left + Column { + anchors.centerIn: parent + id: textStrings + spacing: 5 + width: 148 + Text { + id: englishText + width: parent.width + text: qsTr("English text") + } + Text { + id: arabicText + width: parent.width + text: qsTr("النص العربي") + } + Text { + id: leftAlignedText + width: parent.width + text: qsTr("Text aligned to left") + horizontalAlignment: Text.AlignLeft + } + Text { + id: rightAlignedText + width: parent.width + text: qsTr("Text aligned to right") + horizontalAlignment: Text.AlignRight + } + } + } + + Text { + text: qsTr("Item x") + anchors.left: parent.left + } + Rectangle { + id: items + color: Qt.rgba(0.2, 0.2, 0.2, 0.6) + width: 275 + height: 95 + anchors.left: parent.left + Rectangle { + y: 5 + x: 5 + width: 130 + height: 40 + Text { + text: qsTr("Item with x: 5\n(not mirrored)") + anchors.centerIn: parent + } + } + Rectangle { + color: Qt.rgba(0.7, 0.7, 0.7) + x: mirror(5) + y: 50 + width: 130 + height: 40 + function mirror(value) { + return LayoutMirroring.enabled ? (parent.width - width - value) : value; + } + Text { + text: qsTr("Item with x: %1 \n(manually mirrored)").arg(parent.x) + anchors.centerIn: parent + } + } + } + Text { + text: qsTr("Item anchors") + anchors.left: parent.left + } + + Rectangle { + id: anchoredItems + color: Qt.rgba(0.2, 0.2, 0.2, 0.6) + width: 270 + height: 170 + anchors.left: parent.left + Rectangle { + id: blackRectangle + color: "black" + width: 180 + height: 90 + anchors { + horizontalCenter: parent.horizontalCenter + horizontalCenterOffset: 30 + } + Text { + text: qsTr("Horizontal center anchored\nwith offset 30\nto the horizontal center\nof the parent.") + color: "white" + anchors.centerIn: parent + } + } + Rectangle { + id: whiteRectangle + color: "white" + width: 120 + height: 70 + anchors { + left: parent.left + bottom: parent.bottom + } + Text { + text: qsTr("Left side anchored\nto the left side\nof the parent.") + color: "black" + anchors.centerIn: parent + } + } + Rectangle { + id: grayRectangle + color: Qt.rgba(0.7, 0.7, 0.7) + width: 140 + height: 90 + anchors { + right: parent.right + bottom: parent.bottom + } + Text { + text: qsTr("Right side anchored\nto the right side\nof the parent.") + anchors.centerIn: parent + } + } + } + } + } + + Rectangle { + id: mirrorButton + color: mouseArea2.pressed ? "black" : "gray" + height: 50 + width: 160 + anchors.right: parent.right + anchors.top: parent.top + anchors.margins: 10 + Column { + anchors.centerIn: parent + Text { + text: root.mirror ? qsTr("Mirrored") : qsTr("Not mirrored") + color: "white" + font.pixelSize: 16 + anchors.horizontalCenter: parent.horizontalCenter + } + Text { + text: qsTr("(click here to toggle)") + color: "white" + font.pixelSize: 10 + font.italic: true + anchors.horizontalCenter: parent.horizontalCenter + } + } + MouseArea { + id: mouseArea2 + anchors.fill: parent + onClicked: root.mirror = !root.mirror; + } + } +} + |