| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Pick-to: 5.15
Change-Id: I52b86c0e5d271ad8d5b2cb6ed6f5d5ae05107deb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: Id049064e30fbebaa8176bd9e527b5488a2104adf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When building the keyboard statically with CONFIG+=disable-layouts and
CONFIG+=no-builtin-style, there would be linker errors due to
Q_INIT_RESOURCE being defined unconditionally. Put these lines behind
Change-Id: Id181cf078237abb54893675c9efaf06b4860678d
Fixes: QTBUG-83187
Reviewed-by: Risto Avila <risto.avila@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This port makes sure that all the features that are currently tested in
the CI are complete and that the tests pass.
lipi-toolkit can't be tested since it's currently broken in qmake.
Myscript wasn't tested as it is also not tested in coin and the SDK is
not available.
T9Write wasn't tested as the SDK is not avaialble.
Removed outdated src/virtualkeyboard/styles/styles.pro.
The styles seem to be in src/styles now.
Change-Id: Ibba41d592c51a19dee63840c02a945ec7b1d721e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Fix deprecation warnings:
extensionloader.cpp:65:84: warning: ‘QList<ValueType> QHash<K, V>::values(const Key&) const [with Key = QString; T = QJsonObject]’ is deprecated: Use QMultiHash for hashes storing multiple values with the same key. [-Wdeprecated-declarations]
extensionloader.cpp:108:44: warning: ‘QHash<K, V>::iterator QHash<K, V>::insertMulti(const Key&, const T&) [with Key = QString; T = QJsonObject]’ is deprecated: Use QMultiHash for hashes storing multiple values with the same key. [-Wdeprecated-declarations]
plugin.cpp:82:63: warning: 'QList<T> QHash<K, V>::uniqueKeys() const [with Key = QString; T = QJsonObject]' is deprecated: Use QMultiHash for hashes storing multiple values with the same key. [-Wdeprecated-declarations]
Change-Id: I55d3fdd1d46cb61ba7eee3b9f261acf2dfcda7ea
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
Follow up to 67e497ff407441515761b312599cb4ad6b61adad, and a
pre-requisite for bumping all versions in QML import statements.
Change-Id: I1f8d788d7c52c979dde2b3fb3141583cece7a286
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Since the virtual keyboard is still usable even without the plugins,
then it should have the latest version registered here instead of
depending on the plugins to do it for us.
Change-Id: I109e2f452341defbd78831235a35c494d5e44ff6
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Resources used by qtvirtualkeyboard must (still) be initialized manually
in static build. The reason for this is that the resources are located
in the virtualkeyboard module, not in the plugin.
Layouts resources in plugins must have unique name. This change renames the
layouts resource file in each plugin. Otherwise the Q_INIT_RESOURCE does not
work, since all use the same name.
Finally, rename the static resource files to avoid using too generic name and
clash with the user application.
Change-Id: I53054605f14ff8a7b61ce2736f61e456b6c3ee88
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change moves the QML type registration from platform input
context plugin to respective QML plugins:
QtQuick.VirtualKeyboard (import.pro)
QtQuick.VirtualKeyboard.Settings (settings.pro)
Input method types (e.g. from the virtual keyboard plugins) are still
registered in the qtvirtualkeyboard module, but with new URI:
QtQuick.VirtualKeyboard.Plugins (plugin.pro)
This change is necessary, because the Quick.VirtualKeyboard URI is now
reserved for the QML module.
Like before, the Quick.VirtualKeyboard module cannot be used without
setting QT_IM_MODULE=qtvirtualkeyboard environment variable.
The main motivation for this change was to make plugins.qmltypes
generation possible for C++ based QML types.
Change-Id: Ieb449eb73e0fa33e9a1686d471cc4284982ea1bd
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: Idf2447736ef72fa0fb4dfeacc3386ed7b4fe41c9
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes the QtVirtualKeyboard namespace from the public API.
This change was suggested in the API review. Use of namespace is
uncommon in a public Qt module. Prefixed names are preferred instead.
[ChangeLog] Removed QtVirtualKeyboard namespace from the public C++ API and
prefixed class names with QVirtualKeyboard. The new class names are
QVirtualKeyboardAbstractInputMethod, QVirtualKeyboardInputContext,
QVirtualKeyboardInputEngine, QVirtualKeyboardSelectionListModel and
QVirtualKeyboardTrace.
Change-Id: I52d35090b544dc7e8c8c8e5632ce24c455730755
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of this change is to reduce the number of public API in the
virtual keyboard.
This change moves a lot of stuff from InputContext to ShiftHandler and
InputContextPrivate and exposes the private API to QML through
InputContext.priv property.
Almost all the unrelevant APIs were moved away, except some properties
and methods needed by selection control. These were left intact because
moving them is not trivial.
Change-Id: I1f23f5f54bc21c68996cb220a66d16d34b5d14ce
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds user dictionary and learning function for Hunspell.
Learning happens when the user selects the first candidate from the
word candidate list (or presses the space key while the first candidate
is selected) and the word does not exist in the default dictionary.
User can remove a word from user dictionary by long pressing an item
on the word candidate list (and selecting from the menu). This also
allows the user to block words originating from the system dictionary.
The Hunspell user dictionary is hard limited to 100 words. However, when
user enters a word again (which exists in the user dictionary), it will
be prioritized in the dictionary, so the most frequent words stay in the
dictionary.
The dictionaries are language and locale specific and are stored in:
QStandardPaths::GenericConfigLocation + "/qtvirtualkeyboard/hunspell"
The dictionaries are UTF-8 encoded text files and contain one word per line.
The same directory also contains the blacklist files (which also exist per
language and locale). These files contain words which are blacklisted from
the default dictionary.
[ChangeLog] Added user dictionary and learning for Hunspell
Change-Id: Ib0fc70f7eaa14ec49b74000144a75c59313ac0fb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Added new property "opacity" for Trace.
[ChangeLog][Trace] Added opacity property.
Change-Id: Ie1cc5fe2567e4223bfc64c67c6ead11e38e46193
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
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>
|