| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Port settings plugin to declarative type registration
- Port styles plugin to declarative type registration
- Dissect Components QML module from QtQuick.VirtualKeyboard
Previously the QML components included in this module were located in
the resources of virtualkeyboard Qt module and registered via manual
type registration.
Since migrating away from manual type registration, it is time to move
these components out of the QtQuick.VirtualKeyboard namespace where they
did not belong in the first place. They are implementation detail of the
VirtualKeyboard and the VirtualKeyboard layouts. There is no use for
them outside of this scope.
- Add QtQuick.VirtualKeyboard.Plugins QML module
- Port hangul to declarative type registrations
- Port openwnn to declarative type registrations
- Port tcime to declarative type registrations
- Port thai to declarative type registrations
- Port hunspell to declarative type registrations
- Port pinyin to declarative type registrations
- Port cerence to declarative type registrations
- Port myscript to declarative type registrations
- Add VirtualKeyboardFeatures namespace for feature detection
- Remove QVirtualKeyboardInputContextPrivate::inputMethods property
This is no longer needed (and cannot be supported) because of the new
QML module based extensions model.
Runtime feature detection is happens on the VirtualKeyboardFeatures
namespace.
- Remove Q_VKB_IMPORT_PLUGIN
- Remove extensionloader (replaced with QML modules)
This is no longer needed as all the extensions have been ported to QML
modules.
- Remove QML dependency from platforminputcontext plugin
Since all the extra functionality (extensions, qml types registrations)
have been moved out of this plugin, we can remove the dependency to QML
module too.
- Move keyboard layouts to Layouts plugin (but keep them as resources)
Previously the keyboard layouts were located in the resources of the
QtQuick.VirtualKeyboard plugin. This change moves them to new
QtQuick.VirtualKeyboard.Layouts QML module. This module is loaded by
explicit (qmldir) import at QtQuick.VirtualKeyboard plugin.
We cannot make the layouts as compiled qml, because it will prevent
from using resource path overload currently used by vendor plugins to
override keyboard layouts.
- Move builtin styles to new module QtQuick.VirtualKeyboard.Styles.Builtin
No changes to style loading mechanism - the styles are still loaded
using Loader. The internal resource path for builtin styles changed from
:/QtQuick/VirtualKeyboard/content/styles
to
:/QtQuick/VirtualKeyboard/Styles/Builtin
This has no impact on external users, because it can already specify
custom style path using settings API.
[ChangeLog] Virtual Keyboard extension mechanism was replaced with QML modules.
Previously the virtual keyboard was using plugin mechanism with custom
interface to load extensions. With the introduction of declarative type
registration, this interface became obsolete. All of the existing virtual
keyboard extensions are now registered as standard QML modules, loaded
implicitly by the QtQuick.VirtualKeyboard module. This change does not impact
the users of the virtual keyboard public API.
Task-number: QTBUG-100783
Fixes: QTBUG-92212
Fixes: QTBUG-100705
Fixes: QTBUG-95680
Fixes: QTBUG-95660
Change-Id: Id2f87670d2678fa0b18bae56ee172bf206d99d3a
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-95664
Pick-to: 6.2 6.1 5.15
Change-Id: Ic27fffc7e1888a9f7904716f3bb4b32eb672b4fb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog] Add new settings VirtualKeyboardSettings.defaultInputMethodDisabled
and VirtualKeyboardSettings.defaultDictionaryDisabled.
Change-Id: Ica735c1072bb87d97f9cc9a0fb515d3eb6da2aa2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This property allows to disable handwriting mode at runtime.
[ChangeLog] Add new setting VirtualKeyboardSettings.disableHandwritingMode,
which allows to disable handwriting mode at runtime.
Change-Id: I5f057cccb6d6e88470d01f43e8f4735fdd436f30
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This property allows to set persistent input method hints.
[ChangeLog] Add new setting VirtualKeyboardSettings.inputMethodHints,
which allows the application to set persistent application wide
input method hints.
Change-Id: Iaa54a360d80c5def88f53aa8b8510c7cf041208c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The default userDataPath is set to QStandardPaths::GenericConfigLocation.
- Add a signal for application to indicate user data reset.
[ChangeLog] Added new property to settings
VirtualKeyboardSettings.userDataPath. This allows the application
or middleware to change the path to user files at runtime. Added
also a signal to indicate user data reset - when the application
triggers the signal, the virtual keyboard closes all files in the
user's directory.
Change-Id: I248a5b08c86b3fe7124a8d3f362c8f72e07b92c0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog] The language list can now be sorted in any order by
specifying the order in the active language list.
Change-Id: Id61433a9d4503c1fe779b3b9377c3346d457c777
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This follows what was done in d28c9f6a for Qt Quick Controls 2.
The latest import version (e.g. 2.14 in Qt 5.14) will automatically be
registered whenever the Qt version is bumped.
This avoids needing to wait until a new type is added (or a new
revision is added to an existing type) before being able to use the
newest Qt Quick version.
Change-Id: Ic2b59f50bfae8fed5148eae9596578adb0aadb52
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Enforce proper string cast using QT_NO_CAST_TO_ASCII and friends.
Change-Id: I039b23144c8d57f12aad1c27f29654b382078222
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Include all the virtual keyboard header files using module
include path.
Change-Id: I93eada70edeb66313b05df6cecf6a9412d7bc0c4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the extension interface it is possible to add new input
method and/or languages without recompiling the Qt Virtual
Keyboard plugin itself.
The existing input methods are now isolated into plugins.
So installing a new input method is a matter of copying the
corresponding extension plugin to the plugins/virtualkeyboard
directory (and any collateral required by the extension plugin
itself).
This change also renames the HunspellInputMethod to
DefaultInputMethod. This change is necessary because some other
extension plugin may want to provide the default input method
instead.
Implementation plan
===================
[x] Create virtualkeyboard-private module
[x] Create plugin library
[x] Define interface for input method plugin
[x] Define interface for keyboard layouts
[x] Move existing input methods and layouts to plugins
[x] HangulInputMethod
[x] HunspellInputMethod
[x] Maybe create a private library for sharing
between HunspellInputMethod and LipiInputMethod
[x] LipiInputMethod
[x] OpenWnnInputMethod
[x] PinyinInputMethod
[x] T9WriteInputMethod
[x] TCInputMethod
[o] Rename some C++ classes (too generic name?)
[x] Think again replacing the QtVirtualKeyboard namespace
[x] Update documentation
[x] General instructions for creating a plugin
[x] For the C++ interfaces too (previously removed)
[ChangeLog][Important Behavior Changes] Introduce an extension
interface for the virtual keyboard. All the current input methods and
some special keyboard layouts (e.g. Hunspell, OpenWnn, etc.) have been
moved to extensions. The extension interface allows third party to
create a new input method without having to modify or rebuild the
virtual keyboard. In addition, this change makes it possible to add
features and languages independently by copying the desired extension
to the system.
[ChangeLog][Important Behavior Changes] Introduce a virtualkeyboard
module, which can be linked against an extension plugin. This module
provides the C++ API necessary for creating an input method.
[ChangeLog][Important Behavior Changes] Wrap the entire virtual
keyboard API into Qt namespace (e.g. QT_BEGIN_NAMESPACE/QT_END_NAMESPACE).
Task-number: QTBUG-57602
Change-Id: I449f4429109f596a7a1df7517c81f97d4aada27c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ic443284cb2ae46839cbd90d133c6a503bf721058
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch updates the VirtualKeyboardSettings class to use
QRegularExpression in place of QRegExp which is to be considered
deprecated.
Change-Id: Ib7cecc0070f86b63793e3f3876a44710a0ecc394
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/virtualkeyboard/pinyindecoderservice.cpp
src/virtualkeyboard/tcinputmethod.cpp
Change-Id: Ie111173f60bc622ceda18bd5ee4a0e4b0e0a00ae
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change modifies encoding of the following environment variables:
- QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH
- QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY
- QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY
- QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY
- QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY
- QT_VIRTUALKEYBOARD_LAYOUT_PATH
- LIPI_ROOT
- LIPI_LIB
Previously they were read using qgetenv and latin1 encoding. Now they
are read using qEnvironmentVariable, which handles the encoding properly.
[ChangeLog] Fixed encoding of path environment variables.
Task-number: QTBUG-62328
Change-Id: I8e32c111a498d3b57259fe6dd96290545f10030a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
| |
[ChangeLog] Added build time option to exclude all styles from
the plugin.
Change-Id: I7b965cfb10eb0c140c2910c5321615758bb18b95
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
QtQuickCompiler workarounds are no longer required with Qt 5.11 and need
to be removed to fix build failure where private/qqmlmetatype_p.h was not
found, since QT+=qml-private is no longer done by qtquickcompiler.prf.
Change-Id: I48f640a5b7196b295de89589d14061011ed920fc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
This patch adds the missing include statements for QRegExp.
Change-Id: I8dc1f257e34b20e93ba4d64da9c7ab8f5f97e88d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In full screen mode the virtual keyboard replicates the contents of
the focused input field to full screen input field located on top
of keyboard.
This mode can be activated by VirtualKeyboardSettings.fullScreenMode.
[ChangeLog] Added full screen input mode for super wide screens.
Change-Id: Ib2650c04767fb0945cc2bedc5b1801d254a15a41
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This feature, when enabled, automatically commits the remaining single
word in the word candidate list, when there was initially multiple
candidates.
This feature can be enabled from settings using
VirtualKeyboardSettings.wordSelectionList.autoCommitWord property.
[ChangeLog] Added support for automatic selection of the only remaining
word in the suggestion list.
Change-Id: Iecfafcaeb3ccb72e1d8e53b92c395b0d1dc84163
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for automatically hiding word candidate list
when inactive. This feature includes the following enhancements:
- Added new settings:
* VirtualKeyboardSettings.wordCandidateList.autoHideDelay
* VirtualKeyboardSettings.wordCandidateList.alwaysVisible
- Automatic hiding of word candidate list when inactive and when
autoHideDelay elapsed.
- alwaysVisible setting restores the old functionality.
- Added new signal selectionListsChanged() to input method, allowing
the input method to dynamically allocate or deallocate selection
lists.
- HunspellInputMethod does not allocate selection list when
dictionary cannot be loaded, or Qt::ImhNoPredictiveText is enabled.
Also, it will no longer use pre-edit text in this case.
- OpenWnnInputMethod does not allocate selection list if not needed.
[ChangeLog] Automatically hide word candidate list when inactive.
Change-Id: Ifa95ae8a7c47a96719ffdc2929601ff2ef9c0d2e
Reviewed-by: Gordan Markus <gordan.markus@pelagicore.com>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/config.pri
tests/auto/inputpanel/data/tst_inputpanel.qml
Change-Id: Ib84bbfee8097cf807dbdffb37dfdfc344fc2dbbf
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
Change-Id: I2aac70f4bf65794c73096ec575c9f72bc63ec61c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Link to separate QML types and C++ classes topics from front page
(instead of listing the types there)
- Turn the \page topic that lists all QML types into the \qmlmodule
topic for the module
- Add a \module topic to list C++ classes
- Add \ingroup, \title, and \brief commands to \qmlmodule topics
to display the docs correctly in tables
- Add standard content to \qmlmodule topics
- Remove unused \qmlmodule topics
- Fix \inmodule commands as necessary
Change-Id: I6f6538264fff2ad38994114a2fed7212495a18c2
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic5248c0fad4c23bb3b3fbe0c71d315fbdf07f54c
Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add possibility to override and exclude built-in keyboard layouts
* Add QT_VIRTUALKEYBOARD_LAYOUT_PATH environment variable specifying
the layout location on the file system or inside a qrc resource
* Update documentation accordingly
[ChangeLog] Add support for external keyboard layouts, which allows overriding and exclusion of the built-in keyboard layouts
Task-number: QTBUG-54254
Change-Id: I960b942c031221d29dbdf1cabed78be8d32f43ef
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Import was previously allowed from two locations:
* qrc:/QtQuick/VirtualKeyboard/content/styles/
* The first import path containing
QtQuick/VirtualKeyboard/Styles/
This prevents an application-supplied style outside of
these locations from being used, even if the style name is unique.
[ChangeLog] Added support for styles in any Qml import path
under the directory QtQuick/VirtualKeyboard/Styles/<style>
Change-Id: Ie6034709182f182efacb0317e49d095d51ced5a6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog] Renamed QML import from
"import QtQuick.Enterprise.VirtualKeyboard" to
"import QtQuick.VirtualKeyboard", as the module is now open-source.
Change-Id: I240a3c1b598ca4aa41d2aad02b6e548622308833
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
| |
It's faster.
Change-Id: Ic8fba4775a45d0eeb3cfd45eb40e51d14d3dce3f
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Use qAsConst to prevent detaching where it's needed.
qAsConst is not acceptable for rvalues, therefore catch them by
const auto.
Result: reduce text size.
Change-Id: If773827f24dc5a45c264ad2ed6060c1a99720040
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|\
| |
| |
| | |
Change-Id: Ib2e0f6c524f72a6048ce4880fcd5494a26a0d199
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The assumption that the QML import path is always last fails for the deployed
case, in which the imports are directory under the binaries.
Task-number: QTBUG-50730
Change-Id: Iea8b73d78375b6d211095fcb8ecc00e2127f4884
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|/
|
|
|
|
| |
Change-Id: I0dc6af72a3ae52a0b97b704df84fb1a8197aeeb8
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
This change modifies the internal resource paths and makes them unique
in the global context to avoid conflict with the application namespace.
Change-Id: I72b17b744e07f5a94bb5ba99f3632d7f67b307ae
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
Since the virtual keyboard C++ interface is wrapped inside a
namespace, it is possible to get rid of "Declarative" name
in the class names, that would otherwise conflict with the
QML namespace in the documentation.
- Rename DeclarativeSettings to VirtualKeyboardSettings
- Remove "Declarative" from class names
The rationale for this change is that the name Declarative
refers to now obsolete QtQuick1 module. Also, the class names
are now the same in C++ and QML name spaces.
Change-Id: Ide050d47110443d894d95d35dddf0df5891587be
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|