1 | /* |
2 | * SPDX-FileCopyrightText: 2018 Marco Martin <mart@kde.org> |
3 | * SPDX-FileCopyrightText: 2021 Arjen Hiemstra <ahiemstra@heimr.nl> |
4 | * |
5 | * SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #ifndef KIRIGAMI_VIRTUALKEYBOARDWATCHER_H |
9 | #define KIRIGAMI_VIRTUALKEYBOARDWATCHER_H |
10 | |
11 | #include <memory> |
12 | |
13 | #include <QObject> |
14 | |
15 | #include "kirigamiplatform_export.h" |
16 | |
17 | namespace Kirigami |
18 | { |
19 | namespace Platform |
20 | { |
21 | /** |
22 | * @class VirtualKeyboardWatcher virtualkeyboardwatcher.h <Kirigami/VirtualKeyboardWatcher> |
23 | * |
24 | * This class reports on the status of KWin's VirtualKeyboard DBus interface. |
25 | * |
26 | * @since 5.91 |
27 | */ |
28 | class KIRIGAMIPLATFORM_EXPORT VirtualKeyboardWatcher : public QObject |
29 | { |
30 | Q_OBJECT |
31 | |
32 | public: |
33 | VirtualKeyboardWatcher(QObject *parent = nullptr); |
34 | ~VirtualKeyboardWatcher(); |
35 | |
36 | Q_PROPERTY(bool available READ available NOTIFY availableChanged FINAL) |
37 | bool available() const; |
38 | Q_SIGNAL void availableChanged(); |
39 | |
40 | Q_PROPERTY(bool enabled READ enabled NOTIFY enabledChanged FINAL) |
41 | bool enabled() const; |
42 | Q_SIGNAL void enabledChanged(); |
43 | |
44 | Q_PROPERTY(bool active READ active NOTIFY activeChanged FINAL) |
45 | bool active() const; |
46 | Q_SIGNAL void activeChanged(); |
47 | |
48 | Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged FINAL) |
49 | bool visible() const; |
50 | Q_SIGNAL void visibleChanged(); |
51 | |
52 | Q_PROPERTY(bool willShowOnActive READ willShowOnActive NOTIFY willShowOnActiveChanged FINAL) |
53 | bool willShowOnActive() const; |
54 | Q_SIGNAL void willShowOnActiveChanged(); |
55 | |
56 | static VirtualKeyboardWatcher *self(); |
57 | |
58 | private: |
59 | class Private; |
60 | const std::unique_ptr<Private> d; |
61 | }; |
62 | |
63 | } |
64 | } |
65 | |
66 | #endif // KIRIGAMI_VIRTUALKEYBOARDWATCHER |
67 | |