KWin
Loading...
Searching...
No Matches
kcmvirtualkeyboard.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <KQuickManagedConfigModule>
10#include <KService>
11#include <QAbstractListModel>
12
13class KDesktopFile;
14class VirtualKeyboardData;
15class VirtualKeyboardSettings;
16
17class VirtualKeyboardsModel : public QAbstractListModel
18{
19 Q_OBJECT
20public:
21 enum Roles {
22 DesktopFileNameRole = Qt::UserRole + 1,
23 };
24 Q_ENUM(Roles)
25
26 VirtualKeyboardsModel(QObject *parent = nullptr);
27 QVariant data(const QModelIndex &index, int role) const override;
28 int rowCount(const QModelIndex &parent) const override;
29
30 QHash<int, QByteArray> roleNames() const override;
31
32 Q_SCRIPTABLE int inputMethodIndex(const QString &desktopFile) const;
33
34private:
35 KService::List m_services;
36};
37
38class KcmVirtualKeyboard : public KQuickManagedConfigModule
39{
40 Q_OBJECT
41 Q_PROPERTY(VirtualKeyboardSettings *settings READ settings CONSTANT)
42 Q_PROPERTY(QAbstractItemModel *model READ keyboardsModel CONSTANT)
43
44public:
45 explicit KcmVirtualKeyboard(QObject *parent, const KPluginMetaData &metaData);
46 ~KcmVirtualKeyboard() override;
47
48 VirtualKeyboardSettings *settings() const;
50 {
51 return m_model;
52 }
53
54private:
55 VirtualKeyboardData *m_data;
56 VirtualKeyboardsModel *const m_model;
57};
VirtualKeyboardSettings * settings
VirtualKeyboardsModel * keyboardsModel() const
QAbstractItemModel * model
Q_SCRIPTABLE int inputMethodIndex(const QString &desktopFile) const
VirtualKeyboardsModel(QObject *parent=nullptr)
QHash< int, QByteArray > roleNames() const override
int rowCount(const QModelIndex &parent) const override
QVariant data(const QModelIndex &index, int role) const override
#define explicit