Warning, file /office/calligra/gemini/KeyboardModel.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2012 Arjen Hiemstra <ahiemstra@heimr.nl> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KEYBOARDMODEL_H 0008 #define KEYBOARDMODEL_H 0009 0010 #include <QAbstractListModel> 0011 #include <QQmlParserStatus> 0012 0013 class KeyboardModel : public QAbstractListModel, public QQmlParserStatus 0014 { 0015 Q_OBJECT 0016 Q_INTERFACES(QQmlParserStatus) 0017 Q_PROPERTY(KeyboardMode mode READ keyboardMode WRITE setKeyboardMode NOTIFY keyboardModeChanged) 0018 Q_PROPERTY(bool useBuiltIn READ useBuiltIn NOTIFY useBuiltInChanged) 0019 0020 public: 0021 enum Roles { 0022 TextRole = Qt::UserRole + 1, 0023 TypeRole, 0024 WidthRole 0025 }; 0026 0027 enum KeyboardMode { 0028 NormalMode, 0029 CapitalMode, 0030 NumericMode 0031 }; 0032 Q_ENUM(KeyboardMode) 0033 0034 enum KeyType { 0035 NormalKey, 0036 SpacerKey, 0037 ShiftKey, 0038 EnterKey, 0039 BackspaceKey, 0040 NumericModeKey, 0041 CloseKey, 0042 LeftArrowKey, 0043 RightArrowKey 0044 }; 0045 Q_ENUM(KeyType) 0046 0047 explicit KeyboardModel(QObject* parent = 0); 0048 ~KeyboardModel() override; 0049 0050 void classBegin() override; 0051 void componentComplete() override; 0052 0053 0054 QHash<int, QByteArray> roleNames() const override; 0055 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; 0056 int rowCount(const QModelIndex& parent = QModelIndex()) const override; 0057 0058 KeyboardMode keyboardMode() const; 0059 void setKeyboardMode(KeyboardModel::KeyboardMode mode); 0060 0061 bool useBuiltIn() const; 0062 0063 Q_SIGNALS: 0064 void keyboardModeChanged(); 0065 bool useBuiltInChanged(); 0066 0067 private: 0068 class Private; 0069 Private * const d; 0070 }; 0071 0072 #endif // KEYBOARDMODEL_H