summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/Lock/KeyboardController.qml
blob: 09d77a5436554d3e9a7b0217b72f3831968aef8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 {}
    }
}