aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml')
-rw-r--r--tests/manual/righttoleft/layoutmirroring/layoutmirroring.qml197
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;
+ }
+ }
+}
+