aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/settings.cpp
diff options
context:
space:
mode:
authorSanthosh Kumar <santhosh.kumar.selvaraj@qt.io>2024-01-24 10:26:54 +0100
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2024-03-12 16:42:10 +0200
commita3080e86bfd5d784ab8ba5552793bc11938a7877 (patch)
treee49cff96d8e12a802a9e8e0b57a919ecedf4616e /src/virtualkeyboard/settings.cpp
parent90c9e25827de29dd0ace6d4d2dab0f2af5c86bbb (diff)
Make hide behavior of qt vkb configurable through its settings
The patch 6da66ff611902d8c4d485568d746f49c69f1330f (introdued in Qt6) changed the behavior to handle the hide through platform plugins. But this cause issue for some users, with the concern that the qt virtual keyboard hides after input accepted in Qt5 and not in Qt6. This patch introduced new virtual keyboard settings property closeOnReturn to control the hiding behavior of virtual keyboard. Task-number: QTBUG-112963 Change-Id: Ia9433a7fe14eb896758e05f0943ad461f2790a98 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
Diffstat (limited to 'src/virtualkeyboard/settings.cpp')
-rw-r--r--src/virtualkeyboard/settings.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/virtualkeyboard/settings.cpp b/src/virtualkeyboard/settings.cpp
index a3d4eceb..15d66bbc 100644
--- a/src/virtualkeyboard/settings.cpp
+++ b/src/virtualkeyboard/settings.cpp
@@ -33,7 +33,9 @@ public:
hwrTimeoutForCjk(500),
handwritingModeDisabled(false),
defaultInputMethodDisabled(false),
- defaultDictionaryDisabled(false)
+ defaultDictionaryDisabled(false),
+ visibleFunctionKeys(QtVirtualKeyboard::KeyboardFunctionKey::All),
+ closeOnReturn(false)
{
ensureUserDataPathExists();
}
@@ -64,7 +66,8 @@ public:
bool handwritingModeDisabled;
bool defaultInputMethodDisabled;
bool defaultDictionaryDisabled;
- QtVirtualKeyboard::KeyboardFunctionKeys visibleFunctionKeys = QtVirtualKeyboard::KeyboardFunctionKey::All;
+ QtVirtualKeyboard::KeyboardFunctionKeys visibleFunctionKeys;
+ bool closeOnReturn;
};
static QScopedPointer<Settings> s_settingsInstance;
@@ -357,5 +360,20 @@ void Settings::setVisibleFunctionKeys(QtVirtualKeyboard::KeyboardFunctionKeys ne
}
}
+bool Settings::closeOnReturn() const
+{
+ Q_D(const Settings);
+ return d->closeOnReturn;
+}
+
+void Settings::setCloseOnReturn(bool enabled)
+{
+ Q_D(Settings);
+ if (d->closeOnReturn != enabled) {
+ d->closeOnReturn = enabled;
+ emit closeOnReturnChanged();
+ }
+}
+
} // namespace QtVirtualKeyboard
QT_END_NAMESPACE