diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Modules/Lock/KeyboardController.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/dms/Modules/Lock/KeyboardController.qml | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Modules/Lock/KeyboardController.qml b/raveos-hyprland-theme/theme-data/dms/Modules/Lock/KeyboardController.qml new file mode 100644 index 0000000..09d77a5 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/dms/Modules/Lock/KeyboardController.qml @@ -0,0 +1,40 @@ +pragma ComponentBehavior: Bound + +import QtQuick + +Item { + id: keyboard_controller + + // reference on the TextInput + property Item target + //Booléan on the state of the keyboard + property bool isKeyboardActive: false + + property var rootObject + + function show() { + if (!isKeyboardActive && keyboard === null) { + keyboard = keyboardComponent.createObject( + keyboard_controller.rootObject) + keyboard.target = keyboard_controller.target + keyboard.dismissed.connect(hide) + isKeyboardActive = true + } else + console.log("The keyboard is already shown") + } + + function hide() { + if (isKeyboardActive && keyboard !== null) { + keyboard.destroy() + isKeyboardActive = false + } else + console.log("The keyboard is already hidden") + } + + // private + property Item keyboard: null + Component { + id: keyboardComponent + Keyboard {} + } +} |