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
17namespace Kirigami
18{
19namespace 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 */
28class KIRIGAMIPLATFORM_EXPORT VirtualKeyboardWatcher : public QObject
29{
30 Q_OBJECT
31
32public:
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
58private:
59 class Private;
60 const std::unique_ptr<Private> d;
61};
62
63}
64}
65
66#endif // KIRIGAMI_VIRTUALKEYBOARDWATCHER
67

source code of kirigami/src/platform/virtualkeyboardwatcher.h