File indexing completed on 2024-05-12 05:36:19
0001 /* 0002 SPDX-FileCopyrightText: 2020 Bhushan Shah <bshah@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "languagemodel.h" 0008 #include <KQuickConfigModule> 0009 0010 #include <QList> 0011 #include <QString> 0012 0013 #ifndef VIRTUALKEYBOARD_H 0014 #define VIRTUALKEYBOARD_H 0015 0016 class VirtualKeyboard : public KQuickConfigModule 0017 { 0018 Q_OBJECT 0019 Q_PROPERTY(LanguageModel *languageModel MEMBER m_langModel CONSTANT) 0020 0021 Q_PROPERTY(bool spellCheck MEMBER m_spellCheck WRITE setSpellCheck NOTIFY spellCheckChanged) 0022 Q_PROPERTY(bool autoCapitalize MEMBER m_autoCapitalize WRITE setAutoCapitalize NOTIFY autoCapitalizeChanged) 0023 Q_PROPERTY(bool autoCompleteOnSpace MEMBER m_autoCompleteOnSpace WRITE setAutoCompleteOnSpace NOTIFY autoCompleteOnSpaceChanged) 0024 Q_PROPERTY(bool showSuggestions MEMBER m_showSuggestions WRITE setShowSuggestions NOTIFY showSuggestionsChanged) 0025 Q_PROPERTY(bool fullStopOnDoubleSpace MEMBER m_fullStopOnDoubleSpace WRITE setFullStopOnDoubleSpace NOTIFY fullStopOnDoubleSpaceChanged) 0026 0027 Q_PROPERTY(bool soundFeedback MEMBER m_soundFeedback WRITE setSoundFeedback NOTIFY soundFeedbackChanged) 0028 Q_PROPERTY(bool vibrateFeedback MEMBER m_vibrateFeedback WRITE setVibrateFeedback NOTIFY vibrateFeedbackChanged) 0029 0030 public: 0031 VirtualKeyboard(QObject *parent, const KPluginMetaData &metaData); 0032 0033 void setSpellCheck(bool enabled); 0034 void setAutoCapitalize(bool enabled); 0035 void setAutoCompleteOnSpace(bool enabled); 0036 void setShowSuggestions(bool enabled); 0037 void setFullStopOnDoubleSpace(bool enabled); 0038 0039 void setSoundFeedback(bool enabled); 0040 void setVibrateFeedback(bool enabled); 0041 0042 Q_SIGNALS: 0043 void spellCheckChanged(); 0044 void autoCapitalizeChanged(); 0045 void autoCompleteOnSpaceChanged(); 0046 void showSuggestionsChanged(); 0047 void fullStopOnDoubleSpaceChanged(); 0048 void soundFeedbackChanged(); 0049 void vibrateFeedbackChanged(); 0050 0051 private: 0052 GSettingsItem *m_gsettings; 0053 LanguageModel *m_langModel; 0054 0055 // spell check 0056 bool m_spellCheck; 0057 bool m_autoCapitalize; 0058 bool m_autoCompleteOnSpace; 0059 bool m_showSuggestions; 0060 bool m_fullStopOnDoubleSpace; 0061 0062 // feedback 0063 bool m_soundFeedback; 0064 bool m_vibrateFeedback; 0065 }; 0066 0067 #endif