aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2021-01-27 20:52:21 +0200
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2021-01-29 13:30:27 +0200
commit5b81a2895b1ef6073220a50f8ff81f57c50db388 (patch)
treed68a720b8a90f383689e8f3e8b25fce447b2c0b1
parent203806f061ddc5cf1da88bd926b06a33604533eb (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.cpp36
-rw-r--r--src/virtualkeyboard/settings_p.h8
-rw-r--r--src/virtualkeyboard/virtualkeyboardsettings.cpp40
-rw-r--r--src/virtualkeyboard/virtualkeyboardsettings_p.h10
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();