| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: If41bd31f1fcec5647197ca6834909f4011fe87fa
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: I705129c56e968a72cf3d4de5b37b092cee93965c
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>
|
|
|
|
|
|
| |
Change-Id: I0dc6af72a3ae52a0b97b704df84fb1a8197aeeb8
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
Reviewed-by: Rainer Keller <rainer.keller@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>
|