diff options
Diffstat (limited to 'raveos-sddm-theme/sddm-rave-theme/Components/VirtualKeyboardButton.qml')
| -rw-r--r-- | raveos-sddm-theme/sddm-rave-theme/Components/VirtualKeyboardButton.qml | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/VirtualKeyboardButton.qml b/raveos-sddm-theme/sddm-rave-theme/Components/VirtualKeyboardButton.qml new file mode 100644 index 0000000..90a52b8 --- /dev/null +++ b/raveos-sddm-theme/sddm-rave-theme/Components/VirtualKeyboardButton.qml @@ -0,0 +1,79 @@ +// Config created by Keyitdev https://git.rp1.hu/gabeszm/sddm-rave-theme +// Copyright (C) 2022-2025 Keyitdev +// Distributed under the GPLv3+ License https://www.gnu.org/licenses/gpl-3.0.html + +import QtQuick 2.15 +import QtQuick.Controls 2.15 + +Item { + Button { + id: virtualKeyboardButton + + anchors.horizontalCenter: parent.horizontalCenter + z: 1 + focusPolicy: Qt.TabFocus + + visible: virtualKeyboard.status == Loader.Ready && config.HideVirtualKeyboard == "false" + checkable: true + onClicked: virtualKeyboard.switchState() + + Keys.onReturnPressed: { + toggle(); + virtualKeyboard.switchState(); + } + Keys.onEnterPressed: { + toggle(); + virtualKeyboard.switchState(); + } + + contentItem: Text { + id: virtualKeyboardButtonText + + text: config.TranslateVirtualKeyboardButtonOff || "Virtual Keyboard (off)" + font.pointSize: root.font.pointSize * 0.8 + font.family: root.font.family + color: parent.visualFocus ? config.HoverVirtualKeyboardButtonTextColor : config.VirtualKeyboardButtonTextColor + } + + background: Rectangle { + id: virtualKeyboardButtonBackground + + anchors.fill: parent + radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 10 + color: virtualKeyboardButton.down ? Qt.rgba(1, 1, 1, 0.12) : (virtualKeyboardButton.hovered ? Qt.rgba(1, 1, 1, 0.08) : Qt.rgba(1, 1, 1, 0.04)) + border.color: virtualKeyboardButton.visualFocus ? Qt.rgba(1, 1, 1, 0.60) : (virtualKeyboardButton.hovered ? Qt.rgba(1, 1, 1, 0.35) : Qt.rgba(1, 1, 1, 0.18)) + border.width: virtualKeyboardButton.visualFocus ? 1.5 : 1 + + Behavior on color { ColorAnimation { duration: 150 } } + Behavior on border.color { ColorAnimation { duration: 150 } } + } + states: [ + State { + name: "HoveredAndChecked" + when: virtualKeyboardButton.checked && virtualKeyboardButton.hovered + PropertyChanges { + target: virtualKeyboardButtonText + text: config.TranslateVirtualKeyboardButtonOn || "Virtual Keyboard (on)" + color: config.HoverVirtualKeyboardButtonTextColor + } + }, + State { + name: "checked" + when: virtualKeyboardButton.checked + PropertyChanges { + target: virtualKeyboardButtonText + text: config.TranslateVirtualKeyboardButtonOn || "Virtual Keyboard (on)" + } + }, + State { + name: "hovered" + when: virtualKeyboardButton.hovered + PropertyChanges { + target: virtualKeyboardButtonText + text: config.TranslateVirtualKeyboardButtonOff || "Virtual Keyboard (off)" + color: config.HoverVirtualKeyboardButtonTextColor + } + } + ] + } +}
\ No newline at end of file |