From: Nate Graham Date: Wed, 14 May 2025 01:53:34 +0000 (-0600) Subject: [PATCH] Fix ActionTextField RTL X-Git-Tag: archive/raspbian/6.13.0-2+rpi1^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ca9794d67b181c82b051a768d5aa05f80648263f;p=kf6-kirigami.git [PATCH] Fix ActionTextField RTL This got broken in d8cbb0fd050861a0e08fd45192d311b65d2d4dc3, which was not technically correct; if it worked at the time, it broke since then. This reverts d8cbb0fd050861a0e08fd45192d311b65d2d4dc3 BUG: 504091 FIXED-IN: 6.15 Gbp-Pq: Name upstream_5bf798c3_Fix-ActionTextField-RTL.patch --- diff --git a/src/controls/ActionTextField.qml b/src/controls/ActionTextField.qml index a5bb2b8..53a7933 100644 --- a/src/controls/ActionTextField.qml +++ b/src/controls/ActionTextField.qml @@ -73,11 +73,12 @@ QQC2.TextField { hoverEnabled: true - // Manually setting this fixes alignment in RTL layouts - horizontalAlignment: TextInput.AlignLeft + horizontalAlignment: Qt.AlignLeft + LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft + LayoutMirroring.childrenInherit: true - leftPadding: Kirigami.Units.smallSpacing + (root.effectiveHorizontalAlignment === TextInput.AlignRight ? rightActionsRow : leftActionsRow).width - rightPadding: Kirigami.Units.smallSpacing + (root.effectiveHorizontalAlignment === TextInput.AlignRight ? leftActionsRow : rightActionsRow).width + leftPadding: Kirigami.Units.smallSpacing + (LayoutMirroring.enabled ? rightActionsRow : leftActionsRow).width + rightPadding: Kirigami.Units.smallSpacing + (LayoutMirroring.enabled ? leftActionsRow : rightActionsRow).width Behavior on leftPadding { NumberAnimation { @@ -158,7 +159,6 @@ QQC2.TextField { padding: Kirigami.Units.smallSpacing spacing: Kirigami.Units.smallSpacing layoutDirection: Qt.LeftToRight - LayoutMirroring.enabled: root.effectiveHorizontalAlignment === TextInput.AlignRight anchors.left: parent.left anchors.leftMargin: Kirigami.Units.smallSpacing anchors.top: parent.top @@ -176,7 +176,6 @@ QQC2.TextField { padding: Kirigami.Units.smallSpacing spacing: Kirigami.Units.smallSpacing layoutDirection: Qt.RightToLeft - LayoutMirroring.enabled: root.effectiveHorizontalAlignment === TextInput.AlignRight anchors.right: parent.right anchors.rightMargin: Kirigami.Units.smallSpacing anchors.top: parent.top diff --git a/src/controls/SearchField.qml b/src/controls/SearchField.qml index 1e4d2d2..bccebd5 100644 --- a/src/controls/SearchField.qml +++ b/src/controls/SearchField.qml @@ -58,12 +58,12 @@ Kirigami.ActionTextField { property bool delaySearch: false // padding to accommodate search icon nicely - leftPadding: if (effectiveHorizontalAlignment === TextInput.AlignRight) { + leftPadding: if (Qt.application.layoutDirection === Qt.RightToLeft) { return _rightActionsRow.width + Kirigami.Units.smallSpacing } else { return searchIcon.width + Kirigami.Units.smallSpacing * 3 } - rightPadding: if (effectiveHorizontalAlignment === TextInput.AlignRight) { + rightPadding: if (Qt.application.layoutDirection === Qt.RightToLeft) { return searchIcon.width + Kirigami.Units.smallSpacing * 3 } else { return _rightActionsRow.width + Kirigami.Units.smallSpacing @@ -93,8 +93,7 @@ Kirigami.ActionTextField { EnterKey.type: Qt.EnterKeySearch rightActions: [ Kirigami.Action { - //ltr confusingly refers to the direction of the arrow in the icon, not the text direction which it should be used in - icon.name: root.effectiveHorizontalAlignment === TextInput.AlignRight ? "edit-clear-locationbar-ltr" : "edit-clear-locationbar-rtl" + icon.name: root.LayoutMirroring.enabled ? "edit-clear-locationbar-ltr" : "edit-clear-locationbar-rtl" visible: root.text.length > 0 text: qsTr("Clear search") onTriggered: {