diff options
author | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2021-01-27 20:52:21 +0200 |
---|---|---|
committer | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2021-01-29 13:30:27 +0200 |
commit | 5b81a2895b1ef6073220a50f8ff81f57c50db388 (patch) | |
tree | d68a720b8a90f383689e8f3e8b25fce447b2c0b1 | |
parent | 203806f061ddc5cf1da88bd926b06a33604533eb (diff) |
Add new setting for handwriting timeout
- Added new properties VirtualKeyboardSettings.hwrTimeoutForAlphabetic
and VirtualKeyboardSettings.hwrTimeoutForCjk.
- The usage of these properties depends on the plugins (e.g. T9 Write).
[ChangeLog] Add new settings VirtualKeyboardSettings.hwrTimeoutForAlphabetic
and VirtualKeyboardSettings.hwrTimeoutForCjk to allow the application to
adjust the handwriting recognition timeout.
Change-Id: Id80de20c3ebc8ff97741cf6514b987070d55d66e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r-- | src/virtualkeyboard/settings.cpp | 36 | ||||
-rw-r--r-- | src/virtualkeyboard/settings_p.h | 8 | ||||
-rw-r--r-- | src/virtualkeyboard/virtualkeyboardsettings.cpp | 40 | ||||
-rw-r--r-- | src/virtualkeyboard/virtualkeyboardsettings_p.h | 10 |
4 files changed, 93 insertions, 1 deletions
diff --git a/src/virtualkeyboard/settings.cpp b/src/virtualkeyboard/settings.cpp index 2bf8c469..f542edaf 100644 --- a/src/virtualkeyboard/settings.cpp +++ b/src/virtualkeyboard/settings.cpp @@ -54,7 +54,9 @@ public: fullScreenMode(false), userDataPath(QStringLiteral("%1/qtvirtualkeyboard") .arg(QStandardPaths::writableLocation( - QStandardPaths::GenericConfigLocation))) + QStandardPaths::GenericConfigLocation))), + hwrTimeoutForAlphabetic(500), + hwrTimeoutForCjk(500) { ensureUserDataPathExists(); } @@ -79,6 +81,8 @@ public: bool wclAutoCommitWord; bool fullScreenMode; QString userDataPath; + int hwrTimeoutForAlphabetic; + int hwrTimeoutForCjk; }; static QScopedPointer<Settings> s_settingsInstance; @@ -266,5 +270,35 @@ void Settings::setUserDataPath(const QString &userDataPath) } } +int Settings::hwrTimeoutForAlphabetic() const +{ + Q_D(const Settings); + return d->hwrTimeoutForAlphabetic; +} + +void Settings::setHwrTimeoutForAlphabetic(int hwrTimeoutForAlphabetic) +{ + Q_D(Settings); + if (d->hwrTimeoutForAlphabetic != hwrTimeoutForAlphabetic) { + d->hwrTimeoutForAlphabetic = hwrTimeoutForAlphabetic; + emit hwrTimeoutForAlphabeticChanged(); + } +} + +int Settings::hwrTimeoutForCjk() const +{ + Q_D(const Settings); + return d->hwrTimeoutForCjk; +} + +void Settings::setHwrTimeoutForCjk(int hwrTimeoutForCjk) +{ + Q_D(Settings); + if (d->hwrTimeoutForCjk != hwrTimeoutForCjk) { + d->hwrTimeoutForCjk = hwrTimeoutForCjk; + emit hwrTimeoutForCjkChanged(); + } +} + } // namespace QtVirtualKeyboard QT_END_NAMESPACE diff --git a/src/virtualkeyboard/settings_p.h b/src/virtualkeyboard/settings_p.h index d026c74a..b2052ac8 100644 --- a/src/virtualkeyboard/settings_p.h +++ b/src/virtualkeyboard/settings_p.h @@ -94,6 +94,12 @@ public: QString userDataPath() const; void setUserDataPath(const QString &userDataPath); + int hwrTimeoutForAlphabetic() const; + void setHwrTimeoutForAlphabetic(int hwrTimeoutForAlphabetic); + + int hwrTimeoutForCjk() const; + void setHwrTimeoutForCjk(int hwrTimeoutForCjk); + signals: void styleChanged(); void styleNameChanged(); @@ -107,6 +113,8 @@ signals: void fullScreenModeChanged(); void userDataPathChanged(); void userDataReset(); + void hwrTimeoutForAlphabeticChanged(); + void hwrTimeoutForCjkChanged(); }; } // namespace QtVirtualKeyboard diff --git a/src/virtualkeyboard/virtualkeyboardsettings.cpp b/src/virtualkeyboard/virtualkeyboardsettings.cpp index 47f6c1bd..53d4b39c 100644 --- a/src/virtualkeyboard/virtualkeyboardsettings.cpp +++ b/src/virtualkeyboard/virtualkeyboardsettings.cpp @@ -169,6 +169,8 @@ VirtualKeyboardSettings::VirtualKeyboardSettings(QQmlEngine *engine) : connect(settings, SIGNAL(fullScreenModeChanged()), SIGNAL(fullScreenModeChanged())); connect(settings, SIGNAL(userDataPathChanged()), SIGNAL(userDataPathChanged())); settings->connect(this, SIGNAL(userDataReset()), SIGNAL(userDataReset())); + connect(settings, SIGNAL(hwrTimeoutForAlphabeticChanged()), SIGNAL(hwrTimeoutForAlphabeticChanged())); + connect(settings, SIGNAL(hwrTimeoutForCjkChanged()), SIGNAL(hwrTimeoutForCjkChanged())); } /*! @@ -301,6 +303,26 @@ void VirtualKeyboardSettings::setUserDataPath(const QString &userDataPath) return Settings::instance()->setUserDataPath(userDataPath); } +int VirtualKeyboardSettings::hwrTimeoutForAlphabetic() const +{ + return Settings::instance()->hwrTimeoutForAlphabetic(); +} + +void VirtualKeyboardSettings::setHwrTimeoutForAlphabetic(int hwrTimeoutForAlphabetic) +{ + return Settings::instance()->setHwrTimeoutForAlphabetic(hwrTimeoutForAlphabetic); +} + +int VirtualKeyboardSettings::hwrTimeoutForCjk() const +{ + return Settings::instance()->hwrTimeoutForCjk(); +} + +void VirtualKeyboardSettings::setHwrTimeoutForCjk(int hwrTimeoutForCjk) +{ + return Settings::instance()->setHwrTimeoutForCjk(hwrTimeoutForCjk); +} + void VirtualKeyboardSettings::resetStyle() { Q_D(VirtualKeyboardSettings); @@ -423,6 +445,24 @@ void VirtualKeyboardSettings::resetStyle() */ /*! + \qmlproperty bool VirtualKeyboardSettings::hwrTimeoutForAlphabetic + \since QtQuick.VirtualKeyboard.Settings 6.1 + + This property sets the handwriting recognition timeout for alphabetical languages. + + By default, the timeout is 500 millliseconds. +*/ + +/*! + \qmlproperty bool VirtualKeyboardSettings::hwrTimeoutForCjk + \since QtQuick.VirtualKeyboard.Settings 6.1 + + This property sets the handwriting recognition timeout for Chinese / Japanese / Korean languages. + + By default, the timeout is 500 millliseconds. +*/ + +/*! \since QtQuick.VirtualKeyboard.Settings 2.2 \qmlpropertygroup QtQuick.VirtualKeyboard::VirtualKeyboardSettings::wordCandidateList \qmlproperty int QtQuick.VirtualKeyboard::VirtualKeyboardSettings::wordCandidateList.autoHideDelay diff --git a/src/virtualkeyboard/virtualkeyboardsettings_p.h b/src/virtualkeyboard/virtualkeyboardsettings_p.h index 0b7e147c..b43b700c 100644 --- a/src/virtualkeyboard/virtualkeyboardsettings_p.h +++ b/src/virtualkeyboard/virtualkeyboardsettings_p.h @@ -63,6 +63,8 @@ class QVIRTUALKEYBOARD_EXPORT VirtualKeyboardSettings : public QObject Q_PROPERTY(WordCandidateListSettings *wordCandidateList READ wordCandidateList CONSTANT) Q_PROPERTY(bool fullScreenMode READ fullScreenMode WRITE setFullScreenMode NOTIFY fullScreenModeChanged) Q_PROPERTY(QString userDataPath READ userDataPath WRITE setUserDataPath NOTIFY userDataPathChanged REVISION(6, 1)) + Q_PROPERTY(int hwrTimeoutForAlphabetic READ hwrTimeoutForAlphabetic WRITE setHwrTimeoutForAlphabetic NOTIFY hwrTimeoutForAlphabeticChanged REVISION(6, 1)) + Q_PROPERTY(int hwrTimeoutForCjk READ hwrTimeoutForCjk WRITE setHwrTimeoutForCjk NOTIFY hwrTimeoutForCjkChanged REVISION(6, 1)) public: static QObject *registerSettingsModule(QQmlEngine *engine, QJSEngine *jsEngine); @@ -93,6 +95,12 @@ public: QString userDataPath() const; void setUserDataPath(const QString &userDataPath); + int hwrTimeoutForAlphabetic() const; + void setHwrTimeoutForAlphabetic(int hwrTimeoutForAlphabetic); + + int hwrTimeoutForCjk() const; + void setHwrTimeoutForCjk(int hwrTimeoutForCjk); + signals: void styleChanged(); void styleNameChanged(); @@ -103,6 +111,8 @@ signals: void fullScreenModeChanged(); Q_REVISION(6, 1) void userDataPathChanged(); Q_REVISION(6, 1) void userDataReset(); + Q_REVISION(6, 1) void hwrTimeoutForAlphabeticChanged(); + Q_REVISION(6, 1) void hwrTimeoutForCjkChanged(); private: void resetStyle(); |