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