From cad1ddd95683c3d960d69985dab6042c7bfd4de0 Mon Sep 17 00:00:00 2001 From: Keyitdev <70140437+Keyitdev@users.noreply.github.com> Date: Sat, 6 Apr 2024 14:38:19 +0200 Subject: [PATCH] Fix: Fixed password icon and added states. --- Components/Input.qml | 77 +++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/Components/Input.qml b/Components/Input.qml index 06aeabb..6504331 100644 --- a/Components/Input.qml +++ b/Components/Input.qml @@ -216,74 +216,80 @@ Column { height: root.font.pointSize * 4.5 width: parent.width / 2 anchors.horizontalCenter: parent.horizontalCenter - Button { - id: secretCheckBox - - width: parent.height - height: parent.height - anchors.left: parent.left - z: 2 - - background: Rectangle { - color: "transparent" - border.color: "transparent" - } - - CheckBox { id: revealSecret - width: parent.width - height: parent.height - hoverEnabled: true - - indicator: Button { - id: passwordIcon - width: selectUser.height * 1 + z: 2 + width: selectUser.height * 1 height: parent.height anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter anchors.leftMargin: selectUser.height * 0 icon.height: parent.height * 0.25 icon.width: parent.height * 0.25 - enabled: false icon.color: root.palette.text - icon.source: Qt.resolvedUrl("../Assets/Password.svg") - - background: Rectangle { - color: "transparent" - border.color: "transparent" - } + icon.source: Qt.resolvedUrl("../Assets/Password2.svg") + + background: Rectangle { + color: "transparent" + border.color: "transparent" } states: [ State { - name: "unchecked" + name: "visiblePasswordFocused" + when: revealSecret.checked && revealSecret.activeFocus + PropertyChanges { + target: revealSecret + icon.source: Qt.resolvedUrl("../Assets/Password.svg") + icon.color: root.palette.highlight + } + }, + State { + name: "visiblePasswordHovered" + when: revealSecret.checked && revealSecret.hovered + PropertyChanges { + target: revealSecret + icon.source: Qt.resolvedUrl("../Assets/Password.svg") + icon.color: root.palette.highlight + } + }, + State { + name: "visiblePassword" when: revealSecret.checked PropertyChanges { - target: passwordIcon + target: revealSecret icon.source: Qt.resolvedUrl("../Assets/Password.svg") } }, State { - name: "checked" - when: revealSecret.enabled + name: "hiddenPasswordFocused" + when: revealSecret.enabled && revealSecret.activeFocus PropertyChanges { - target: passwordIcon + target: revealSecret icon.source: Qt.resolvedUrl("../Assets/Password2.svg") + icon.color: root.palette.highlight + } + }, + State { + name: "hiddenPasswordHovered" + when: revealSecret.hovered + PropertyChanges { + target: revealSecret + icon.source: Qt.resolvedUrl("../Assets/Password2.svg") + icon.color: root.palette.highlight } } ] + onClicked: toggle() Keys.onReturnPressed: toggle() Keys.onEnterPressed: toggle() KeyNavigation.down: loginButton } - } - TextField { id: password anchors.centerIn: parent @@ -471,7 +477,6 @@ Column { } } ] - onClicked: config.AllowBadUsernames == "false" ? sddm.login(username.text.toLowerCase(), password.text, sessionSelect.selectedSession) : sddm.login(username.text, password.text, sessionSelect.selectedSession) Keys.onReturnPressed: clicked() Keys.onEnterPressed: clicked()