From 35102b362db11828e01e7356c42c4a9e8764ac60 Mon Sep 17 00:00:00 2001 From: Jarkko Koivikko Date: Fri, 24 Aug 2018 10:54:56 +0300 Subject: Move QML types registration to import modules 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 Reviewed-by: Mitch Curtis --- src/import/dependencies.json | 22 + src/import/import.pro | 32 +- src/import/plugins.qmltypes | 1589 ++++++++--------- src/import/qmldir | 9 +- src/import/qtquickvirtualkeyboardplugin.cpp | 149 ++ src/import/qtquickvirtualkeyboardplugin.h | 50 + src/plugin/plugin.cpp | 154 +- src/plugin/plugin.h | 1 - src/plugin/plugin.pro | 2 +- src/settings/plugins.qmltypes | 1353 +-------------- src/settings/qmldir | 5 +- .../qtquickvirtualkeyboardsettingsplugin.cpp | 53 + .../qtquickvirtualkeyboardsettingsplugin.h | 50 + src/settings/settings.pro | 25 +- src/src.pro | 3 + src/styles/SelectionListItem.qml | 3 +- src/styles/plugins.qmltypes | 1802 +++++++++++++++++++- src/styles/qmldir | 5 +- src/styles/qtquickvirtualkeyboardstylesplugin.cpp | 84 + src/styles/qtquickvirtualkeyboardstylesplugin.h | 51 + src/styles/styles.pro | 13 +- src/styles/styles_plugin.cpp | 75 - src/styles/styles_plugin.h | 47 - .../content/components/Keyboard.qml | 5 +- .../content/layouts/ar_AR/digits.qml | 1 + .../content/layouts/ar_AR/handwriting.qml | 2 +- .../content/layouts/ar_AR/numbers.qml | 1 + .../content/layouts/bg_BG/handwriting.qml | 2 +- .../content/layouts/cs_CZ/handwriting.qml | 2 +- .../content/layouts/el_GR/handwriting.qml | 2 +- .../content/layouts/es_ES/handwriting.qml | 2 +- .../content/layouts/es_MX/handwriting.qml | 2 +- .../content/layouts/fa_FA/digits.qml | 1 + .../content/layouts/fa_FA/handwriting.qml | 2 +- .../content/layouts/fa_FA/numbers.qml | 1 + .../content/layouts/fallback/dialpad.qml | 1 + .../content/layouts/fallback/digits.qml | 1 + .../content/layouts/fallback/handwriting.qml | 2 +- .../content/layouts/fallback/numbers.qml | 1 + .../content/layouts/he_IL/handwriting.qml | 2 +- .../content/layouts/hi_IN/handwriting.qml | 2 +- .../content/layouts/hr_HR/handwriting.qml | 2 +- .../content/layouts/hu_HU/handwriting.qml | 2 +- .../content/layouts/ja_JP/handwriting.qml | 2 +- src/virtualkeyboard/content/layouts/ja_JP/main.qml | 2 +- .../content/layouts/ja_JP/symbols.qml | 2 +- .../content/layouts/ko_KR/handwriting.qml | 2 +- src/virtualkeyboard/content/layouts/ko_KR/main.qml | 2 +- .../content/layouts/ko_KR/symbols.qml | 2 +- .../content/layouts/ro_RO/handwriting.qml | 2 +- .../content/layouts/sr_SP/handwriting.qml | 2 +- src/virtualkeyboard/content/layouts/th_TH/main.qml | 2 +- src/virtualkeyboard/content/layouts/uk_UA/main.qml | 2 +- src/virtualkeyboard/content/layouts/vi_VN/main.qml | 2 +- .../content/layouts/vi_VN/symbols.qml | 4 +- .../content/layouts/zh_CN/handwriting.qml | 2 +- src/virtualkeyboard/content/layouts/zh_CN/main.qml | 2 +- .../content/layouts/zh_CN/symbols.qml | 2 +- .../content/layouts/zh_TW/handwriting.qml | 2 +- src/virtualkeyboard/content/layouts/zh_TW/main.qml | 2 +- .../content/layouts/zh_TW/symbols.qml | 2 +- src/virtualkeyboard/doc/src/build.qdoc | 14 +- src/virtualkeyboard/platforminputcontext.cpp | 10 + src/virtualkeyboard/platforminputcontext_p.h | 4 + .../qvirtualkeyboard_staticplugin_p.h | 69 + .../qvirtualkeyboardinputcontext.cpp | 5 +- src/virtualkeyboard/qvirtualkeyboardinputcontext.h | 2 +- .../qvirtualkeyboardinputcontext_p.cpp | 18 +- .../qvirtualkeyboardinputcontext_p.h | 4 +- src/virtualkeyboard/virtualkeyboard.pro | 3 +- 70 files changed, 3369 insertions(+), 2411 deletions(-) create mode 100644 src/import/dependencies.json create mode 100644 src/import/qtquickvirtualkeyboardplugin.cpp create mode 100644 src/import/qtquickvirtualkeyboardplugin.h create mode 100644 src/settings/qtquickvirtualkeyboardsettingsplugin.cpp create mode 100644 src/settings/qtquickvirtualkeyboardsettingsplugin.h create mode 100644 src/styles/qtquickvirtualkeyboardstylesplugin.cpp create mode 100644 src/styles/qtquickvirtualkeyboardstylesplugin.h delete mode 100644 src/styles/styles_plugin.cpp delete mode 100644 src/styles/styles_plugin.h create mode 100644 src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h diff --git a/src/import/dependencies.json b/src/import/dependencies.json new file mode 100644 index 00000000..f5bc2b31 --- /dev/null +++ b/src/import/dependencies.json @@ -0,0 +1,22 @@ +[ + { + "name": "QtQuick", + "type": "module", + "version": "2.0" + }, + { + "name": "QtQuick.Window", + "type": "module", + "version": "2.2" + }, + { + "name": "QtQuick.Layouts", + "type": "module", + "version": "1.0" + }, + { + "name": "Qt.labs.folderlistmodel", + "type": "module", + "version": "2.1" + } +] diff --git a/src/import/import.pro b/src/import/import.pro index 719ad518..c1045ffc 100644 --- a/src/import/import.pro +++ b/src/import/import.pro @@ -1,12 +1,34 @@ +TARGET = qtquickvirtualkeyboardplugin TARGETPATH = QtQuick/VirtualKeyboard -QML_FILES += plugins.qmltypes +IMPORT_VERSION = 2.4 +QT += qml quick virtualkeyboard-private -load(qml_module) +CONFIG += no_cxx_module -# qmltypes target +SOURCES += \ + qtquickvirtualkeyboardplugin.cpp + +HEADERS += \ + qtquickvirtualkeyboardplugin.h + +OTHER_FILES += \ + dependencies.json \ + plugins.qmltypes \ + qmldir + +win32 { + QMAKE_TARGET_PRODUCT = "Qt Virtual Keyboard (Qt $$QT_VERSION)" + QMAKE_TARGET_DESCRIPTION = "Virtual Keyboard for Qt." +} + +load(qml_plugin) + +# qmltypes target override (requires QT_IM_MODULE=qtvirtualkeyboard, -defaultplatform and +# $$PWD/dependencies.json) !cross_compile:if(build_pass|!debug_and_release) { qtPrepareTool(QMLPLUGINDUMP, qmlplugindump) - - qmltypes.commands = QT_IM_MODULE=qtvirtualkeyboard $$QMLPLUGINDUMP -defaultplatform -nonrelocatable QtQuick.VirtualKeyboard 2.4 > $$PWD/plugins.qmltypes + # Note for win32 you need to set QT_IM_MODULE=qtvirtualkeyboard environment variable manually + !win32: QMPPLUGINDUMP_ENV = "QT_IM_MODULE=qtvirtualkeyboard" + qmltypes.commands = $$QMPPLUGINDUMP_ENV $$QMLPLUGINDUMP -defaultplatform -nonrelocatable -dependencies $$PWD/dependencies.json QtQuick.VirtualKeyboard $$IMPORT_VERSION > $$PWD/plugins.qmltypes QMAKE_EXTRA_TARGETS += qmltypes } diff --git a/src/import/plugins.qmltypes b/src/import/plugins.qmltypes index f2977658..97b78ca4 100644 --- a/src/import/plugins.qmltypes +++ b/src/import/plugins.qmltypes @@ -4,14 +4,505 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -defaultplatform -nonrelocatable QtQuick.VirtualKeyboard 2.1' +// 'qmlplugindump -defaultplatform -nonrelocatable -dependencies C:/Users/jarkko/work/qtvirtualkeyboard/src/import/dependencies.json QtQuick.VirtualKeyboard 2.4' Module { dependencies: [ "Qt.labs.folderlistmodel 2.1", - "QtQuick.Layouts 1.1", - "QtQuick.VirtualKeyboard.Styles 1.1" + "QtQuick 2.0", + "QtQuick.Layouts 1.0", + "QtQuick.Window 2.2" ] + Component { + name: "QVirtualKeyboardInputContext" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard/InputContext 1.0", + "QtQuick.VirtualKeyboard/InputContext 2.0" + ] + isCreatable: false + isSingleton: true + exportMetaObjectRevisions: [0, 0] + Property { name: "shift"; type: "bool"; isReadonly: true } + Property { name: "capsLock"; type: "bool"; isReadonly: true } + Property { name: "uppercase"; type: "bool"; isReadonly: true } + Property { name: "anchorPosition"; type: "int"; isReadonly: true } + Property { name: "cursorPosition"; type: "int"; isReadonly: true } + Property { name: "inputMethodHints"; type: "Qt::InputMethodHints"; isReadonly: true } + Property { name: "preeditText"; type: "string" } + Property { name: "surroundingText"; type: "string"; isReadonly: true } + Property { name: "selectedText"; type: "string"; isReadonly: true } + Property { name: "anchorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "animating"; type: "bool" } + Property { name: "locale"; type: "string"; isReadonly: true } + Property { + name: "inputEngine" + type: "QVirtualKeyboardInputEngine" + isReadonly: true + isPointer: true + } + Property { name: "selectionControlVisible"; type: "bool"; isReadonly: true } + Property { name: "anchorRectIntersectsClipRect"; type: "bool"; isReadonly: true } + Property { name: "cursorRectIntersectsClipRect"; type: "bool"; isReadonly: true } + Property { + name: "priv" + type: "QVirtualKeyboardInputContextPrivate" + isReadonly: true + isPointer: true + } + Method { + name: "sendKeyClick" + Parameter { name: "key"; type: "int" } + Parameter { name: "text"; type: "string" } + Parameter { name: "modifiers"; type: "int" } + } + Method { + name: "sendKeyClick" + Parameter { name: "key"; type: "int" } + Parameter { name: "text"; type: "string" } + } + Method { name: "commit" } + Method { + name: "commit" + Parameter { name: "text"; type: "string" } + Parameter { name: "replaceFrom"; type: "int" } + Parameter { name: "replaceLength"; type: "int" } + } + Method { + name: "commit" + Parameter { name: "text"; type: "string" } + Parameter { name: "replaceFrom"; type: "int" } + } + Method { + name: "commit" + Parameter { name: "text"; type: "string" } + } + Method { name: "clear" } + Method { + name: "setSelectionOnFocusObject" + Parameter { name: "anchorPos"; type: "QPointF" } + Parameter { name: "cursorPos"; type: "QPointF" } + } + } + Component { + name: "QVirtualKeyboardInputContextPrivate" + prototype: "QObject" + exports: ["QtQuick.VirtualKeyboard/InputContextPrivate 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "State" + values: { + "Reselect": 1, + "InputMethodEvent": 2, + "KeyEvent": 4, + "InputMethodClick": 8, + "SyncShadowInput": 16 + } + } + Property { name: "focus"; type: "bool" } + Property { name: "keyboardRectangle"; type: "QRectF" } + Property { name: "previewRectangle"; type: "QRectF" } + Property { name: "previewVisible"; type: "bool" } + Property { name: "locale"; type: "string" } + Property { name: "inputItem"; type: "QObject"; isReadonly: true; isPointer: true } + Property { + name: "shiftHandler" + type: "QtVirtualKeyboard::ShiftHandler" + isReadonly: true + isPointer: true + } + Property { + name: "shadow" + type: "QtVirtualKeyboard::ShadowInputContext" + isReadonly: true + isPointer: true + } + Property { name: "inputMethods"; type: "QStringList"; isReadonly: true } + Signal { + name: "navigationKeyPressed" + Parameter { name: "key"; type: "int" } + Parameter { name: "isAutoRepeat"; type: "bool" } + } + Signal { + name: "navigationKeyReleased" + Parameter { name: "key"; type: "int" } + Parameter { name: "isAutoRepeat"; type: "bool" } + } + Method { name: "hideInputPanel" } + Method { + name: "updateAvailableLocales" + Parameter { name: "availableLocales"; type: "QStringList" } + } + Method { + name: "forceCursorPosition" + Parameter { name: "anchorPosition"; type: "int" } + Parameter { name: "cursorPosition"; type: "int" } + } + Method { + name: "fileExists" + type: "bool" + Parameter { name: "fileUrl"; type: "QUrl" } + } + Method { + name: "hasEnterKeyAction" + type: "bool" + Parameter { name: "item"; type: "QObject"; isPointer: true } + } + } + Component { + name: "QVirtualKeyboardInputEngine" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard/InputEngine 1.0", + "QtQuick.VirtualKeyboard/InputEngine 2.0" + ] + isCreatable: false + exportMetaObjectRevisions: [0, 0] + Enum { + name: "TextCase" + values: { + "Lower": 0, + "Upper": 1 + } + } + Enum { + name: "InputMode" + values: { + "Latin": 0, + "Numeric": 1, + "Dialable": 2, + "Pinyin": 3, + "Cangjie": 4, + "Zhuyin": 5, + "Hangul": 6, + "Hiragana": 7, + "Katakana": 8, + "FullwidthLatin": 9, + "Greek": 10, + "Cyrillic": 11, + "Arabic": 12, + "Hebrew": 13, + "ChineseHandwriting": 14, + "JapaneseHandwriting": 15, + "KoreanHandwriting": 16 + } + } + Enum { + name: "PatternRecognitionMode" + values: { + "None": 0, + "PatternRecognitionDisabled": 0, + "Handwriting": 1, + "HandwritingRecoginition": 1 + } + } + Enum { + name: "ReselectFlag" + values: { + "WordBeforeCursor": 1, + "WordAfterCursor": 2, + "WordAtCursor": 3 + } + } + Property { name: "activeKey"; type: "Qt::Key"; isReadonly: true } + Property { name: "previousKey"; type: "Qt::Key"; isReadonly: true } + Property { name: "inputMethod"; type: "QVirtualKeyboardAbstractInputMethod"; isPointer: true } + Property { name: "inputModes"; type: "QList"; isReadonly: true } + Property { name: "inputMode"; type: "InputMode" } + Property { name: "patternRecognitionModes"; type: "QList"; isReadonly: true } + Property { + name: "wordCandidateListModel" + type: "QVirtualKeyboardSelectionListModel" + isReadonly: true + isPointer: true + } + Property { name: "wordCandidateListVisibleHint"; type: "bool"; isReadonly: true } + Signal { + name: "virtualKeyClicked" + Parameter { name: "key"; type: "Qt::Key" } + Parameter { name: "text"; type: "string" } + Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" } + Parameter { name: "isAutoRepeat"; type: "bool" } + } + Signal { + name: "activeKeyChanged" + Parameter { name: "key"; type: "Qt::Key" } + } + Signal { + name: "previousKeyChanged" + Parameter { name: "key"; type: "Qt::Key" } + } + Signal { name: "inputMethodReset" } + Signal { name: "inputMethodUpdate" } + Method { + name: "virtualKeyPress" + type: "bool" + Parameter { name: "key"; type: "Qt::Key" } + Parameter { name: "text"; type: "string" } + Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" } + Parameter { name: "repeat"; type: "bool" } + } + Method { name: "virtualKeyCancel" } + Method { + name: "virtualKeyRelease" + type: "bool" + Parameter { name: "key"; type: "Qt::Key" } + Parameter { name: "text"; type: "string" } + Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" } + } + Method { + name: "virtualKeyClick" + type: "bool" + Parameter { name: "key"; type: "Qt::Key" } + Parameter { name: "text"; type: "string" } + Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" } + } + Method { + name: "traceBegin" + type: "QVirtualKeyboardTrace*" + Parameter { name: "traceId"; type: "int" } + Parameter { name: "patternRecognitionMode"; type: "PatternRecognitionMode" } + Parameter { name: "traceCaptureDeviceInfo"; type: "QVariantMap" } + Parameter { name: "traceScreenInfo"; type: "QVariantMap" } + } + Method { + name: "traceEnd" + type: "bool" + Parameter { name: "trace"; type: "QVirtualKeyboardTrace"; isPointer: true } + } + Method { + name: "reselect" + type: "bool" + Parameter { name: "cursorPosition"; type: "int" } + Parameter { name: "reselectFlags"; type: "ReselectFlags" } + } + } + Component { + name: "QVirtualKeyboardSelectionListModel" + prototype: "QAbstractListModel" + exports: [ + "QtQuick.VirtualKeyboard/SelectionListModel 1.0", + "QtQuick.VirtualKeyboard/SelectionListModel 2.0" + ] + isCreatable: false + exportMetaObjectRevisions: [0, 0] + Enum { + name: "Type" + values: { + "WordCandidateList": 0 + } + } + Enum { + name: "Role" + values: { + "Display": 0, + "DisplayRole": 0, + "WordCompletionLength": 257, + "WordCompletionLengthRole": 257, + "Dictionary": 258, + "CanRemoveSuggestion": 259 + } + } + Enum { + name: "DictionaryType" + values: { + "Default": 0, + "User": 1 + } + } + Property { name: "count"; type: "int"; isReadonly: true } + Signal { + name: "activeItemChanged" + Parameter { name: "index"; type: "int" } + } + Signal { + name: "itemSelected" + Parameter { name: "index"; type: "int" } + } + Method { + name: "selectItem" + Parameter { name: "index"; type: "int" } + } + Method { + name: "removeItem" + Parameter { name: "index"; type: "int" } + } + Method { + name: "dataAt" + type: "QVariant" + Parameter { name: "index"; type: "int" } + Parameter { name: "role"; type: "Role" } + } + Method { + name: "dataAt" + type: "QVariant" + Parameter { name: "index"; type: "int" } + } + } + Component { + name: "QVirtualKeyboardTrace" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard/Trace 2.0", + "QtQuick.VirtualKeyboard/Trace 2.4" + ] + exportMetaObjectRevisions: [0, 0] + Property { name: "traceId"; type: "int" } + Property { name: "channels"; type: "QStringList" } + Property { name: "length"; type: "int"; isReadonly: true } + Property { name: "isFinal"; type: "bool" } + Property { name: "isCanceled"; type: "bool" } + Property { name: "opacity"; type: "double" } + Signal { + name: "traceIdChanged" + Parameter { name: "traceId"; type: "int" } + } + Signal { + name: "lengthChanged" + Parameter { name: "length"; type: "int" } + } + Signal { + name: "finalChanged" + Parameter { name: "isFinal"; type: "bool" } + } + Signal { + name: "canceledChanged" + Parameter { name: "isCanceled"; type: "bool" } + } + Signal { + name: "opacityChanged" + Parameter { name: "opacity"; type: "double" } + } + Method { + name: "points" + type: "QVariantList" + Parameter { name: "pos"; type: "int" } + Parameter { name: "count"; type: "int" } + } + Method { + name: "points" + type: "QVariantList" + Parameter { name: "pos"; type: "int" } + } + Method { name: "points"; type: "QVariantList" } + Method { + name: "addPoint" + type: "int" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "setChannelData" + Parameter { name: "channel"; type: "string" } + Parameter { name: "index"; type: "int" } + Parameter { name: "data"; type: "QVariant" } + } + Method { + name: "channelData" + type: "QVariantList" + Parameter { name: "channel"; type: "string" } + Parameter { name: "pos"; type: "int" } + Parameter { name: "count"; type: "int" } + } + Method { + name: "channelData" + type: "QVariantList" + Parameter { name: "channel"; type: "string" } + Parameter { name: "pos"; type: "int" } + } + Method { + name: "channelData" + type: "QVariantList" + Parameter { name: "channel"; type: "string" } + } + } + Component { + name: "QtVirtualKeyboard::EnterKeyAction" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard/EnterKeyAction 1.0", + "QtQuick.VirtualKeyboard/EnterKeyAction 2.0" + ] + exportMetaObjectRevisions: [0, 0] + attachedType: "QtVirtualKeyboard::EnterKeyActionAttachedType" + Enum { + name: "Id" + values: { + "None": 0, + "Go": 1, + "Search": 2, + "Send": 3, + "Next": 4, + "Done": 5 + } + } + } + Component { + name: "QtVirtualKeyboard::EnterKeyActionAttachedType" + prototype: "QObject" + Property { name: "actionId"; type: "int" } + Property { name: "label"; type: "string" } + Property { name: "enabled"; type: "bool" } + } + Component { + name: "QtVirtualKeyboard::InputMethod" + prototype: "QVirtualKeyboardAbstractInputMethod" + exports: [ + "QtQuick.VirtualKeyboard/InputMethod 1.0", + "QtQuick.VirtualKeyboard/InputMethod 2.0" + ] + exportMetaObjectRevisions: [0, 0] + Property { + name: "inputContext" + type: "QVirtualKeyboardInputContext" + isReadonly: true + isPointer: true + } + Property { + name: "inputEngine" + type: "QVirtualKeyboardInputEngine" + isReadonly: true + isPointer: true + } + } + Component { + name: "QtVirtualKeyboard::ShadowInputContext" + prototype: "QObject" + exports: ["QtQuick.VirtualKeyboard/ShadowInputContext 2.2"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "inputItem"; type: "QObject"; isPointer: true } + Property { name: "anchorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true } + Property { name: "anchorRectIntersectsClipRect"; type: "bool"; isReadonly: true } + Property { name: "cursorRectIntersectsClipRect"; type: "bool"; isReadonly: true } + Property { name: "selectionControlVisible"; type: "bool"; isReadonly: true } + Method { + name: "setSelectionOnFocusObject" + Parameter { name: "anchorPos"; type: "QPointF" } + Parameter { name: "cursorPos"; type: "QPointF" } + } + Method { name: "updateSelectionProperties" } + } + Component { + name: "QtVirtualKeyboard::ShiftHandler" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard/ShiftHandler 1.0", + "QtQuick.VirtualKeyboard/ShiftHandler 2.0" + ] + isCreatable: false + exportMetaObjectRevisions: [0, 0] + Property { name: "sentenceEndingCharacters"; type: "string" } + Property { name: "autoCapitalizationEnabled"; type: "bool"; isReadonly: true } + Property { name: "toggleShiftEnabled"; type: "bool"; isReadonly: true } + Property { name: "shift"; type: "bool" } + Property { name: "capsLock"; type: "bool" } + Property { name: "uppercase"; type: "bool"; isReadonly: true } + Method { name: "toggleShift" } + Method { name: "clearToggleShiftTimer" } + } Component { prototype: "QQuickItem" name: "QtQuick.VirtualKeyboard/AlternativeKeys 2.0" @@ -23,7 +514,6 @@ Module { Property { name: "highlightIndex"; type: "int" } Property { name: "keyCode"; type: "int" } Property { name: "origin"; type: "QPointF" } - Property { name: "uppercased"; type: "bool" } Property { name: "listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } Signal { name: "clicked" } Method { @@ -51,7 +541,6 @@ Module { Property { name: "highlightIndex"; type: "int" } Property { name: "keyCode"; type: "int" } Property { name: "origin"; type: "QPointF" } - Property { name: "uppercased"; type: "bool" } Property { name: "listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } Signal { name: "clicked" } Method { @@ -70,8 +559,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/BackspaceKey 1.0" - exports: ["QtQuick.VirtualKeyboard/BackspaceKey 1.0"] + name: "QtQuick.VirtualKeyboard/BackspaceKey 2.0" + exports: ["QtQuick.VirtualKeyboard/BackspaceKey 2.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -91,7 +580,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -100,8 +588,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/BackspaceKey 2.0" - exports: ["QtQuick.VirtualKeyboard/BackspaceKey 2.0"] + name: "QtQuick.VirtualKeyboard/BackspaceKey 1.0" + exports: ["QtQuick.VirtualKeyboard/BackspaceKey 1.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -121,7 +609,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -151,7 +638,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -181,7 +667,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -212,7 +697,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -243,7 +727,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -294,7 +777,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -325,7 +807,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -334,8 +815,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/FillerKey 2.0" - exports: ["QtQuick.VirtualKeyboard/FillerKey 2.0"] + name: "QtQuick.VirtualKeyboard/FillerKey 1.0" + exports: ["QtQuick.VirtualKeyboard/FillerKey 1.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -355,7 +836,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -364,8 +844,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/FillerKey 1.0" - exports: ["QtQuick.VirtualKeyboard/FillerKey 1.0"] + name: "QtQuick.VirtualKeyboard/FillerKey 2.0" + exports: ["QtQuick.VirtualKeyboard/FillerKey 2.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -385,7 +865,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -426,7 +905,35 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } + Property { name: "pressed"; type: "bool" } + Property { name: "uppercased"; type: "bool" } + Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } + Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Signal { name: "clicked" } + } + Component { + prototype: "QQuickItem" + name: "QtQuick.VirtualKeyboard/HideKeyboardKey 2.0" + exports: ["QtQuick.VirtualKeyboard/HideKeyboardKey 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "weight"; type: "double" } + Property { name: "text"; type: "string" } + Property { name: "displayText"; type: "string" } + Property { name: "smallText"; type: "string" } + Property { name: "smallTextVisible"; type: "bool" } + Property { name: "alternativeKeys"; type: "QVariant" } + Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } + Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } + Property { name: "key"; type: "int" } + Property { name: "noKeyEvent"; type: "bool" } + Property { name: "active"; type: "bool" } + Property { name: "noModifier"; type: "bool" } + Property { name: "repeat"; type: "bool" } + Property { name: "highlighted"; type: "bool" } + Property { name: "functionKey"; type: "bool" } + Property { name: "showPreview"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -456,7 +963,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -465,11 +971,26 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/HideKeyboardKey 2.0" - exports: ["QtQuick.VirtualKeyboard/HideKeyboardKey 2.0"] - exportMetaObjectRevisions: [0] + name: "QtQuick.VirtualKeyboard/InputModeKey 2.3" + exports: ["QtQuick.VirtualKeyboard/InputModeKey 2.3"] + exportMetaObjectRevisions: [3] isComposite: true defaultProperty: "data" + Property { name: "inputModeNameList"; type: "QVariant" } + Property { name: "inputModes"; type: "QVariant" } + Property { name: "inputModeCount"; type: "int"; isReadonly: true } + Property { name: "__inputModes"; type: "QVariant" } + Method { + name: "__nextInputMode" + type: "QVariant" + Parameter { name: "inputMode"; type: "QVariant" } + } + Method { + name: "__filterInputModes" + type: "QVariant" + Parameter { name: "inputModes"; type: "QVariant" } + Parameter { name: "filter"; type: "QVariant" } + } Property { name: "weight"; type: "double" } Property { name: "text"; type: "string" } Property { name: "displayText"; type: "string" } @@ -486,13 +1007,29 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } Signal { name: "clicked" } } + Component { + prototype: "QQuickItem" + name: "QtQuick.VirtualKeyboard/InputPanel 1.0" + exports: ["QtQuick.VirtualKeyboard/InputPanel 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } + Property { name: "active"; type: "bool" } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } + } Component { prototype: "QQuickItem" name: "QtQuick.VirtualKeyboard/InputPanel 1.2" @@ -500,18 +1037,66 @@ Module { exportMetaObjectRevisions: [2] isComposite: true defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_10"; isReadonly: true; isPointer: true } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 1.3" - exports: ["QtQuick.VirtualKeyboard/InputPanel 1.3"] - exportMetaObjectRevisions: [3] + name: "QtQuick.VirtualKeyboard/InputPanel 2.0" + exports: ["QtQuick.VirtualKeyboard/InputPanel 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } + Property { name: "active"; type: "bool" } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } + } + Component { + prototype: "QQuickItem" + name: "QtQuick.VirtualKeyboard/InputPanel 2.4" + exports: ["QtQuick.VirtualKeyboard/InputPanel 2.4"] + exportMetaObjectRevisions: [4] isComposite: true defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_10"; isReadonly: true; isPointer: true } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } + } + Component { + prototype: "QQuickItem" + name: "QtQuick.VirtualKeyboard/InputPanel 2.2" + exports: ["QtQuick.VirtualKeyboard/InputPanel 2.2"] + exportMetaObjectRevisions: [2] + isComposite: true + defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } + Property { name: "active"; type: "bool" } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } } Component { prototype: "QQuickItem" @@ -520,28 +1105,49 @@ Module { exportMetaObjectRevisions: [1] isComposite: true defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_10"; isReadonly: true; isPointer: true } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 2.0" - exports: ["QtQuick.VirtualKeyboard/InputPanel 2.0"] - exportMetaObjectRevisions: [0] + name: "QtQuick.VirtualKeyboard/InputPanel 2.3" + exports: ["QtQuick.VirtualKeyboard/InputPanel 2.3"] + exportMetaObjectRevisions: [3] isComposite: true defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_10"; isReadonly: true; isPointer: true } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 1.0" - exports: ["QtQuick.VirtualKeyboard/InputPanel 1.0"] - exportMetaObjectRevisions: [0] + name: "QtQuick.VirtualKeyboard/InputPanel 1.3" + exports: ["QtQuick.VirtualKeyboard/InputPanel 1.3"] + exportMetaObjectRevisions: [3] isComposite: true defaultProperty: "data" + Property { name: "externalLanguageSwitchEnabled"; type: "bool" } + Property { name: "__isRootItem"; type: "bool"; isReadonly: true } Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_10"; isReadonly: true; isPointer: true } + Property { name: "keyboard"; type: "Keyboard_QMLTYPE_16"; isReadonly: true; isPointer: true } + Signal { + name: "externalLanguageSwitch" + Parameter { name: "localeList"; type: "QVariant" } + Parameter { name: "currentIndex"; type: "int" } + } } Component { prototype: "QQuickItem" @@ -566,7 +1172,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -583,65 +1188,24 @@ Module { Property { name: "weight"; type: "double" } Property { name: "text"; type: "string" } Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/KeyIcon 1.0" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyIcon 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "color"; type: "QColor" } - Property { name: "source"; type: "QUrl" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/KeyIcon 2.0" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyIcon 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "color"; type: "QColor" } - Property { name: "source"; type: "QUrl" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/KeyPanel 1.0" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyPanel 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - Property { name: "soundEffect"; type: "QUrl" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/KeyPanel 2.0" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyPanel 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - Property { name: "soundEffect"; type: "QUrl" } + Property { name: "smallText"; type: "string" } + Property { name: "smallTextVisible"; type: "bool" } + Property { name: "alternativeKeys"; type: "QVariant" } + Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } + Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } + Property { name: "key"; type: "int" } + Property { name: "noKeyEvent"; type: "bool" } + Property { name: "active"; type: "bool" } + Property { name: "noModifier"; type: "bool" } + Property { name: "repeat"; type: "bool" } + Property { name: "highlighted"; type: "bool" } + Property { name: "functionKey"; type: "bool" } + Property { name: "showPreview"; type: "bool" } + Property { name: "pressed"; type: "bool" } + Property { name: "uppercased"; type: "bool" } + Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } + Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Signal { name: "clicked" } } Component { prototype: "QQuickItem" @@ -658,15 +1222,18 @@ Module { Property { name: "locale"; type: "string" } Property { name: "inputLocale"; type: "string" } Property { name: "defaultLocaleIndex"; type: "int" } - Property { name: "latinOnly"; type: "bool" } - Property { name: "preferNumbers"; type: "bool" } + Property { name: "latinOnly"; type: "bool"; isReadonly: true } + Property { name: "preferNumbers"; type: "bool"; isReadonly: true } + Property { name: "dialableCharactersOnly"; type: "bool"; isReadonly: true } + Property { name: "formattedNumbersOnly"; type: "bool"; isReadonly: true } + Property { name: "digitsOnly"; type: "bool"; isReadonly: true } Property { name: "layout"; type: "string" } Property { name: "layoutType"; type: "string" } Property { name: "active"; type: "bool" } - Property { name: "uppercased"; type: "bool" } Property { name: "handwritingMode"; type: "bool" } Property { name: "fullScreenHandwritingMode"; type: "bool" } Property { name: "symbolMode"; type: "bool" } + Property { name: "fullScreenMode"; type: "bool" } Property { name: "defaultInputMethod"; type: "QVariant" } Property { name: "plainInputMethod"; type: "QVariant" } Property { name: "customInputMethod"; type: "QVariant" } @@ -675,13 +1242,40 @@ Module { Property { name: "inputMethodNeedsReset"; type: "bool" } Property { name: "inputModeNeedsReset"; type: "bool" } Property { name: "navigationModeActive"; type: "bool" } + Property { name: "languagePopupListActive"; type: "bool"; isReadonly: true } Property { name: "style"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "wordCandidateView"; type: "QQuickListView"; isReadonly: true; isPointer: true } + Property { name: "shadowInputControl"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "soundEffect"; type: "QQuickItem"; isReadonly: true; isPointer: true } Method { name: "initDefaultInputMethod"; type: "QVariant" } + Method { + name: "showLanguagePopup" + type: "QVariant" + Parameter { name: "parentItem"; type: "QVariant" } + Parameter { name: "customLayoutsOnly"; type: "QVariant" } + } + Method { name: "hideLanguagePopup"; type: "QVariant" } + Method { + name: "showWordCandidateContextMenu" + type: "QVariant" + Parameter { name: "wordCandidateIndex"; type: "QVariant" } + } + Method { name: "hideWordCandidateContextMenu"; type: "QVariant" } Method { name: "updateInputMethod"; type: "QVariant" } Method { name: "updateLayout"; type: "QVariant" } Method { name: "updateDefaultLocale"; type: "QVariant" } + Method { + name: "filterLocaleIndices" + type: "QVariant" + Parameter { name: "filterCb"; type: "QVariant" } + } Method { name: "updateAvailableLocaleIndices"; type: "QVariant" } + Method { + name: "listLocales" + type: "QVariant" + Parameter { name: "customLayoutsOnly"; type: "QVariant" } + Parameter { name: "localeNameOnly"; type: "QVariant" } + } Method { name: "nextLocaleIndex" type: "QVariant" @@ -703,10 +1297,12 @@ Module { Parameter { name: "localeName"; type: "QVariant" } Parameter { name: "defaultValue"; type: "QVariant" } } + Method { name: "findFallbackIndex"; type: "QVariant" } Method { name: "isValidLocale" type: "QVariant" Parameter { name: "localeNameOrIndex"; type: "QVariant" } + Parameter { name: "ignoreActiveLocales"; type: "QVariant" } } Method { name: "getLayoutFile" @@ -714,6 +1310,12 @@ Module { Parameter { name: "localeName"; type: "QVariant" } Parameter { name: "layoutType"; type: "QVariant" } } + Method { + name: "getFallbackFile" + type: "QVariant" + Parameter { name: "localeName"; type: "QVariant" } + Parameter { name: "layoutType"; type: "QVariant" } + } Method { name: "layoutExists" type: "QVariant" @@ -727,6 +1329,12 @@ Module { Parameter { name: "layoutType"; type: "QVariant" } } Method { name: "isHandwritingAvailable"; type: "QVariant" } + Method { + name: "setHandwritingMode" + type: "QVariant" + Parameter { name: "enabled"; type: "QVariant" } + Parameter { name: "resetInputMode"; type: "QVariant" } + } } Component { prototype: "QQuickItem" @@ -743,15 +1351,18 @@ Module { Property { name: "locale"; type: "string" } Property { name: "inputLocale"; type: "string" } Property { name: "defaultLocaleIndex"; type: "int" } - Property { name: "latinOnly"; type: "bool" } - Property { name: "preferNumbers"; type: "bool" } + Property { name: "latinOnly"; type: "bool"; isReadonly: true } + Property { name: "preferNumbers"; type: "bool"; isReadonly: true } + Property { name: "dialableCharactersOnly"; type: "bool"; isReadonly: true } + Property { name: "formattedNumbersOnly"; type: "bool"; isReadonly: true } + Property { name: "digitsOnly"; type: "bool"; isReadonly: true } Property { name: "layout"; type: "string" } Property { name: "layoutType"; type: "string" } Property { name: "active"; type: "bool" } - Property { name: "uppercased"; type: "bool" } Property { name: "handwritingMode"; type: "bool" } Property { name: "fullScreenHandwritingMode"; type: "bool" } Property { name: "symbolMode"; type: "bool" } + Property { name: "fullScreenMode"; type: "bool" } Property { name: "defaultInputMethod"; type: "QVariant" } Property { name: "plainInputMethod"; type: "QVariant" } Property { name: "customInputMethod"; type: "QVariant" } @@ -760,13 +1371,40 @@ Module { Property { name: "inputMethodNeedsReset"; type: "bool" } Property { name: "inputModeNeedsReset"; type: "bool" } Property { name: "navigationModeActive"; type: "bool" } + Property { name: "languagePopupListActive"; type: "bool"; isReadonly: true } Property { name: "style"; type: "QObject"; isReadonly: true; isPointer: true } + Property { name: "wordCandidateView"; type: "QQuickListView"; isReadonly: true; isPointer: true } + Property { name: "shadowInputControl"; type: "QQuickItem"; isReadonly: true; isPointer: true } Property { name: "soundEffect"; type: "QQuickItem"; isReadonly: true; isPointer: true } Method { name: "initDefaultInputMethod"; type: "QVariant" } + Method { + name: "showLanguagePopup" + type: "QVariant" + Parameter { name: "parentItem"; type: "QVariant" } + Parameter { name: "customLayoutsOnly"; type: "QVariant" } + } + Method { name: "hideLanguagePopup"; type: "QVariant" } + Method { + name: "showWordCandidateContextMenu" + type: "QVariant" + Parameter { name: "wordCandidateIndex"; type: "QVariant" } + } + Method { name: "hideWordCandidateContextMenu"; type: "QVariant" } Method { name: "updateInputMethod"; type: "QVariant" } Method { name: "updateLayout"; type: "QVariant" } Method { name: "updateDefaultLocale"; type: "QVariant" } + Method { + name: "filterLocaleIndices" + type: "QVariant" + Parameter { name: "filterCb"; type: "QVariant" } + } Method { name: "updateAvailableLocaleIndices"; type: "QVariant" } + Method { + name: "listLocales" + type: "QVariant" + Parameter { name: "customLayoutsOnly"; type: "QVariant" } + Parameter { name: "localeNameOnly"; type: "QVariant" } + } Method { name: "nextLocaleIndex" type: "QVariant" @@ -788,10 +1426,12 @@ Module { Parameter { name: "localeName"; type: "QVariant" } Parameter { name: "defaultValue"; type: "QVariant" } } + Method { name: "findFallbackIndex"; type: "QVariant" } Method { name: "isValidLocale" type: "QVariant" Parameter { name: "localeNameOrIndex"; type: "QVariant" } + Parameter { name: "ignoreActiveLocales"; type: "QVariant" } } Method { name: "getLayoutFile" @@ -799,6 +1439,12 @@ Module { Parameter { name: "localeName"; type: "QVariant" } Parameter { name: "layoutType"; type: "QVariant" } } + Method { + name: "getFallbackFile" + type: "QVariant" + Parameter { name: "localeName"; type: "QVariant" } + Parameter { name: "layoutType"; type: "QVariant" } + } Method { name: "layoutExists" type: "QVariant" @@ -812,6 +1458,12 @@ Module { Parameter { name: "layoutType"; type: "QVariant" } } Method { name: "isHandwritingAvailable"; type: "QVariant" } + Method { + name: "setHandwritingMode" + type: "QVariant" + Parameter { name: "enabled"; type: "QVariant" } + Parameter { name: "resetInputMode"; type: "QVariant" } + } } Component { prototype: "QQuickColumnLayout" @@ -862,7 +1514,7 @@ Module { Method { name: "createInputMethod"; type: "QVariant" } } Component { - prototype: "QQuickItem" + prototype: "QQuickLoader" name: "QtQuick.VirtualKeyboard/KeyboardLayoutLoader 1.1" exports: ["QtQuick.VirtualKeyboard/KeyboardLayoutLoader 1.1"] exportMetaObjectRevisions: [1] @@ -873,25 +1525,9 @@ Module { Property { name: "inputMode"; type: "int" } Property { name: "__updateCount"; type: "int" } Method { name: "createInputMethod"; type: "QVariant" } - Property { name: "active"; type: "bool" } - Property { name: "source"; type: "QUrl" } - Property { name: "sourceComponent"; type: "QQmlComponent"; isPointer: true } - Property { name: "item"; type: "QObject"; isReadonly: true; isPointer: true } - Property { name: "status"; type: "Status"; isReadonly: true } - Property { name: "progress"; type: "double"; isReadonly: true } - Property { name: "asynchronous"; type: "bool" } - Signal { name: "loaded" } - Method { - name: "setSource" - Parameter { type: "QQmlV4Function"; isPointer: true } - } - Property { name: "implicitWidth"; type: "double"; isReadonly: true } - Property { name: "implicitHeight"; type: "double"; isReadonly: true } - Signal { name: "implicitWidthChanged2"; revision: 1 } - Signal { name: "implicitHeightChanged2"; revision: 1 } } Component { - prototype: "QQuickItem" + prototype: "QQuickLoader" name: "QtQuick.VirtualKeyboard/KeyboardLayoutLoader 2.0" exports: ["QtQuick.VirtualKeyboard/KeyboardLayoutLoader 2.0"] exportMetaObjectRevisions: [0] @@ -902,22 +1538,6 @@ Module { Property { name: "inputMode"; type: "int" } Property { name: "__updateCount"; type: "int" } Method { name: "createInputMethod"; type: "QVariant" } - Property { name: "active"; type: "bool" } - Property { name: "source"; type: "QUrl" } - Property { name: "sourceComponent"; type: "QQmlComponent"; isPointer: true } - Property { name: "item"; type: "QObject"; isReadonly: true; isPointer: true } - Property { name: "status"; type: "Status"; isReadonly: true } - Property { name: "progress"; type: "double"; isReadonly: true } - Property { name: "asynchronous"; type: "bool" } - Signal { name: "loaded" } - Method { - name: "setSource" - Parameter { type: "QQmlV4Function"; isPointer: true } - } - Property { name: "implicitWidth"; type: "double"; isReadonly: true } - Property { name: "implicitHeight"; type: "double"; isReadonly: true } - Signal { name: "implicitWidthChanged2"; revision: 1 } - Signal { name: "implicitHeightChanged2"; revision: 1 } } Component { prototype: "QQuickRowLayout" @@ -939,318 +1559,6 @@ Module { Property { name: "keyWeight"; type: "double" } Property { name: "smallTextVisible"; type: "bool" } } - Component { - prototype: "QObject" - name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.1" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.1"] - exportMetaObjectRevisions: [1] - isComposite: true - Property { name: "keyboardHeight"; type: "double" } - Property { name: "keyboardDesignWidth"; type: "double" } - Property { name: "keyboardDesignHeight"; type: "double" } - Property { name: "scaleHint"; type: "double"; isReadonly: true } - Property { name: "keyboardRelativeLeftMargin"; type: "double" } - Property { name: "keyboardRelativeRightMargin"; type: "double" } - Property { name: "keyboardRelativeTopMargin"; type: "double" } - Property { name: "keyboardRelativeBottomMargin"; type: "double" } - Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "characterPreviewMargin"; type: "double" } - Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListItemWidth"; type: "double" } - Property { name: "alternateKeysListItemHeight"; type: "double" } - Property { name: "alternateKeysListTopMargin"; type: "double" } - Property { name: "alternateKeysListBottomMargin"; type: "double" } - Property { name: "alternateKeysListLeftMargin"; type: "double" } - Property { name: "alternateKeysListRightMargin"; type: "double" } - Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHeight"; type: "double" } - Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } - } - Component { - prototype: "QObject" - name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.1" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.1"] - exportMetaObjectRevisions: [1] - isComposite: true - Property { name: "keyboardHeight"; type: "double" } - Property { name: "keyboardDesignWidth"; type: "double" } - Property { name: "keyboardDesignHeight"; type: "double" } - Property { name: "scaleHint"; type: "double"; isReadonly: true } - Property { name: "keyboardRelativeLeftMargin"; type: "double" } - Property { name: "keyboardRelativeRightMargin"; type: "double" } - Property { name: "keyboardRelativeTopMargin"; type: "double" } - Property { name: "keyboardRelativeBottomMargin"; type: "double" } - Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "characterPreviewMargin"; type: "double" } - Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListItemWidth"; type: "double" } - Property { name: "alternateKeysListItemHeight"; type: "double" } - Property { name: "alternateKeysListTopMargin"; type: "double" } - Property { name: "alternateKeysListBottomMargin"; type: "double" } - Property { name: "alternateKeysListLeftMargin"; type: "double" } - Property { name: "alternateKeysListRightMargin"; type: "double" } - Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHeight"; type: "double" } - Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } - } - Component { - prototype: "QObject" - name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.0" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - Property { name: "keyboardHeight"; type: "double" } - Property { name: "keyboardDesignWidth"; type: "double" } - Property { name: "keyboardDesignHeight"; type: "double" } - Property { name: "scaleHint"; type: "double"; isReadonly: true } - Property { name: "keyboardRelativeLeftMargin"; type: "double" } - Property { name: "keyboardRelativeRightMargin"; type: "double" } - Property { name: "keyboardRelativeTopMargin"; type: "double" } - Property { name: "keyboardRelativeBottomMargin"; type: "double" } - Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "characterPreviewMargin"; type: "double" } - Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListItemWidth"; type: "double" } - Property { name: "alternateKeysListItemHeight"; type: "double" } - Property { name: "alternateKeysListTopMargin"; type: "double" } - Property { name: "alternateKeysListBottomMargin"; type: "double" } - Property { name: "alternateKeysListLeftMargin"; type: "double" } - Property { name: "alternateKeysListRightMargin"; type: "double" } - Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHeight"; type: "double" } - Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } - } - Component { - prototype: "QObject" - name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.2" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.2"] - exportMetaObjectRevisions: [2] - isComposite: true - Property { name: "keyboardHeight"; type: "double" } - Property { name: "keyboardDesignWidth"; type: "double" } - Property { name: "keyboardDesignHeight"; type: "double" } - Property { name: "scaleHint"; type: "double"; isReadonly: true } - Property { name: "keyboardRelativeLeftMargin"; type: "double" } - Property { name: "keyboardRelativeRightMargin"; type: "double" } - Property { name: "keyboardRelativeTopMargin"; type: "double" } - Property { name: "keyboardRelativeBottomMargin"; type: "double" } - Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "characterPreviewMargin"; type: "double" } - Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListItemWidth"; type: "double" } - Property { name: "alternateKeysListItemHeight"; type: "double" } - Property { name: "alternateKeysListTopMargin"; type: "double" } - Property { name: "alternateKeysListBottomMargin"; type: "double" } - Property { name: "alternateKeysListLeftMargin"; type: "double" } - Property { name: "alternateKeysListRightMargin"; type: "double" } - Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHeight"; type: "double" } - Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } - } - Component { - prototype: "QObject" - name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.0" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - Property { name: "keyboardHeight"; type: "double" } - Property { name: "keyboardDesignWidth"; type: "double" } - Property { name: "keyboardDesignHeight"; type: "double" } - Property { name: "scaleHint"; type: "double"; isReadonly: true } - Property { name: "keyboardRelativeLeftMargin"; type: "double" } - Property { name: "keyboardRelativeRightMargin"; type: "double" } - Property { name: "keyboardRelativeTopMargin"; type: "double" } - Property { name: "keyboardRelativeBottomMargin"; type: "double" } - Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "characterPreviewMargin"; type: "double" } - Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListItemWidth"; type: "double" } - Property { name: "alternateKeysListItemHeight"; type: "double" } - Property { name: "alternateKeysListTopMargin"; type: "double" } - Property { name: "alternateKeysListBottomMargin"; type: "double" } - Property { name: "alternateKeysListLeftMargin"; type: "double" } - Property { name: "alternateKeysListRightMargin"; type: "double" } - Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHeight"; type: "double" } - Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } - } - Component { - prototype: "QObject" - name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.3" - exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.3"] - exportMetaObjectRevisions: [3] - isComposite: true - Property { name: "keyboardHeight"; type: "double" } - Property { name: "keyboardDesignWidth"; type: "double" } - Property { name: "keyboardDesignHeight"; type: "double" } - Property { name: "scaleHint"; type: "double"; isReadonly: true } - Property { name: "keyboardRelativeLeftMargin"; type: "double" } - Property { name: "keyboardRelativeRightMargin"; type: "double" } - Property { name: "keyboardRelativeTopMargin"; type: "double" } - Property { name: "keyboardRelativeBottomMargin"; type: "double" } - Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } - Property { name: "characterPreviewMargin"; type: "double" } - Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListItemWidth"; type: "double" } - Property { name: "alternateKeysListItemHeight"; type: "double" } - Property { name: "alternateKeysListTopMargin"; type: "double" } - Property { name: "alternateKeysListBottomMargin"; type: "double" } - Property { name: "alternateKeysListLeftMargin"; type: "double" } - Property { name: "alternateKeysListRightMargin"; type: "double" } - Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHeight"; type: "double" } - Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } - Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } - Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } - Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } - } Component { prototype: "QQuickItem" name: "QtQuick.VirtualKeyboard/ModeKey 2.0" @@ -1275,7 +1583,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1284,9 +1591,9 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/MultiSoundEffect 1.1" - exports: ["QtQuick.VirtualKeyboard/MultiSoundEffect 1.1"] - exportMetaObjectRevisions: [1] + name: "QtQuick.VirtualKeyboard/MultiSoundEffect 2.0" + exports: ["QtQuick.VirtualKeyboard/MultiSoundEffect 2.0"] + exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" Property { name: "source"; type: "QUrl" } @@ -1302,9 +1609,9 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/MultiSoundEffect 2.0" - exports: ["QtQuick.VirtualKeyboard/MultiSoundEffect 2.0"] - exportMetaObjectRevisions: [0] + name: "QtQuick.VirtualKeyboard/MultiSoundEffect 1.1" + exports: ["QtQuick.VirtualKeyboard/MultiSoundEffect 1.1"] + exportMetaObjectRevisions: [1] isComposite: true defaultProperty: "data" Property { name: "source"; type: "QUrl" } @@ -1319,9 +1626,9 @@ Module { Method { name: "play"; type: "QVariant" } } Component { - prototype: "QtVirtualKeyboard::InputMethod" - name: "QtQuick.VirtualKeyboard/MultitapInputMethod 1.0" - exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 1.0"] + prototype: "QVirtualKeyboardAbstractInputMethod" + name: "QtQuick.VirtualKeyboard/MultitapInputMethod 2.0" + exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 2.0"] exportMetaObjectRevisions: [0] isComposite: true Property { name: "multitapSequence"; type: "string" } @@ -1371,11 +1678,23 @@ Module { Parameter { name: "type"; type: "QVariant" } Parameter { name: "index"; type: "QVariant" } } + Property { + name: "inputContext" + type: "QVirtualKeyboardInputContext" + isReadonly: true + isPointer: true + } + Property { + name: "inputEngine" + type: "QVirtualKeyboardInputEngine" + isReadonly: true + isPointer: true + } } Component { - prototype: "QtVirtualKeyboard::InputMethod" - name: "QtQuick.VirtualKeyboard/MultitapInputMethod 2.0" - exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 2.0"] + prototype: "QVirtualKeyboardAbstractInputMethod" + name: "QtQuick.VirtualKeyboard/MultitapInputMethod 1.0" + exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 1.0"] exportMetaObjectRevisions: [0] isComposite: true Property { name: "multitapSequence"; type: "string" } @@ -1425,6 +1744,18 @@ Module { Parameter { name: "type"; type: "QVariant" } Parameter { name: "index"; type: "QVariant" } } + Property { + name: "inputContext" + type: "QVirtualKeyboardInputContext" + isReadonly: true + isPointer: true + } + Property { + name: "inputEngine" + type: "QVirtualKeyboardInputEngine" + isReadonly: true + isPointer: true + } } Component { prototype: "QQuickItem" @@ -1449,7 +1780,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1479,7 +1809,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1487,31 +1816,27 @@ Module { Signal { name: "clicked" } } Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SelectionControl 2.1" - exports: ["QtQuick.VirtualKeyboard/SelectionControl 2.1"] - exportMetaObjectRevisions: [1] - isComposite: true - defaultProperty: "data" - Property { name: "handleIsMoving"; type: "bool" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/SelectionListItem 2.0" - exports: ["QtQuick.VirtualKeyboard.Styles/SelectionListItem 2.0"] - exportMetaObjectRevisions: [0] + prototype: "QQuickListView" + name: "QtQuick.VirtualKeyboard/PopupList 2.3" + exports: ["QtQuick.VirtualKeyboard/PopupList 2.3"] + exportMetaObjectRevisions: [3] isComposite: true defaultProperty: "data" - Property { name: "soundEffect"; type: "QUrl" } + Property { name: "maxVisibleItems"; type: "int" } + Property { name: "preferredVisibleItems"; type: "int"; isReadonly: true } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "background"; type: "QQmlComponent"; isPointer: true } + Property { name: "defaultHighlight"; type: "QQmlComponent"; isReadonly: true; isPointer: true } } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/SelectionListItem 1.0" - exports: ["QtQuick.VirtualKeyboard.Styles/SelectionListItem 1.0"] - exportMetaObjectRevisions: [0] + name: "QtQuick.VirtualKeyboard/SelectionControl 2.1" + exports: ["QtQuick.VirtualKeyboard/SelectionControl 2.1"] + exportMetaObjectRevisions: [1] isComposite: true defaultProperty: "data" - Property { name: "soundEffect"; type: "QUrl" } + Property { name: "handleIsMoving"; type: "bool" } + Property { name: "inputContext"; type: "QVariant" } } Component { prototype: "QQuickItem" @@ -1520,8 +1845,6 @@ Module { exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" - Property { name: "capsLock"; type: "bool" } - Property { name: "shift"; type: "bool" } Property { name: "weight"; type: "double" } Property { name: "text"; type: "string" } Property { name: "displayText"; type: "string" } @@ -1538,7 +1861,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1552,8 +1874,6 @@ Module { exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" - Property { name: "capsLock"; type: "bool" } - Property { name: "shift"; type: "bool" } Property { name: "weight"; type: "double" } Property { name: "text"; type: "string" } Property { name: "displayText"; type: "string" } @@ -1570,7 +1890,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1579,8 +1898,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SpaceKey 1.0" - exports: ["QtQuick.VirtualKeyboard/SpaceKey 1.0"] + name: "QtQuick.VirtualKeyboard/SpaceKey 2.0" + exports: ["QtQuick.VirtualKeyboard/SpaceKey 2.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -1600,7 +1919,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1609,8 +1927,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SpaceKey 2.0" - exports: ["QtQuick.VirtualKeyboard/SpaceKey 2.0"] + name: "QtQuick.VirtualKeyboard/SpaceKey 1.0" + exports: ["QtQuick.VirtualKeyboard/SpaceKey 1.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -1630,7 +1948,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1639,8 +1956,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SymbolModeKey 1.0" - exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 1.0"] + name: "QtQuick.VirtualKeyboard/SymbolModeKey 2.0" + exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 2.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -1660,7 +1977,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1669,8 +1985,8 @@ Module { } Component { prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SymbolModeKey 2.0" - exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 2.0"] + name: "QtQuick.VirtualKeyboard/SymbolModeKey 1.0" + exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 1.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" @@ -1690,7 +2006,6 @@ Module { Property { name: "highlighted"; type: "bool" } Property { name: "functionKey"; type: "bool" } Property { name: "showPreview"; type: "bool" } - Property { name: "enabled"; type: "bool" } Property { name: "pressed"; type: "bool" } Property { name: "uppercased"; type: "bool" } Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } @@ -1698,88 +2013,7 @@ Module { Signal { name: "clicked" } } Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/TraceCanvas 2.0" - exports: ["QtQuick.VirtualKeyboard.Styles/TraceCanvas 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "trace"; type: "QVariant" } - Property { name: "autoDestroy"; type: "bool" } - Property { name: "autoDestroyDelay"; type: "int" } - Property { name: "renderFunction"; type: "QVariant" } - Property { name: "__renderPos"; type: "int" } - Property { name: "__renderingEnabled"; type: "bool" } - Method { name: "renderSmoothedLine"; type: "QVariant" } - Property { name: "available"; type: "bool"; isReadonly: true } - Property { name: "contextType"; type: "string" } - Property { name: "context"; type: "QQmlV4Handle"; isReadonly: true } - Property { name: "canvasSize"; type: "QSizeF" } - Property { name: "tileSize"; type: "QSize" } - Property { name: "canvasWindow"; type: "QRectF" } - Property { name: "renderTarget"; type: "RenderTarget" } - Property { name: "renderStrategy"; type: "RenderStrategy" } - Signal { - name: "paint" - Parameter { name: "region"; type: "QRect" } - } - Signal { name: "painted" } - Signal { name: "imageLoaded" } - Method { - name: "loadImage" - Parameter { name: "url"; type: "QUrl" } - } - Method { - name: "unloadImage" - Parameter { name: "url"; type: "QUrl" } - } - Method { - name: "isImageLoaded" - type: "bool" - Parameter { name: "url"; type: "QUrl" } - } - Method { - name: "isImageLoading" - type: "bool" - Parameter { name: "url"; type: "QUrl" } - } - Method { - name: "isImageError" - type: "bool" - Parameter { name: "url"; type: "QUrl" } - } - Method { - name: "getContext" - Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } - } - Method { - name: "requestAnimationFrame" - Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } - } - Method { - name: "cancelRequestAnimationFrame" - Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } - } - Method { name: "requestPaint" } - Method { - name: "markDirty" - Parameter { name: "dirtyRect"; type: "QRectF" } - } - Method { name: "markDirty" } - Method { - name: "save" - type: "bool" - Parameter { name: "filename"; type: "string" } - } - Method { - name: "toDataURL" - type: "string" - Parameter { name: "type"; type: "string" } - } - Method { name: "toDataURL"; type: "string" } - } - Component { - prototype: "QQuickItem" + prototype: "QQuickMultiPointTouchArea" name: "QtQuick.VirtualKeyboard/TraceInputArea 2.0" exports: ["QtQuick.VirtualKeyboard/TraceInputArea 2.0"] exportMetaObjectRevisions: [0] @@ -1798,34 +2032,6 @@ Module { type: "QVariant" Parameter { name: "traceId"; type: "QVariant" } } - Property { name: "touchPoints"; type: "QQuickTouchPoint"; isList: true; isReadonly: true } - Property { name: "minimumTouchPoints"; type: "int" } - Property { name: "maximumTouchPoints"; type: "int" } - Property { name: "mouseEnabled"; type: "bool" } - Signal { - name: "pressed" - Parameter { name: "touchPoints"; type: "QList" } - } - Signal { - name: "updated" - Parameter { name: "touchPoints"; type: "QList" } - } - Signal { - name: "released" - Parameter { name: "touchPoints"; type: "QList" } - } - Signal { - name: "canceled" - Parameter { name: "touchPoints"; type: "QList" } - } - Signal { - name: "gestureStarted" - Parameter { name: "gesture"; type: "QQuickGrabGestureEvent"; isPointer: true } - } - Signal { - name: "touchUpdated" - Parameter { name: "touchPoints"; type: "QList" } - } } Component { prototype: "QQuickItem" @@ -1842,158 +2048,17 @@ Module { Property { name: "canvasType"; type: "string" } } Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard.Styles/TraceInputKeyPanel 2.0" - exports: ["QtQuick.VirtualKeyboard.Styles/TraceInputKeyPanel 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "control"; type: "QQuickItem"; isPointer: true } - Property { name: "traceMargins"; type: "double" } - } - Component { - prototype: "QQuickItem" + prototype: "QQuickListView" name: "QtQuick.VirtualKeyboard/WordCandidatePopupList 2.0" exports: ["QtQuick.VirtualKeyboard/WordCandidatePopupList 2.0"] exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" - Property { name: "maxVisibleItems"; type: "int" } Property { name: "preferredVisibleItems"; type: "int"; isReadonly: true } - Property { name: "contentWidth"; type: "double"; isReadonly: true } Property { name: "flipVertical"; type: "bool"; isReadonly: true } - Property { name: "highlightMoveVelocity"; type: "double" } - Property { name: "highlightResizeVelocity"; type: "double" } - Property { name: "highlightResizeDuration"; type: "int" } - Property { name: "spacing"; type: "double" } - Property { name: "orientation"; type: "Orientation" } - Property { name: "section"; type: "QQuickViewSection"; isReadonly: true; isPointer: true } - Property { name: "currentSection"; type: "string"; isReadonly: true } - Property { name: "snapMode"; type: "SnapMode" } - Property { name: "headerPositioning"; revision: 2; type: "HeaderPositioning" } - Property { name: "footerPositioning"; revision: 2; type: "FooterPositioning" } - Method { name: "incrementCurrentIndex" } - Method { name: "decrementCurrentIndex" } - Property { name: "model"; type: "QVariant" } - Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } - Property { name: "count"; type: "int"; isReadonly: true } - Property { name: "currentIndex"; type: "int" } - Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "keyNavigationWraps"; type: "bool" } - Property { name: "keyNavigationEnabled"; revision: 7; type: "bool" } - Property { name: "cacheBuffer"; type: "int" } - Property { name: "displayMarginBeginning"; revision: 2; type: "int" } - Property { name: "displayMarginEnd"; revision: 2; type: "int" } - Property { name: "layoutDirection"; type: "Qt::LayoutDirection" } - Property { name: "effectiveLayoutDirection"; type: "Qt::LayoutDirection"; isReadonly: true } - Property { name: "verticalLayoutDirection"; type: "VerticalLayoutDirection" } - Property { name: "header"; type: "QQmlComponent"; isPointer: true } - Property { name: "headerItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "footer"; type: "QQmlComponent"; isPointer: true } - Property { name: "footerItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "populate"; type: "QQuickTransition"; isPointer: true } - Property { name: "add"; type: "QQuickTransition"; isPointer: true } - Property { name: "addDisplaced"; type: "QQuickTransition"; isPointer: true } - Property { name: "move"; type: "QQuickTransition"; isPointer: true } - Property { name: "moveDisplaced"; type: "QQuickTransition"; isPointer: true } - Property { name: "remove"; type: "QQuickTransition"; isPointer: true } - Property { name: "removeDisplaced"; type: "QQuickTransition"; isPointer: true } - Property { name: "displaced"; type: "QQuickTransition"; isPointer: true } - Property { name: "highlight"; type: "QQmlComponent"; isPointer: true } - Property { name: "highlightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "highlightFollowsCurrentItem"; type: "bool" } - Property { name: "highlightRangeMode"; type: "HighlightRangeMode" } - Property { name: "preferredHighlightBegin"; type: "double" } - Property { name: "preferredHighlightEnd"; type: "double" } - Property { name: "highlightMoveDuration"; type: "int" } - Signal { name: "populateTransitionChanged" } - Signal { name: "addTransitionChanged" } - Signal { name: "addDisplacedTransitionChanged" } - Signal { name: "moveTransitionChanged" } - Signal { name: "moveDisplacedTransitionChanged" } - Signal { name: "removeTransitionChanged" } - Signal { name: "removeDisplacedTransitionChanged" } - Signal { name: "displacedTransitionChanged" } - Method { - name: "positionViewAtIndex" - Parameter { name: "index"; type: "int" } - Parameter { name: "mode"; type: "int" } - } - Method { - name: "indexAt" - type: "int" - Parameter { name: "x"; type: "double" } - Parameter { name: "y"; type: "double" } - } - Method { - name: "itemAt" - type: "QQuickItem*" - Parameter { name: "x"; type: "double" } - Parameter { name: "y"; type: "double" } - } - Method { name: "positionViewAtBeginning" } - Method { name: "positionViewAtEnd" } - Method { name: "forceLayout"; revision: 1 } - Property { name: "contentHeight"; type: "double" } - Property { name: "contentX"; type: "double" } - Property { name: "contentY"; type: "double" } - Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Property { name: "topMargin"; type: "double" } - Property { name: "bottomMargin"; type: "double" } - Property { name: "originY"; type: "double"; isReadonly: true } - Property { name: "leftMargin"; type: "double" } - Property { name: "rightMargin"; type: "double" } - Property { name: "originX"; type: "double"; isReadonly: true } - Property { name: "horizontalVelocity"; type: "double"; isReadonly: true } - Property { name: "verticalVelocity"; type: "double"; isReadonly: true } - Property { name: "boundsBehavior"; type: "BoundsBehavior" } - Property { name: "rebound"; type: "QQuickTransition"; isPointer: true } - Property { name: "maximumFlickVelocity"; type: "double" } - Property { name: "flickDeceleration"; type: "double" } - Property { name: "moving"; type: "bool"; isReadonly: true } - Property { name: "movingHorizontally"; type: "bool"; isReadonly: true } - Property { name: "movingVertically"; type: "bool"; isReadonly: true } - Property { name: "flicking"; type: "bool"; isReadonly: true } - Property { name: "flickingHorizontally"; type: "bool"; isReadonly: true } - Property { name: "flickingVertically"; type: "bool"; isReadonly: true } - Property { name: "dragging"; type: "bool"; isReadonly: true } - Property { name: "draggingHorizontally"; type: "bool"; isReadonly: true } - Property { name: "draggingVertically"; type: "bool"; isReadonly: true } - Property { name: "flickableDirection"; type: "FlickableDirection" } - Property { name: "interactive"; type: "bool" } - Property { name: "pressDelay"; type: "int" } - Property { name: "atXEnd"; type: "bool"; isReadonly: true } - Property { name: "atYEnd"; type: "bool"; isReadonly: true } - Property { name: "atXBeginning"; type: "bool"; isReadonly: true } - Property { name: "atYBeginning"; type: "bool"; isReadonly: true } - Property { - name: "visibleArea" - type: "QQuickFlickableVisibleArea" - isReadonly: true - isPointer: true - } - Property { name: "pixelAligned"; type: "bool" } - Property { name: "flickableData"; type: "QObject"; isList: true; isReadonly: true } - Property { name: "flickableChildren"; type: "QQuickItem"; isList: true; isReadonly: true } - Signal { name: "isAtBoundaryChanged" } - Signal { name: "movementStarted" } - Signal { name: "movementEnded" } - Signal { name: "flickStarted" } - Signal { name: "flickEnded" } - Signal { name: "dragStarted" } - Signal { name: "dragEnded" } - Method { - name: "resizeContent" - Parameter { name: "w"; type: "double" } - Parameter { name: "h"; type: "double" } - Parameter { name: "center"; type: "QPointF" } - } - Method { name: "returnToBounds" } - Method { - name: "flick" - Parameter { name: "xVelocity"; type: "double" } - Parameter { name: "yVelocity"; type: "double" } - } - Method { name: "cancelFlick" } + Property { name: "maxVisibleItems"; type: "int" } + Property { name: "contentWidth"; type: "double"; isReadonly: true } + Property { name: "background"; type: "QQmlComponent"; isPointer: true } + Property { name: "defaultHighlight"; type: "QQmlComponent"; isReadonly: true; isPointer: true } } } diff --git a/src/import/qmldir b/src/import/qmldir index b13824c5..e1110f1a 100644 --- a/src/import/qmldir +++ b/src/import/qmldir @@ -1,5 +1,10 @@ module QtQuick.VirtualKeyboard +plugin qtquickvirtualkeyboardplugin +classname QtQuickVirtualKeyboardPlugin typeinfo plugins.qmltypes -depends QtQuick.Layouts 1.1 -depends QtQuick.VirtualKeyboard.Styles 1.1 +depends QtQuick 2.0 +depends QtQuick.Window 2.2 +depends QtQuick.Layouts 1.0 depends Qt.labs.folderlistmodel 2.1 +depends QtQuick.VirtualKeyboard.Settings 2.2 +depends QtQuick.VirtualKeyboard.Styles 2.2 diff --git a/src/import/qtquickvirtualkeyboardplugin.cpp b/src/import/qtquickvirtualkeyboardplugin.cpp new file mode 100644 index 00000000..2b3f08c4 --- /dev/null +++ b/src/import/qtquickvirtualkeyboardplugin.cpp @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qtquickvirtualkeyboardplugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +using namespace QtVirtualKeyboard; + +static QObject *createInputContextModule(QQmlEngine *engine, QJSEngine *scriptEngine) +{ + Q_UNUSED(engine) + Q_UNUSED(scriptEngine) + return new QVirtualKeyboardInputContext(); +} + +void QtQuickVirtualKeyboardPlugin::registerTypes(const char *uri) +{ +#if defined(QT_STATICPLUGIN) + Q_VKB_IMPORT_PLUGIN(QtQuick2Plugin) + Q_VKB_IMPORT_PLUGIN(QtQuick2WindowPlugin) + Q_VKB_IMPORT_PLUGIN(QtQuickLayoutsPlugin) + Q_VKB_IMPORT_PLUGIN(QmlFolderListModelPlugin) + Q_VKB_IMPORT_PLUGIN(QtQuickVirtualKeyboardSettingsPlugin) + Q_VKB_IMPORT_PLUGIN(QtQuickVirtualKeyboardStylesPlugin) +#endif + + qmlRegisterSingletonType(uri, 1, 0, "InputContext", createInputContextModule); + qmlRegisterSingletonType(uri, 2, 0, "InputContext", createInputContextModule); + qmlRegisterUncreatableType(uri, 1, 0, "InputContextPrivate", QLatin1String("Cannot create input context private")); + qmlRegisterUncreatableType(uri, 1, 0, "InputEngine", QLatin1String("Cannot create input method engine")); + qmlRegisterUncreatableType(uri, 2, 0, "InputEngine", QLatin1String("Cannot create input method engine")); + qRegisterMetaType("ShiftHandler*"); + qmlRegisterUncreatableType(uri, 1, 0, "ShiftHandler", QLatin1String("Cannot create shift handler")); + qmlRegisterUncreatableType(uri, 2, 0, "ShiftHandler", QLatin1String("Cannot create shift handler")); + qmlRegisterUncreatableType(uri, 1, 0, "SelectionListModel", QLatin1String("Cannot create selection list model")); + qmlRegisterUncreatableType(uri, 2, 0, "SelectionListModel", QLatin1String("Cannot create selection list model")); + qmlRegisterUncreatableType(uri, 1, 0, "AbstractInputMethod", QLatin1String("Cannot create abstract input method")); + qmlRegisterUncreatableType(uri, 2, 0, "AbstractInputMethod", QLatin1String("Cannot create abstract input method")); + qmlRegisterType(uri, 1, 0, "InputMethod"); + qmlRegisterType(uri, 2, 0, "InputMethod"); + qmlRegisterType(); + qmlRegisterType(uri, 1, 0, "EnterKeyAction"); + qmlRegisterType(uri, 2, 0, "EnterKeyAction"); + qmlRegisterType(uri, 2, 0, "Trace"); + qmlRegisterType(uri, 2, 4, "Trace"); + qRegisterMetaType("ShadowInputContext*"); + qmlRegisterUncreatableType(uri, 2, 2, "ShadowInputContext", QLatin1String("Cannot create shadow input context")); + + const QString path(QStringLiteral("qrc:///QtQuick/VirtualKeyboard/content/")); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 1, 0, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 1, 2, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 1, 3, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 2, 0, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 2, 1, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 2, 2, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 2, 3, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), uri, 2, 4, "InputPanel"); + qmlRegisterType(QUrl(path + QLatin1String("HandwritingInputPanel.qml")), uri, 2, 0, "HandwritingInputPanel"); + const QString componentsPath = path + QStringLiteral("components/"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("AlternativeKeys.qml")), uri, 1, 0, "AlternativeKeys"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("AlternativeKeys.qml")), uri, 2, 0, "AlternativeKeys"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("BackspaceKey.qml")), uri, 1, 0, "BackspaceKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("BackspaceKey.qml")), uri, 2, 0, "BackspaceKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("BaseKey.qml")), uri, 1, 0, "BaseKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("BaseKey.qml")), uri, 2, 0, "BaseKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("ChangeLanguageKey.qml")), uri, 1, 0, "ChangeLanguageKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("ChangeLanguageKey.qml")), uri, 2, 0, "ChangeLanguageKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("CharacterPreviewBubble.qml")), uri, 1, 0, "CharacterPreviewBubble"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("CharacterPreviewBubble.qml")), uri, 2, 0, "CharacterPreviewBubble"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("EnterKey.qml")), uri, 1, 0, "EnterKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("EnterKey.qml")), uri, 2, 0, "EnterKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("FillerKey.qml")), uri, 1, 0, "FillerKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("FillerKey.qml")), uri, 2, 0, "FillerKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("HideKeyboardKey.qml")), uri, 1, 0, "HideKeyboardKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("HideKeyboardKey.qml")), uri, 2, 0, "HideKeyboardKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardColumn.qml")), uri, 1, 0, "KeyboardColumn"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardColumn.qml")), uri, 2, 0, "KeyboardColumn"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayout.qml")), uri, 1, 0, "KeyboardLayout"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayout.qml")), uri, 2, 0, "KeyboardLayout"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayoutLoader.qml")), uri, 1, 1, "KeyboardLayoutLoader"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayoutLoader.qml")), uri, 2, 0, "KeyboardLayoutLoader"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("Keyboard.qml")), uri, 1, 0, "Keyboard"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("Keyboard.qml")), uri, 2, 0, "Keyboard"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardRow.qml")), uri, 1, 0, "KeyboardRow"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardRow.qml")), uri, 2, 0, "KeyboardRow"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("Key.qml")), uri, 1, 0, "Key"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("Key.qml")), uri, 2, 0, "Key"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("ModeKey.qml")), uri, 2, 0, "ModeKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("MultiSoundEffect.qml")), uri, 1, 1, "MultiSoundEffect"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("MultiSoundEffect.qml")), uri, 2, 0, "MultiSoundEffect"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("MultitapInputMethod.qml")), uri, 1, 0, "MultitapInputMethod"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("MultitapInputMethod.qml")), uri, 2, 0, "MultitapInputMethod"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("NumberKey.qml")), uri, 1, 0, "NumberKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("NumberKey.qml")), uri, 2, 0, "NumberKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("ShiftKey.qml")), uri, 1, 0, "ShiftKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("ShiftKey.qml")), uri, 2, 0, "ShiftKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("SpaceKey.qml")), uri, 1, 0, "SpaceKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("SpaceKey.qml")), uri, 2, 0, "SpaceKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("SymbolModeKey.qml")), uri, 1, 0, "SymbolModeKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("SymbolModeKey.qml")), uri, 2, 0, "SymbolModeKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("HandwritingModeKey.qml")), uri, 2, 0, "HandwritingModeKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("TraceInputArea.qml")), uri, 2, 0, "TraceInputArea"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("TraceInputKey.qml")), uri, 2, 0, "TraceInputKey"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("WordCandidatePopupList.qml")), uri, 2, 0, "WordCandidatePopupList"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("PopupList.qml")), uri, 2, 3, "PopupList"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("SelectionControl.qml")), uri, 2, 1, "SelectionControl"); + qmlRegisterType(QUrl(componentsPath + QLatin1String("InputModeKey.qml")), uri, 2, 3, "InputModeKey"); +} + +QT_END_NAMESPACE diff --git a/src/import/qtquickvirtualkeyboardplugin.h b/src/import/qtquickvirtualkeyboardplugin.h new file mode 100644 index 00000000..24651644 --- /dev/null +++ b/src/import/qtquickvirtualkeyboardplugin.h @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTQUICKVIRTUALKEYBOARDPLUGIN_H +#define QTQUICKVIRTUALKEYBOARDPLUGIN_H + +#include + +QT_BEGIN_NAMESPACE + +class QtQuickVirtualKeyboardPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) + +public: + QtQuickVirtualKeyboardPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { } + void registerTypes(const char *uri); +}; + +QT_END_NAMESPACE + +#endif // QTQUICKVIRTUALKEYBOARDPLUGIN_H + diff --git a/src/plugin/plugin.cpp b/src/plugin/plugin.cpp index 5addcf89..ed9b5d9d 100644 --- a/src/plugin/plugin.cpp +++ b/src/plugin/plugin.cpp @@ -29,30 +29,11 @@ #include "plugin.h" #include "extensionloader.h" -#include -#include -#include -#include +#include #include -#include -#include -#include -#include -#include -#include -#include +#include #include -#if defined(QT_STATICPLUGIN) -#include -// This macro is similar to Q_IMPORT_PLUGIN, except it does not -// register duplicate entries as static plugins. -// The check is required since the application may already have -// initialized the plugin by its own dependencies. -#define Q_VKB_IMPORT_PLUGIN(PLUGIN) \ - extern const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGIN(); \ - if (!QPluginLoader::staticInstances().contains(qt_static_plugin_##PLUGIN().instance())) \ - qRegisterStaticPluginFunction(qt_static_plugin_##PLUGIN()); -#endif +#include QT_BEGIN_NAMESPACE @@ -60,22 +41,9 @@ using namespace QtVirtualKeyboard; Q_LOGGING_CATEGORY(qlcVirtualKeyboard, "qt.virtualkeyboard") +static const char pluginsUri[] = "QtQuick.VirtualKeyboard.Plugins"; static const char pluginName[] = "qtvirtualkeyboard"; static const char inputMethodEnvVarName[] = "QT_IM_MODULE"; -static const char pluginUri[] = "QtQuick.VirtualKeyboard"; -static const char pluginSettingsUri[] = "QtQuick.VirtualKeyboard.Settings"; - -static QPointer platformInputContext; - -static QStringList inputMethodList = QStringList() << QLatin1String("PlainInputMethod"); - -static QObject *createInputContextModule(QQmlEngine *engine, QJSEngine *scriptEngine) -{ - Q_UNUSED(scriptEngine); - QQmlContext *rootContext = engine->rootContext(); - rootContext->setContextProperty(QStringLiteral("VirtualKeyboardInputMethods"), inputMethodList); - return new QVirtualKeyboardInputContext(platformInputContext); -} QStringList QVirtualKeyboardPlugin::keys() const { @@ -86,112 +54,24 @@ QPlatformInputContext *QVirtualKeyboardPlugin::create(const QString &system, con { Q_UNUSED(paramList); +#if defined(QT_STATICPLUGIN) + Q_VKB_IMPORT_PLUGIN(QtQuickVirtualKeyboardPlugin) + Q_VKB_IMPORT_PLUGIN(QtQuickVirtualKeyboardSettingsPlugin) + Q_VKB_IMPORT_PLUGIN(QtQuickVirtualKeyboardStylesPlugin) +#endif + if (!qEnvironmentVariableIsSet(inputMethodEnvVarName) || qgetenv(inputMethodEnvVarName) != pluginName) return Q_NULLPTR; if (system.compare(system, QLatin1String(pluginName), Qt::CaseInsensitive) != 0) return Q_NULLPTR; - platformInputContext = new PlatformInputContext(); + PlatformInputContext *platformInputContext = new PlatformInputContext(); -#if defined(QT_STATICPLUGIN) - Q_VKB_IMPORT_PLUGIN(QtQuick2Plugin) - Q_VKB_IMPORT_PLUGIN(QtQuick2WindowPlugin) - Q_VKB_IMPORT_PLUGIN(QtQuickLayoutsPlugin) - Q_VKB_IMPORT_PLUGIN(QmlFolderListModelPlugin) - Q_VKB_IMPORT_PLUGIN(QtVirtualKeyboardStylesPlugin) -#endif - - qmlRegisterSingletonType(pluginUri, 1, 0, "InputContext", createInputContextModule); - qmlRegisterSingletonType(pluginUri, 2, 0, "InputContext", createInputContextModule); - qmlRegisterUncreatableType(pluginUri, 1, 0, "InputContextPrivate", QLatin1String("Cannot create input context private")); - qmlRegisterUncreatableType(pluginUri, 1, 0, "InputEngine", QLatin1String("Cannot create input method engine")); - qmlRegisterUncreatableType(pluginUri, 2, 0, "InputEngine", QLatin1String("Cannot create input method engine")); - qRegisterMetaType("ShiftHandler*"); - qmlRegisterUncreatableType(pluginUri, 1, 0, "ShiftHandler", QLatin1String("Cannot create shift handler")); - qmlRegisterUncreatableType(pluginUri, 2, 0, "ShiftHandler", QLatin1String("Cannot create shift handler")); - qmlRegisterUncreatableType(pluginUri, 1, 0, "SelectionListModel", QLatin1String("Cannot create selection list model")); - qmlRegisterUncreatableType(pluginUri, 2, 0, "SelectionListModel", QLatin1String("Cannot create selection list model")); - qmlRegisterUncreatableType(pluginUri, 1, 0, "AbstractInputMethod", QLatin1String("Cannot create abstract input method")); - qmlRegisterUncreatableType(pluginUri, 2, 0, "AbstractInputMethod", QLatin1String("Cannot create abstract input method")); + QStringList inputMethodList; + inputMethodList.append(QLatin1String("PlainInputMethod")); qRegisterMetaType("PlainInputMethod*"); - qmlRegisterType(pluginUri, 1, 0, "PlainInputMethod"); - qmlRegisterType(pluginUri, 2, 0, "PlainInputMethod"); - qmlRegisterType(pluginUri, 1, 0, "InputMethod"); - qmlRegisterType(pluginUri, 2, 0, "InputMethod"); - qmlRegisterType(); - qmlRegisterType(pluginUri, 1, 0, "EnterKeyAction"); - qmlRegisterType(pluginUri, 2, 0, "EnterKeyAction"); - qmlRegisterType(pluginUri, 2, 0, "Trace"); - qmlRegisterType(pluginUri, 2, 4, "Trace"); - qRegisterMetaType("ShadowInputContext*"); - qmlRegisterUncreatableType(pluginUri, 2, 2, "ShadowInputContext", QLatin1String("Cannot create shadow input context")); - qmlRegisterSingletonType(pluginSettingsUri, 1, 0, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); - qmlRegisterSingletonType(pluginSettingsUri, 1, 1, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); - qmlRegisterSingletonType(pluginSettingsUri, 1, 2, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); - qmlRegisterSingletonType(pluginSettingsUri, 2, 0, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); - qmlRegisterSingletonType(pluginSettingsUri, 2, 1, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); - qRegisterMetaType("WordCandidateListSettings*"); - qmlRegisterUncreatableType(pluginSettingsUri, 2, 2, "WordCandidateListSettings", QLatin1String("Cannot create word candidate list settings")); - - const QString path(QStringLiteral("qrc:///QtQuick/VirtualKeyboard/content/")); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 1, 0, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 1, 2, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 1, 3, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 2, 0, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 2, 1, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 2, 2, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 2, 3, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("InputPanel.qml")), pluginUri, 2, 4, "InputPanel"); - qmlRegisterType(QUrl(path + QLatin1String("HandwritingInputPanel.qml")), pluginUri, 2, 0, "HandwritingInputPanel"); - const QString componentsPath = path + QStringLiteral("components/"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("AlternativeKeys.qml")), pluginUri, 1, 0, "AlternativeKeys"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("AlternativeKeys.qml")), pluginUri, 2, 0, "AlternativeKeys"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("BackspaceKey.qml")), pluginUri, 1, 0, "BackspaceKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("BackspaceKey.qml")), pluginUri, 2, 0, "BackspaceKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("BaseKey.qml")), pluginUri, 1, 0, "BaseKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("BaseKey.qml")), pluginUri, 2, 0, "BaseKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("ChangeLanguageKey.qml")), pluginUri, 1, 0, "ChangeLanguageKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("ChangeLanguageKey.qml")), pluginUri, 2, 0, "ChangeLanguageKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("CharacterPreviewBubble.qml")), pluginUri, 1, 0, "CharacterPreviewBubble"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("CharacterPreviewBubble.qml")), pluginUri, 2, 0, "CharacterPreviewBubble"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("EnterKey.qml")), pluginUri, 1, 0, "EnterKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("EnterKey.qml")), pluginUri, 2, 0, "EnterKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("FillerKey.qml")), pluginUri, 1, 0, "FillerKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("FillerKey.qml")), pluginUri, 2, 0, "FillerKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("HideKeyboardKey.qml")), pluginUri, 1, 0, "HideKeyboardKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("HideKeyboardKey.qml")), pluginUri, 2, 0, "HideKeyboardKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardColumn.qml")), pluginUri, 1, 0, "KeyboardColumn"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardColumn.qml")), pluginUri, 2, 0, "KeyboardColumn"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayout.qml")), pluginUri, 1, 0, "KeyboardLayout"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayout.qml")), pluginUri, 2, 0, "KeyboardLayout"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayoutLoader.qml")), pluginUri, 1, 1, "KeyboardLayoutLoader"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardLayoutLoader.qml")), pluginUri, 2, 0, "KeyboardLayoutLoader"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("Keyboard.qml")), pluginUri, 1, 0, "Keyboard"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("Keyboard.qml")), pluginUri, 2, 0, "Keyboard"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardRow.qml")), pluginUri, 1, 0, "KeyboardRow"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("KeyboardRow.qml")), pluginUri, 2, 0, "KeyboardRow"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("Key.qml")), pluginUri, 1, 0, "Key"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("Key.qml")), pluginUri, 2, 0, "Key"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("ModeKey.qml")), pluginUri, 2, 0, "ModeKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("MultiSoundEffect.qml")), pluginUri, 1, 1, "MultiSoundEffect"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("MultiSoundEffect.qml")), pluginUri, 2, 0, "MultiSoundEffect"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("MultitapInputMethod.qml")), pluginUri, 1, 0, "MultitapInputMethod"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("MultitapInputMethod.qml")), pluginUri, 2, 0, "MultitapInputMethod"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("NumberKey.qml")), pluginUri, 1, 0, "NumberKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("NumberKey.qml")), pluginUri, 2, 0, "NumberKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("ShiftKey.qml")), pluginUri, 1, 0, "ShiftKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("ShiftKey.qml")), pluginUri, 2, 0, "ShiftKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("SpaceKey.qml")), pluginUri, 1, 0, "SpaceKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("SpaceKey.qml")), pluginUri, 2, 0, "SpaceKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("SymbolModeKey.qml")), pluginUri, 1, 0, "SymbolModeKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("SymbolModeKey.qml")), pluginUri, 2, 0, "SymbolModeKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("HandwritingModeKey.qml")), pluginUri, 2, 0, "HandwritingModeKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("TraceInputArea.qml")), pluginUri, 2, 0, "TraceInputArea"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("TraceInputKey.qml")), pluginUri, 2, 0, "TraceInputKey"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("WordCandidatePopupList.qml")), pluginUri, 2, 0, "WordCandidatePopupList"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("PopupList.qml")), pluginUri, 2, 3, "PopupList"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("SelectionControl.qml")), pluginUri, 2, 1, "SelectionControl"); - qmlRegisterType(QUrl(componentsPath + QLatin1String("InputModeKey.qml")), pluginUri, 2, 3, "InputModeKey"); + qmlRegisterType(pluginsUri, 1, 0, "PlainInputMethod"); + qmlRegisterType(pluginsUri, 2, 0, "PlainInputMethod"); QHash extensions = ExtensionLoader::plugins(); for (const QString &extensionName : extensions.uniqueKeys()) { @@ -210,11 +90,13 @@ QPlatformInputContext *QVirtualKeyboardPlugin::create(const QString &system, con qCDebug(qlcVirtualKeyboard) << "Loading extension" << extensionName; QVirtualKeyboardExtensionPlugin *extensionPlugin = ExtensionLoader::loadPlugin(metaData); if (extensionPlugin && !inputMethod.isEmpty()) { - extensionPlugin->registerTypes(pluginUri); + extensionPlugin->registerTypes(pluginsUri); inputMethodList.append(inputMethod); } } + platformInputContext->setInputMethods(inputMethodList); + return platformInputContext; } diff --git a/src/plugin/plugin.h b/src/plugin/plugin.h index c1c80e50..c3353022 100644 --- a/src/plugin/plugin.h +++ b/src/plugin/plugin.h @@ -30,7 +30,6 @@ #ifndef PLUGIN_H #define PLUGIN_H -#include #include #include #include diff --git a/src/plugin/plugin.pro b/src/plugin/plugin.pro index c823e0a3..2256b677 100644 --- a/src/plugin/plugin.pro +++ b/src/plugin/plugin.pro @@ -1,5 +1,5 @@ TARGET = qtvirtualkeyboardplugin -QT += virtualkeyboard-private +QT += qml virtualkeyboard-private SOURCES += \ plugin.cpp \ diff --git a/src/settings/plugins.qmltypes b/src/settings/plugins.qmltypes index 6e29d9fc..4ad5e4ae 100644 --- a/src/settings/plugins.qmltypes +++ b/src/settings/plugins.qmltypes @@ -4,1332 +4,47 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -defaultplatform -nonrelocatable QtQuick.VirtualKeyboard.Settings 2.1' +// 'qmlplugindump -nonrelocatable QtQuick.VirtualKeyboard.Settings 2.2' Module { - dependencies: ["QtQuick 2.8"] - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/AlternativeKeys 2.0" - exports: ["QtQuick.VirtualKeyboard/AlternativeKeys 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "highlightIndex"; type: "int" } - Property { name: "keyCode"; type: "int" } - Property { name: "origin"; type: "QPointF" } - Property { name: "listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } - Signal { name: "clicked" } - Method { - name: "open" - type: "QVariant" - Parameter { name: "key"; type: "QVariant" } - Parameter { name: "originX"; type: "QVariant" } - Parameter { name: "originY"; type: "QVariant" } - } - Method { - name: "move" - type: "QVariant" - Parameter { name: "mouseX"; type: "QVariant" } - } - Method { name: "close"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/AlternativeKeys 1.0" - exports: ["QtQuick.VirtualKeyboard/AlternativeKeys 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "highlightIndex"; type: "int" } - Property { name: "keyCode"; type: "int" } - Property { name: "origin"; type: "QPointF" } - Property { name: "listView"; type: "QQuickListView"; isReadonly: true; isPointer: true } - Signal { name: "clicked" } - Method { - name: "open" - type: "QVariant" - Parameter { name: "key"; type: "QVariant" } - Parameter { name: "originX"; type: "QVariant" } - Parameter { name: "originY"; type: "QVariant" } - } - Method { - name: "move" - type: "QVariant" - Parameter { name: "mouseX"; type: "QVariant" } - } - Method { name: "close"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/BackspaceKey 1.0" - exports: ["QtQuick.VirtualKeyboard/BackspaceKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/BackspaceKey 2.0" - exports: ["QtQuick.VirtualKeyboard/BackspaceKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/BaseKey 2.0" - exports: ["QtQuick.VirtualKeyboard/BaseKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/BaseKey 1.0" - exports: ["QtQuick.VirtualKeyboard/BaseKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/ChangeLanguageKey 1.0" - exports: ["QtQuick.VirtualKeyboard/ChangeLanguageKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "customLayoutsOnly"; type: "bool" } - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/ChangeLanguageKey 2.0" - exports: ["QtQuick.VirtualKeyboard/ChangeLanguageKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "customLayoutsOnly"; type: "bool" } - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/CharacterPreviewBubble 1.0" - exports: ["QtQuick.VirtualKeyboard/CharacterPreviewBubble 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "activeKey"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/CharacterPreviewBubble 2.0" - exports: ["QtQuick.VirtualKeyboard/CharacterPreviewBubble 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "activeKey"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/EnterKey 1.0" - exports: ["QtQuick.VirtualKeyboard/EnterKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "actionId"; type: "int"; isReadonly: true } - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/EnterKey 2.0" - exports: ["QtQuick.VirtualKeyboard/EnterKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "actionId"; type: "int"; isReadonly: true } - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/FillerKey 2.0" - exports: ["QtQuick.VirtualKeyboard/FillerKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/FillerKey 1.0" - exports: ["QtQuick.VirtualKeyboard/FillerKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/HandwritingInputPanel 2.0" - exports: ["QtQuick.VirtualKeyboard/HandwritingInputPanel 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "inputPanel"; type: "QVariant" } - Property { name: "available"; type: "bool" } - Property { name: "active"; type: "bool" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/HandwritingModeKey 2.0" - exports: ["QtQuick.VirtualKeyboard/HandwritingModeKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/HideKeyboardKey 2.0" - exports: ["QtQuick.VirtualKeyboard/HideKeyboardKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/HideKeyboardKey 1.0" - exports: ["QtQuick.VirtualKeyboard/HideKeyboardKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 1.3" - exports: ["QtQuick.VirtualKeyboard/InputPanel 1.3"] - exportMetaObjectRevisions: [3] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_15"; isReadonly: true; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 2.2" - exports: ["QtQuick.VirtualKeyboard/InputPanel 2.2"] - exportMetaObjectRevisions: [2] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_15"; isReadonly: true; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 2.1" - exports: ["QtQuick.VirtualKeyboard/InputPanel 2.1"] - exportMetaObjectRevisions: [1] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_15"; isReadonly: true; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 1.0" - exports: ["QtQuick.VirtualKeyboard/InputPanel 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_15"; isReadonly: true; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 2.0" - exports: ["QtQuick.VirtualKeyboard/InputPanel 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_15"; isReadonly: true; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/InputPanel 1.2" - exports: ["QtQuick.VirtualKeyboard/InputPanel 1.2"] - exportMetaObjectRevisions: [2] - isComposite: true - defaultProperty: "data" - Property { name: "active"; type: "bool" } - Property { name: "keyboard"; type: "Keyboard_QMLTYPE_15"; isReadonly: true; isPointer: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/Key 1.0" - exports: ["QtQuick.VirtualKeyboard/Key 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/Key 2.0" - exports: ["QtQuick.VirtualKeyboard/Key 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/Keyboard 2.0" - exports: ["QtQuick.VirtualKeyboard/Keyboard 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "activeKey"; type: "QVariant" } - Property { name: "activeTouchPoint"; type: "QQuickTouchPoint"; isPointer: true } - Property { name: "localeIndex"; type: "int" } - Property { name: "availableLocaleIndices"; type: "QVariant" } - Property { name: "availableCustomLocaleIndices"; type: "QVariant" } + dependencies: [] + Component { + name: "QtVirtualKeyboard::VirtualKeyboardSettings" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard.Settings/VirtualKeyboardSettings 1.0", + "QtQuick.VirtualKeyboard.Settings/VirtualKeyboardSettings 1.1", + "QtQuick.VirtualKeyboard.Settings/VirtualKeyboardSettings 1.2", + "QtQuick.VirtualKeyboard.Settings/VirtualKeyboardSettings 2.0", + "QtQuick.VirtualKeyboard.Settings/VirtualKeyboardSettings 2.1" + ] + isCreatable: false + isSingleton: true + exportMetaObjectRevisions: [0, 0, 0, 0, 0] + Property { name: "style"; type: "QUrl"; isReadonly: true } + Property { name: "layoutPath"; type: "QUrl" } + Property { name: "styleName"; type: "string" } Property { name: "locale"; type: "string" } - Property { name: "inputLocale"; type: "string" } - Property { name: "defaultLocaleIndex"; type: "int" } - Property { name: "latinOnly"; type: "bool" } - Property { name: "preferNumbers"; type: "bool" } - Property { name: "layout"; type: "string" } - Property { name: "layoutType"; type: "string" } - Property { name: "active"; type: "bool" } - Property { name: "handwritingMode"; type: "bool" } - Property { name: "fullScreenHandwritingMode"; type: "bool" } - Property { name: "symbolMode"; type: "bool" } - Property { name: "fullScreenMode"; type: "bool" } - Property { name: "defaultInputMethod"; type: "QVariant" } - Property { name: "plainInputMethod"; type: "QVariant" } - Property { name: "customInputMethod"; type: "QVariant" } - Property { name: "customInputMethodSharedLayouts"; type: "QVariant" } - Property { name: "defaultInputMode"; type: "int" } - Property { name: "inputMethodNeedsReset"; type: "bool" } - Property { name: "inputModeNeedsReset"; type: "bool" } - Property { name: "navigationModeActive"; type: "bool" } - Property { name: "languagePopupListActive"; type: "bool"; isReadonly: true } - Property { name: "style"; type: "QObject"; isReadonly: true; isPointer: true } - Property { name: "soundEffect"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Method { name: "initDefaultInputMethod"; type: "QVariant" } - Method { - name: "showLanguagePopup" - type: "QVariant" - Parameter { name: "parentItem"; type: "QVariant" } - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { name: "hideLanguagePopup"; type: "QVariant" } - Method { name: "updateInputMethod"; type: "QVariant" } - Method { name: "updateLayout"; type: "QVariant" } - Method { name: "updateDefaultLocale"; type: "QVariant" } - Method { name: "updateAvailableLocaleIndices"; type: "QVariant" } - Method { - name: "listLocales" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } + Property { name: "availableLocales"; type: "QStringList"; isReadonly: true } + Property { name: "activeLocales"; type: "QStringList" } + Property { + name: "wordCandidateList" + type: "WordCandidateListSettings" + isReadonly: true + isPointer: true } - Method { - name: "nextLocaleIndex" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "changeInputLanguage" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "canChangeInputLanguage" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "findLocale" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "defaultValue"; type: "QVariant" } - } - Method { - name: "isValidLocale" - type: "QVariant" - Parameter { name: "localeNameOrIndex"; type: "QVariant" } - } - Method { - name: "getLayoutFile" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "layoutType"; type: "QVariant" } - } - Method { - name: "layoutExists" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "layoutType"; type: "QVariant" } - } - Method { - name: "findLayout" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "layoutType"; type: "QVariant" } - } - Method { name: "isHandwritingAvailable"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/Keyboard 1.0" - exports: ["QtQuick.VirtualKeyboard/Keyboard 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "activeKey"; type: "QVariant" } - Property { name: "activeTouchPoint"; type: "QQuickTouchPoint"; isPointer: true } - Property { name: "localeIndex"; type: "int" } - Property { name: "availableLocaleIndices"; type: "QVariant" } - Property { name: "availableCustomLocaleIndices"; type: "QVariant" } - Property { name: "locale"; type: "string" } - Property { name: "inputLocale"; type: "string" } - Property { name: "defaultLocaleIndex"; type: "int" } - Property { name: "latinOnly"; type: "bool" } - Property { name: "preferNumbers"; type: "bool" } - Property { name: "layout"; type: "string" } - Property { name: "layoutType"; type: "string" } - Property { name: "active"; type: "bool" } - Property { name: "handwritingMode"; type: "bool" } - Property { name: "fullScreenHandwritingMode"; type: "bool" } - Property { name: "symbolMode"; type: "bool" } Property { name: "fullScreenMode"; type: "bool" } - Property { name: "defaultInputMethod"; type: "QVariant" } - Property { name: "plainInputMethod"; type: "QVariant" } - Property { name: "customInputMethod"; type: "QVariant" } - Property { name: "customInputMethodSharedLayouts"; type: "QVariant" } - Property { name: "defaultInputMode"; type: "int" } - Property { name: "inputMethodNeedsReset"; type: "bool" } - Property { name: "inputModeNeedsReset"; type: "bool" } - Property { name: "navigationModeActive"; type: "bool" } - Property { name: "languagePopupListActive"; type: "bool"; isReadonly: true } - Property { name: "style"; type: "QObject"; isReadonly: true; isPointer: true } - Property { name: "soundEffect"; type: "QQuickItem"; isReadonly: true; isPointer: true } - Method { name: "initDefaultInputMethod"; type: "QVariant" } - Method { - name: "showLanguagePopup" - type: "QVariant" - Parameter { name: "parentItem"; type: "QVariant" } - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { name: "hideLanguagePopup"; type: "QVariant" } - Method { name: "updateInputMethod"; type: "QVariant" } - Method { name: "updateLayout"; type: "QVariant" } - Method { name: "updateDefaultLocale"; type: "QVariant" } - Method { name: "updateAvailableLocaleIndices"; type: "QVariant" } - Method { - name: "listLocales" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "nextLocaleIndex" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "changeInputLanguage" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "canChangeInputLanguage" - type: "QVariant" - Parameter { name: "customLayoutsOnly"; type: "QVariant" } - } - Method { - name: "findLocale" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "defaultValue"; type: "QVariant" } - } - Method { - name: "isValidLocale" - type: "QVariant" - Parameter { name: "localeNameOrIndex"; type: "QVariant" } - } - Method { - name: "getLayoutFile" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "layoutType"; type: "QVariant" } - } - Method { - name: "layoutExists" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "layoutType"; type: "QVariant" } - } - Method { - name: "findLayout" - type: "QVariant" - Parameter { name: "localeName"; type: "QVariant" } - Parameter { name: "layoutType"; type: "QVariant" } - } - Method { name: "isHandwritingAvailable"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/KeyboardColumn 1.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardColumn 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "keyWeight"; type: "double" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "spacing"; type: "double" } - Property { name: "layoutDirection"; revision: 1; type: "Qt::LayoutDirection" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/KeyboardColumn 2.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardColumn 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "keyWeight"; type: "double" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "spacing"; type: "double" } - Property { name: "layoutDirection"; revision: 1; type: "Qt::LayoutDirection" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/KeyboardLayout 2.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardLayout 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "inputMethod"; type: "QVariant" } - Property { name: "sharedLayouts"; type: "QVariant" } - Property { name: "inputMode"; type: "int" } - Property { name: "keyWeight"; type: "double" } - Property { name: "smallTextVisible"; type: "bool" } - Method { name: "createInputMethod"; type: "QVariant" } - Property { name: "spacing"; type: "double" } - Property { name: "layoutDirection"; revision: 1; type: "Qt::LayoutDirection" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/KeyboardLayout 1.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardLayout 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "inputMethod"; type: "QVariant" } - Property { name: "sharedLayouts"; type: "QVariant" } - Property { name: "inputMode"; type: "int" } - Property { name: "keyWeight"; type: "double" } - Property { name: "smallTextVisible"; type: "bool" } - Method { name: "createInputMethod"; type: "QVariant" } - Property { name: "spacing"; type: "double" } - Property { name: "layoutDirection"; revision: 1; type: "Qt::LayoutDirection" } - } - Component { - prototype: "QQuickLoader" - name: "QtQuick.VirtualKeyboard/KeyboardLayoutLoader 2.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardLayoutLoader 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "inputMethod"; type: "QVariant" } - Property { name: "sharedLayouts"; type: "QVariant" } - Property { name: "inputMode"; type: "int" } - Property { name: "__updateCount"; type: "int" } - Method { name: "createInputMethod"; type: "QVariant" } - } - Component { - prototype: "QQuickLoader" - name: "QtQuick.VirtualKeyboard/KeyboardLayoutLoader 1.1" - exports: ["QtQuick.VirtualKeyboard/KeyboardLayoutLoader 1.1"] - exportMetaObjectRevisions: [1] - isComposite: true - defaultProperty: "data" - Property { name: "inputMethod"; type: "QVariant" } - Property { name: "sharedLayouts"; type: "QVariant" } - Property { name: "inputMode"; type: "int" } - Property { name: "__updateCount"; type: "int" } - Method { name: "createInputMethod"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/KeyboardRow 2.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardRow 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "keyWeight"; type: "double" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "spacing"; type: "double" } - Property { name: "layoutDirection"; revision: 1; type: "Qt::LayoutDirection" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/KeyboardRow 1.0" - exports: ["QtQuick.VirtualKeyboard/KeyboardRow 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "keyWeight"; type: "double" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "spacing"; type: "double" } - Property { name: "layoutDirection"; revision: 1; type: "Qt::LayoutDirection" } - } - Component { - prototype: "QQuickListView" - name: "QtQuick.VirtualKeyboard/LanguagePopupList 2.1" - exports: ["QtQuick.VirtualKeyboard/LanguagePopupList 2.1"] - exportMetaObjectRevisions: [1] - isComposite: true - defaultProperty: "data" - Property { name: "maxVisibleItems"; type: "int" } - Property { name: "preferredVisibleItems"; type: "int"; isReadonly: true } - Property { name: "contentWidth"; type: "double"; isReadonly: true } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/ModeKey 2.0" - exports: ["QtQuick.VirtualKeyboard/ModeKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "mode"; type: "bool" } - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QtVirtualKeyboard::InputMethod" - name: "QtQuick.VirtualKeyboard/MultitapInputMethod 2.0" - exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - Property { name: "multitapSequence"; type: "string" } - Property { name: "multitapIndex"; type: "int" } - Property { name: "multiTapTimer"; type: "QVariant" } - Method { - name: "inputModes" - type: "QVariant" - Parameter { name: "locale"; type: "QVariant" } - } - Method { - name: "setInputMode" - type: "QVariant" - Parameter { name: "locale"; type: "QVariant" } - Parameter { name: "inputMode"; type: "QVariant" } - } - Method { - name: "setTextCase" - type: "QVariant" - Parameter { name: "textCase"; type: "QVariant" } - } - Method { name: "reset"; type: "QVariant" } - Method { name: "update"; type: "QVariant" } - Method { - name: "keyEvent" - type: "QVariant" - Parameter { name: "key"; type: "QVariant" } - Parameter { name: "text"; type: "QVariant" } - Parameter { name: "modifiers"; type: "QVariant" } - } - Method { name: "selectionLists"; type: "QVariant" } - Method { - name: "selectionListItemCount" - type: "QVariant" - Parameter { name: "type"; type: "QVariant" } - } - Method { - name: "selectionListData" - type: "QVariant" - Parameter { name: "type"; type: "QVariant" } - Parameter { name: "index"; type: "QVariant" } - Parameter { name: "role"; type: "QVariant" } - } - Method { - name: "selectionListItemSelected" - type: "QVariant" - Parameter { name: "type"; type: "QVariant" } - Parameter { name: "index"; type: "QVariant" } - } - } - Component { - prototype: "QtVirtualKeyboard::InputMethod" - name: "QtQuick.VirtualKeyboard/MultitapInputMethod 1.0" - exports: ["QtQuick.VirtualKeyboard/MultitapInputMethod 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - Property { name: "multitapSequence"; type: "string" } - Property { name: "multitapIndex"; type: "int" } - Property { name: "multiTapTimer"; type: "QVariant" } - Method { - name: "inputModes" - type: "QVariant" - Parameter { name: "locale"; type: "QVariant" } - } - Method { - name: "setInputMode" - type: "QVariant" - Parameter { name: "locale"; type: "QVariant" } - Parameter { name: "inputMode"; type: "QVariant" } - } - Method { - name: "setTextCase" - type: "QVariant" - Parameter { name: "textCase"; type: "QVariant" } - } - Method { name: "reset"; type: "QVariant" } - Method { name: "update"; type: "QVariant" } - Method { - name: "keyEvent" - type: "QVariant" - Parameter { name: "key"; type: "QVariant" } - Parameter { name: "text"; type: "QVariant" } - Parameter { name: "modifiers"; type: "QVariant" } - } - Method { name: "selectionLists"; type: "QVariant" } - Method { - name: "selectionListItemCount" - type: "QVariant" - Parameter { name: "type"; type: "QVariant" } - } - Method { - name: "selectionListData" - type: "QVariant" - Parameter { name: "type"; type: "QVariant" } - Parameter { name: "index"; type: "QVariant" } - Parameter { name: "role"; type: "QVariant" } - } - Method { - name: "selectionListItemSelected" - type: "QVariant" - Parameter { name: "type"; type: "QVariant" } - Parameter { name: "index"; type: "QVariant" } - } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/NumberKey 1.0" - exports: ["QtQuick.VirtualKeyboard/NumberKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/NumberKey 2.0" - exports: ["QtQuick.VirtualKeyboard/NumberKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SelectionControl 2.1" - exports: ["QtQuick.VirtualKeyboard/SelectionControl 2.1"] - exportMetaObjectRevisions: [1] - isComposite: true - defaultProperty: "data" - Property { name: "handleIsMoving"; type: "bool" } - Property { name: "inputContext"; type: "QVariant" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/ShiftKey 1.0" - exports: ["QtQuick.VirtualKeyboard/ShiftKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/ShiftKey 2.0" - exports: ["QtQuick.VirtualKeyboard/ShiftKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SpaceKey 1.0" - exports: ["QtQuick.VirtualKeyboard/SpaceKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SpaceKey 2.0" - exports: ["QtQuick.VirtualKeyboard/SpaceKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SymbolModeKey 1.0" - exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/SymbolModeKey 2.0" - exports: ["QtQuick.VirtualKeyboard/SymbolModeKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "text"; type: "string" } - Property { name: "displayText"; type: "string" } - Property { name: "smallText"; type: "string" } - Property { name: "smallTextVisible"; type: "bool" } - Property { name: "alternativeKeys"; type: "QVariant" } - Property { name: "effectiveAlternativeKeys"; type: "QVariant"; isReadonly: true } - Property { name: "effectiveAlternativeKeysHighlightIndex"; type: "int"; isReadonly: true } - Property { name: "key"; type: "int" } - Property { name: "noKeyEvent"; type: "bool" } - Property { name: "active"; type: "bool" } - Property { name: "noModifier"; type: "bool" } - Property { name: "repeat"; type: "bool" } - Property { name: "highlighted"; type: "bool" } - Property { name: "functionKey"; type: "bool" } - Property { name: "showPreview"; type: "bool" } - Property { name: "pressed"; type: "bool" } - Property { name: "uppercased"; type: "bool" } - Property { name: "soundEffect"; type: "QUrl"; isReadonly: true } - Property { name: "keyPanelDelegate"; type: "QQmlComponent"; isPointer: true } - Signal { name: "clicked" } - } - Component { - prototype: "QQuickMultiPointTouchArea" - name: "QtQuick.VirtualKeyboard/TraceInputArea 2.0" - exports: ["QtQuick.VirtualKeyboard/TraceInputArea 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "patternRecognitionMode"; type: "int" } - Property { name: "horizontalRulers"; type: "QVariant" } - Property { name: "verticalRulers"; type: "QVariant" } - Property { name: "boundingBox"; type: "QRectF"; isReadonly: true } - Property { name: "canvasType"; type: "string" } - Property { name: "__traceCanvasList"; type: "QVariant" } - Property { name: "__traceCaptureDeviceInfo"; type: "QVariant" } - Property { name: "__traceScreenInfo"; type: "QVariant" } - Method { - name: "findTraceCanvasById" - type: "QVariant" - Parameter { name: "traceId"; type: "QVariant" } - } - } - Component { - prototype: "QQuickItem" - name: "QtQuick.VirtualKeyboard/TraceInputKey 2.0" - exports: ["QtQuick.VirtualKeyboard/TraceInputKey 2.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "weight"; type: "double" } - Property { name: "patternRecognitionMode"; type: "int" } - Property { name: "horizontalRulers"; type: "QVariant" } - Property { name: "verticalRulers"; type: "QVariant" } - Property { name: "boundingBox"; type: "QRectF"; isReadonly: true } - Property { name: "canvasType"; type: "string" } } Component { - prototype: "QQuickListView" - name: "QtQuick.VirtualKeyboard/WordCandidatePopupList 2.0" - exports: ["QtQuick.VirtualKeyboard/WordCandidatePopupList 2.0"] + name: "QtVirtualKeyboard::WordCandidateListSettings" + prototype: "QObject" + exports: [ + "QtQuick.VirtualKeyboard.Settings/WordCandidateListSettings 2.2" + ] + isCreatable: false exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "maxVisibleItems"; type: "int" } - Property { name: "preferredVisibleItems"; type: "int"; isReadonly: true } - Property { name: "contentWidth"; type: "double"; isReadonly: true } - Property { name: "flipVertical"; type: "bool"; isReadonly: true } + Property { name: "autoHideDelay"; type: "int" } + Property { name: "alwaysVisible"; type: "bool" } + Property { name: "autoCommitWord"; type: "bool" } } } diff --git a/src/settings/qmldir b/src/settings/qmldir index 619e9d70..ac07347d 100644 --- a/src/settings/qmldir +++ b/src/settings/qmldir @@ -1,4 +1,5 @@ module QtQuick.VirtualKeyboard.Settings +plugin qtquickvirtualkeyboardsettingsplugin +classname QtQuickVirtualKeyboardSettingsPlugin typeinfo plugins.qmltypes -depends QtQuick 2.8 -depends QtQuick.VirtualKeyboard 2.1 +depends QtQuick 2.0 diff --git a/src/settings/qtquickvirtualkeyboardsettingsplugin.cpp b/src/settings/qtquickvirtualkeyboardsettingsplugin.cpp new file mode 100644 index 00000000..131696e1 --- /dev/null +++ b/src/settings/qtquickvirtualkeyboardsettingsplugin.cpp @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qtquickvirtualkeyboardsettingsplugin.h" +#include +#include + +QT_BEGIN_NAMESPACE + +using namespace QtVirtualKeyboard; + +void QtQuickVirtualKeyboardSettingsPlugin::registerTypes(const char *uri) +{ +#if defined(QT_STATICPLUGIN) + Q_VKB_IMPORT_PLUGIN(QtQuick2Plugin) +#endif + + qmlRegisterSingletonType(uri, 1, 0, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); + qmlRegisterSingletonType(uri, 1, 1, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); + qmlRegisterSingletonType(uri, 1, 2, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); + qmlRegisterSingletonType(uri, 2, 0, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); + qmlRegisterSingletonType(uri, 2, 1, "VirtualKeyboardSettings", VirtualKeyboardSettings::registerSettingsModule); + qRegisterMetaType("WordCandidateListSettings*"); + qmlRegisterUncreatableType(uri, 2, 2, "WordCandidateListSettings", QLatin1String("Cannot create word candidate list settings")); +} + +QT_END_NAMESPACE diff --git a/src/settings/qtquickvirtualkeyboardsettingsplugin.h b/src/settings/qtquickvirtualkeyboardsettingsplugin.h new file mode 100644 index 00000000..22ebef32 --- /dev/null +++ b/src/settings/qtquickvirtualkeyboardsettingsplugin.h @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTQUICKVIRTUALKEYBOARDSETTINGSPLUGIN_H +#define QTQUICKVIRTUALKEYBOARDSETTINGSPLUGIN_H + +#include + +QT_BEGIN_NAMESPACE + +class QtQuickVirtualKeyboardSettingsPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) + +public: + QtQuickVirtualKeyboardSettingsPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { } + void registerTypes(const char *uri); +}; + +QT_END_NAMESPACE + +#endif // QTQUICKVIRTUALKEYBOARDSETTINGSPLUGIN_H + diff --git a/src/settings/settings.pro b/src/settings/settings.pro index f33503d8..ec5a5147 100644 --- a/src/settings/settings.pro +++ b/src/settings/settings.pro @@ -1,12 +1,23 @@ +TARGET = qtquickvirtualkeyboardsettingsplugin TARGETPATH = QtQuick/VirtualKeyboard/Settings -QML_FILES += plugins.qmltypes +IMPORT_VERSION = 2.2 +QT += qml quick virtualkeyboard-private -load(qml_module) +CONFIG += no_cxx_module -# qmltypes target -!cross_compile:if(build_pass|!debug_and_release) { - qtPrepareTool(QMLPLUGINDUMP, qmlplugindump) +SOURCES += \ + qtquickvirtualkeyboardsettingsplugin.cpp - qmltypes.commands = QT_IM_MODULE=qtvirtualkeyboard $$QMLPLUGINDUMP -defaultplatform -nonrelocatable QtQuick.VirtualKeyboard.Settings 2.1 > $$PWD/plugins.qmltypes - QMAKE_EXTRA_TARGETS += qmltypes +HEADERS += \ + qtquickvirtualkeyboardsettingsplugin.h + +OTHER_FILES += \ + plugins.qmltypes \ + qmldir + +win32 { + QMAKE_TARGET_PRODUCT = "Qt Virtual Keyboard (Qt $$QT_VERSION)" + QMAKE_TARGET_DESCRIPTION = "Virtual Keyboard for Qt." } + +load(qml_plugin) diff --git a/src/src.pro b/src/src.pro index db6d4ac3..fc840d28 100644 --- a/src/src.pro +++ b/src/src.pro @@ -10,5 +10,8 @@ SUBDIRS += \ plugin \ plugins +import.depends += virtualkeyboard +settings.depends += virtualkeyboard +styles.depends += virtualkeyboard plugin.depends += virtualkeyboard plugins.depends += virtualkeyboard diff --git a/src/styles/SelectionListItem.qml b/src/styles/SelectionListItem.qml index 1ed9a844..c480659f 100644 --- a/src/styles/SelectionListItem.qml +++ b/src/styles/SelectionListItem.qml @@ -27,7 +27,7 @@ ** ****************************************************************************/ -import QtQuick 2.11 +import QtQuick 2.0 /*! \qmltype SelectionListItem @@ -49,7 +49,6 @@ Item { Sets the sound effect to be played on touch event. */ property url soundEffect - MouseArea { id: mouseArea anchors.fill: parent diff --git a/src/styles/plugins.qmltypes b/src/styles/plugins.qmltypes index 3ef80efb..37266bb0 100644 --- a/src/styles/plugins.qmltypes +++ b/src/styles/plugins.qmltypes @@ -1,4 +1,1804 @@ -import QtQuick.tooling 1.1 +import QtQuick.tooling 1.2 + +// This file describes the plugin-supplied types contained in the library. +// It is used for QML tooling purposes only. +// +// This file was auto-generated by: +// 'qmlplugindump -nonrelocatable QtQuick.VirtualKeyboard.Styles 2.2' Module { + dependencies: [] + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyIcon 2.0" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyIcon 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "color"; type: "QColor" } + Property { name: "source"; type: "QUrl" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyIcon 1.0" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyIcon 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "color"; type: "QColor" } + Property { name: "source"; type: "QUrl" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyPanel 2.0" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyPanel 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "control"; type: "QQuickItem"; isPointer: true } + Property { name: "soundEffect"; type: "QUrl" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyPanel 1.0" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyPanel 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "control"; type: "QQuickItem"; isPointer: true } + Property { name: "soundEffect"; type: "QUrl" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.0" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.2" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.2"] + exportMetaObjectRevisions: [2] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.1" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 2.1"] + exportMetaObjectRevisions: [1] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.1" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.1"] + exportMetaObjectRevisions: [1] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.0" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.3" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.3"] + exportMetaObjectRevisions: [3] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.2" + exports: ["QtQuick.VirtualKeyboard.Styles/KeyboardStyle 1.2"] + exportMetaObjectRevisions: [2] + isComposite: true + Property { name: "keyboardHeight"; type: "double" } + Property { name: "keyboardDesignWidth"; type: "double" } + Property { name: "keyboardDesignHeight"; type: "double" } + Property { name: "scaleHint"; type: "double"; isReadonly: true } + Property { name: "keyboardRelativeLeftMargin"; type: "double" } + Property { name: "keyboardRelativeRightMargin"; type: "double" } + Property { name: "keyboardRelativeTopMargin"; type: "double" } + Property { name: "keyboardRelativeBottomMargin"; type: "double" } + Property { name: "keyboardBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "keyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "backspaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "enterKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "hideKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "shiftKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "spaceKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "symbolKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "modeKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "handwritingKeyPanel"; type: "QQmlComponent"; isPointer: true } + Property { name: "characterPreviewMargin"; type: "double" } + Property { name: "characterPreviewDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListItemWidth"; type: "double" } + Property { name: "alternateKeysListItemHeight"; type: "double" } + Property { name: "alternateKeysListTopMargin"; type: "double" } + Property { name: "alternateKeysListBottomMargin"; type: "double" } + Property { name: "alternateKeysListLeftMargin"; type: "double" } + Property { name: "alternateKeysListRightMargin"; type: "double" } + Property { name: "alternateKeysListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "alternateKeysListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHeight"; type: "double" } + Property { name: "selectionListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "selectionListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "navigationHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceInputKeyPanelDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "traceCanvasDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "popupListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "popupListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "languagePopupListEnabled"; type: "bool" } + Property { name: "languageListDelegate"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListHighlight"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "languageListAdd"; type: "QQuickTransition"; isPointer: true } + Property { name: "languageListRemove"; type: "QQuickTransition"; isPointer: true } + Property { name: "selectionHandle"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputContainerBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputBackground"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputMargins"; type: "double" } + Property { name: "fullScreenInputPadding"; type: "double" } + Property { name: "fullScreenInputCursor"; type: "QQmlComponent"; isPointer: true } + Property { name: "fullScreenInputFont"; type: "QFont" } + Property { name: "fullScreenInputPasswordCharacter"; type: "string" } + Property { name: "fullScreenInputColor"; type: "QColor" } + Property { name: "fullScreenInputSelectionColor"; type: "QColor" } + Property { name: "fullScreenInputSelectedTextColor"; type: "QColor" } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/SelectionListItem 1.0" + exports: ["QtQuick.VirtualKeyboard.Styles/SelectionListItem 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "soundEffect"; type: "QUrl" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/SelectionListItem 2.0" + exports: ["QtQuick.VirtualKeyboard.Styles/SelectionListItem 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "soundEffect"; type: "QUrl" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/TraceCanvas 2.0" + exports: ["QtQuick.VirtualKeyboard.Styles/TraceCanvas 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "trace"; type: "QVariant" } + Property { name: "autoDestroy"; type: "bool" } + Property { name: "autoDestroyDelay"; type: "int" } + Property { name: "renderFunction"; type: "QVariant" } + Property { name: "__renderPos"; type: "int" } + Property { name: "__renderingEnabled"; type: "bool" } + Method { name: "renderSmoothedLine"; type: "QVariant" } + Property { name: "available"; type: "bool"; isReadonly: true } + Property { name: "contextType"; type: "string" } + Property { name: "context"; type: "QQmlV4Handle"; isReadonly: true } + Property { name: "canvasSize"; type: "QSizeF" } + Property { name: "tileSize"; type: "QSize" } + Property { name: "canvasWindow"; type: "QRectF" } + Property { name: "renderTarget"; type: "RenderTarget" } + Property { name: "renderStrategy"; type: "RenderStrategy" } + Signal { + name: "paint" + Parameter { name: "region"; type: "QRect" } + } + Signal { name: "painted" } + Signal { name: "imageLoaded" } + Method { + name: "loadImage" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "unloadImage" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageLoaded" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageLoading" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "isImageError" + type: "bool" + Parameter { name: "url"; type: "QUrl" } + } + Method { + name: "getContext" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "requestAnimationFrame" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "cancelRequestAnimationFrame" + Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true } + } + Method { name: "requestPaint" } + Method { + name: "markDirty" + Parameter { name: "dirtyRect"; type: "QRectF" } + } + Method { name: "markDirty" } + Method { + name: "save" + type: "bool" + Parameter { name: "filename"; type: "string" } + } + Method { + name: "toDataURL" + type: "string" + Parameter { name: "type"; type: "string" } + } + Method { name: "toDataURL"; type: "string" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } + Component { + prototype: "QObject" + name: "QtQuick.VirtualKeyboard.Styles/TraceInputKeyPanel 2.0" + exports: ["QtQuick.VirtualKeyboard.Styles/TraceInputKeyPanel 2.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "data" + Property { name: "control"; type: "QQuickItem"; isPointer: true } + Property { name: "traceMargins"; type: "double" } + Property { name: "parent"; type: "QQuickItem"; isPointer: true } + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "x"; type: "double" } + Property { name: "y"; type: "double" } + Property { name: "z"; type: "double" } + Property { name: "width"; type: "double" } + Property { name: "height"; type: "double" } + Property { name: "opacity"; type: "double" } + Property { name: "enabled"; type: "bool" } + Property { name: "visible"; type: "bool" } + Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true } + Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true } + Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true } + Property { name: "state"; type: "string" } + Property { name: "childrenRect"; type: "QRectF"; isReadonly: true } + Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true } + Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true } + Property { name: "baselineOffset"; type: "double" } + Property { name: "clip"; type: "bool" } + Property { name: "focus"; type: "bool" } + Property { name: "activeFocus"; type: "bool"; isReadonly: true } + Property { name: "activeFocusOnTab"; revision: 1; type: "bool" } + Property { name: "rotation"; type: "double" } + Property { name: "scale"; type: "double" } + Property { name: "transformOrigin"; type: "TransformOrigin" } + Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true } + Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true } + Property { name: "smooth"; type: "bool" } + Property { name: "antialiasing"; type: "bool" } + Property { name: "implicitWidth"; type: "double" } + Property { name: "implicitHeight"; type: "double" } + Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true } + Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true } + Signal { + name: "childrenRectChanged" + Parameter { type: "QRectF" } + } + Signal { + name: "baselineOffsetChanged" + Parameter { type: "double" } + } + Signal { + name: "stateChanged" + Parameter { type: "string" } + } + Signal { + name: "focusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusChanged" + Parameter { type: "bool" } + } + Signal { + name: "activeFocusOnTabChanged" + revision: 1 + Parameter { type: "bool" } + } + Signal { + name: "parentChanged" + Parameter { type: "QQuickItem"; isPointer: true } + } + Signal { + name: "transformOriginChanged" + Parameter { type: "TransformOrigin" } + } + Signal { + name: "smoothChanged" + Parameter { type: "bool" } + } + Signal { + name: "antialiasingChanged" + Parameter { type: "bool" } + } + Signal { + name: "clipChanged" + Parameter { type: "bool" } + } + Signal { + name: "windowChanged" + revision: 1 + Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } + } + Method { name: "update" } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + Parameter { name: "targetSize"; type: "QSize" } + } + Method { + name: "grabToImage" + revision: 2 + type: "bool" + Parameter { name: "callback"; type: "QJSValue" } + } + Method { + name: "contains" + type: "bool" + Parameter { name: "point"; type: "QPointF" } + } + Method { + name: "mapFromItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToItem" + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapFromGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { + name: "mapToGlobal" + revision: 7 + Parameter { type: "QQmlV4Function"; isPointer: true } + } + Method { name: "forceActiveFocus" } + Method { + name: "forceActiveFocus" + Parameter { name: "reason"; type: "Qt::FocusReason" } + } + Method { + name: "nextItemInFocusChain" + revision: 1 + type: "QQuickItem*" + Parameter { name: "forward"; type: "bool" } + } + Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" } + Method { + name: "childAt" + type: "QQuickItem*" + Parameter { name: "x"; type: "double" } + Parameter { name: "y"; type: "double" } + } + } } diff --git a/src/styles/qmldir b/src/styles/qmldir index 26544a54..6f4705fc 100644 --- a/src/styles/qmldir +++ b/src/styles/qmldir @@ -1,4 +1,5 @@ module QtQuick.VirtualKeyboard.Styles -plugin qtvirtualkeyboardstylesplugin -classname QtVirtualKeyboardStylesPlugin +plugin qtquickvirtualkeyboardstylesplugin +classname QtQuickVirtualKeyboardStylesPlugin typeinfo plugins.qmltypes +depends QtQuick 2.0 diff --git a/src/styles/qtquickvirtualkeyboardstylesplugin.cpp b/src/styles/qtquickvirtualkeyboardstylesplugin.cpp new file mode 100644 index 00000000..f090974e --- /dev/null +++ b/src/styles/qtquickvirtualkeyboardstylesplugin.cpp @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qtquickvirtualkeyboardstylesplugin.h" +#include "svgimageprovider.h" + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +/*! + \qmlmodule QtQuick.VirtualKeyboard.Styles 2.2 + \title Qt Quick Virtual Keyboard Styles QML Types + \ingroup qmlmodules + + \brief Provides styling for Qt Virtual Keyboard. + + The QML types can be imported into your application using the following + import statements in your .qml file: + + \code + import QtQuick.VirtualKeyboard.Styles 2.2 + \endcode +*/ + +void QtQuickVirtualKeyboardStylesPlugin::registerTypes(const char *uri) +{ +#if defined(QT_STATICPLUGIN) + Q_VKB_IMPORT_PLUGIN(QtQuick2Plugin) +#endif + + const QString path(QStringLiteral("qrc:///QtQuick/VirtualKeyboard/Styles/content/")); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 0, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 1, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 2, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 3, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 2, 0, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 2, 1, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 2, 2, "KeyboardStyle"); + qmlRegisterType(QUrl(path + QLatin1String("KeyIcon.qml")), uri, 1, 0, "KeyIcon"); + qmlRegisterType(QUrl(path + QLatin1String("KeyIcon.qml")), uri, 2, 0, "KeyIcon"); + qmlRegisterType(QUrl(path + QLatin1String("KeyPanel.qml")), uri, 1, 0, "KeyPanel"); + qmlRegisterType(QUrl(path + QLatin1String("KeyPanel.qml")), uri, 2, 0, "KeyPanel"); + qmlRegisterType(QUrl(path + QLatin1String("SelectionListItem.qml")), uri, 1, 0, "SelectionListItem"); + qmlRegisterType(QUrl(path + QLatin1String("SelectionListItem.qml")), uri, 2, 0, "SelectionListItem"); + qmlRegisterType(QUrl(path + QLatin1String("TraceInputKeyPanel.qml")), uri, 2, 0, "TraceInputKeyPanel"); + qmlRegisterType(QUrl(path + QLatin1String("TraceCanvas.qml")), uri, 2, 0, "TraceCanvas"); +} + +void QtQuickVirtualKeyboardStylesPlugin::initializeEngine(QQmlEngine *engine, const char *uri) +{ + Q_UNUSED(uri) + engine->addImageProvider(QStringLiteral("qtvkbsvg"), new SvgImageProvider()); +} + +QT_END_NAMESPACE diff --git a/src/styles/qtquickvirtualkeyboardstylesplugin.h b/src/styles/qtquickvirtualkeyboardstylesplugin.h new file mode 100644 index 00000000..e9c89ddf --- /dev/null +++ b/src/styles/qtquickvirtualkeyboardstylesplugin.h @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTQUICKVIRTUALKEYBOARDSTYLESPLUGIN_H +#define QTQUICKVIRTUALKEYBOARDSTYLESPLUGIN_H + +#include + +QT_BEGIN_NAMESPACE + +class QtQuickVirtualKeyboardStylesPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) + +public: + QtQuickVirtualKeyboardStylesPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { } + void registerTypes(const char *uri); + void initializeEngine(QQmlEngine *engine, const char *uri); +}; + +QT_END_NAMESPACE + +#endif // STYLES_PLUGIN_H + diff --git a/src/styles/styles.pro b/src/styles/styles.pro index f5ce051f..85c99f05 100644 --- a/src/styles/styles.pro +++ b/src/styles/styles.pro @@ -1,20 +1,25 @@ -TARGET = qtvirtualkeyboardstylesplugin +TARGET = qtquickvirtualkeyboardstylesplugin TARGETPATH = QtQuick/VirtualKeyboard/Styles -QT += qml quick svg +IMPORT_VERSION = 2.2 +QT += qml quick svg virtualkeyboard-private CONFIG += no_cxx_module SOURCES += \ svgimageprovider.cpp \ - styles_plugin.cpp + qtquickvirtualkeyboardstylesplugin.cpp HEADERS += \ svgimageprovider.h \ - styles_plugin.h + qtquickvirtualkeyboardstylesplugin.h RESOURCES += \ styles.qrc +OTHER_FILES += \ + plugins.qmltypes \ + qmldir + win32 { QMAKE_TARGET_PRODUCT = "Qt Virtual Keyboard (Qt $$QT_VERSION)" QMAKE_TARGET_DESCRIPTION = "Virtual Keyboard for Qt." diff --git a/src/styles/styles_plugin.cpp b/src/styles/styles_plugin.cpp deleted file mode 100644 index f65ae42d..00000000 --- a/src/styles/styles_plugin.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "styles_plugin.h" -#include "svgimageprovider.h" - -#include -#include - -/*! - \qmlmodule QtQuick.VirtualKeyboard.Styles 2.2 - \title Qt Quick Virtual Keyboard Styles QML Types - \ingroup qmlmodules - - \brief Provides styling for Qt Virtual Keyboard. - - The QML types can be imported into your application using the following - import statements in your .qml file: - - \code - import QtQuick.VirtualKeyboard.Styles 2.2 - \endcode -*/ - -void QtVirtualKeyboardStylesPlugin::registerTypes(const char *uri) -{ - const QString path(QStringLiteral("qrc:///QtQuick/VirtualKeyboard/Styles/content/")); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 0, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 1, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 2, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 1, 3, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 2, 0, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 2, 1, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyboardStyle.qml")), uri, 2, 2, "KeyboardStyle"); - qmlRegisterType(QUrl(path + QLatin1String("KeyIcon.qml")), uri, 1, 0, "KeyIcon"); - qmlRegisterType(QUrl(path + QLatin1String("KeyIcon.qml")), uri, 2, 0, "KeyIcon"); - qmlRegisterType(QUrl(path + QLatin1String("KeyPanel.qml")), uri, 1, 0, "KeyPanel"); - qmlRegisterType(QUrl(path + QLatin1String("KeyPanel.qml")), uri, 2, 0, "KeyPanel"); - qmlRegisterType(QUrl(path + QLatin1String("SelectionListItem.qml")), uri, 1, 0, "SelectionListItem"); - qmlRegisterType(QUrl(path + QLatin1String("SelectionListItem.qml")), uri, 2, 0, "SelectionListItem"); - qmlRegisterType(QUrl(path + QLatin1String("TraceInputKeyPanel.qml")), uri, 2, 0, "TraceInputKeyPanel"); - qmlRegisterType(QUrl(path + QLatin1String("TraceCanvas.qml")), uri, 2, 0, "TraceCanvas"); -} - -void QtVirtualKeyboardStylesPlugin::initializeEngine(QQmlEngine *engine, const char *uri) -{ - Q_UNUSED(uri) - engine->addImageProvider(QStringLiteral("qtvkbsvg"), new SvgImageProvider()); -} diff --git a/src/styles/styles_plugin.h b/src/styles/styles_plugin.h deleted file mode 100644 index c9147c59..00000000 --- a/src/styles/styles_plugin.h +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef STYLES_PLUGIN_H -#define STYLES_PLUGIN_H - -#include - -class QtVirtualKeyboardStylesPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) - -public: - QtVirtualKeyboardStylesPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { } - void registerTypes(const char *uri); - void initializeEngine(QQmlEngine *engine, const char *uri); -}; - -#endif // STYLES_PLUGIN_H - diff --git a/src/virtualkeyboard/content/components/Keyboard.qml b/src/virtualkeyboard/content/components/Keyboard.qml index 6003bb03..84717450 100644 --- a/src/virtualkeyboard/content/components/Keyboard.qml +++ b/src/virtualkeyboard/content/components/Keyboard.qml @@ -33,6 +33,7 @@ import QtQuick.Window 2.2 import QtQuick.VirtualKeyboard 2.3 import QtQuick.VirtualKeyboard.Styles 2.1 import QtQuick.VirtualKeyboard.Settings 2.2 +import QtQuick.VirtualKeyboard.Plugins 2.3 import Qt.labs.folderlistmodel 2.0 Item { @@ -82,7 +83,7 @@ Item { function initDefaultInputMethod() { try { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; DefaultInputMethod {}', keyboard, "defaultInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; DefaultInputMethod {}', keyboard, "defaultInputMethod") } catch (e) { } return plainInputMethod } @@ -1583,7 +1584,7 @@ Item { } function isHandwritingAvailable() { - return VirtualKeyboardInputMethods.indexOf("HandwritingInputMethod") !== -1 && layoutExists(locale, "handwriting") + return InputContext.priv.inputMethods.indexOf("HandwritingInputMethod") !== -1 && layoutExists(locale, "handwriting") } function setHandwritingMode(enabled, resetInputMode) { diff --git a/src/virtualkeyboard/content/layouts/ar_AR/digits.qml b/src/virtualkeyboard/content/layouts/ar_AR/digits.qml index 4e8fd690..6d7047f4 100644 --- a/src/virtualkeyboard/content/layouts/ar_AR/digits.qml +++ b/src/virtualkeyboard/content/layouts/ar_AR/digits.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml b/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml index f614b76f..f82e4b6c 100644 --- a/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/ar_AR/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Arabic diff --git a/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml b/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml index b3f5fc72..fe709489 100644 --- a/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml +++ b/src/virtualkeyboard/content/layouts/ar_AR/numbers.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml b/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml index 60e8fe4c..16f078cb 100644 --- a/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/bg_BG/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml b/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml index 6ec47501..caf820ae 100644 --- a/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/cs_CZ/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Latin diff --git a/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml b/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml index 742e2874..b010ecf4 100644 --- a/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/el_GR/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml b/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml index aa0e7399..d4896408 100644 --- a/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/es_ES/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Latin diff --git a/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml b/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml index aa0e7399..d4896408 100644 --- a/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/es_MX/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Latin diff --git a/src/virtualkeyboard/content/layouts/fa_FA/digits.qml b/src/virtualkeyboard/content/layouts/fa_FA/digits.qml index 73fc6035..ed92201f 100644 --- a/src/virtualkeyboard/content/layouts/fa_FA/digits.qml +++ b/src/virtualkeyboard/content/layouts/fa_FA/digits.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml b/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml index bf89784c..1a43b05e 100644 --- a/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/fa_FA/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Arabic diff --git a/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml b/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml index 6292d92f..e32a1e71 100644 --- a/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml +++ b/src/virtualkeyboard/content/layouts/fa_FA/numbers.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/fallback/dialpad.qml b/src/virtualkeyboard/content/layouts/fallback/dialpad.qml index 37e8c6a8..89f6873a 100644 --- a/src/virtualkeyboard/content/layouts/fallback/dialpad.qml +++ b/src/virtualkeyboard/content/layouts/fallback/dialpad.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/fallback/digits.qml b/src/virtualkeyboard/content/layouts/fallback/digits.qml index 4cbae92d..432984a1 100644 --- a/src/virtualkeyboard/content/layouts/fallback/digits.qml +++ b/src/virtualkeyboard/content/layouts/fallback/digits.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/fallback/handwriting.qml b/src/virtualkeyboard/content/layouts/fallback/handwriting.qml index 126cde2d..1da3fc8e 100644 --- a/src/virtualkeyboard/content/layouts/fallback/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/fallback/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/fallback/numbers.qml b/src/virtualkeyboard/content/layouts/fallback/numbers.qml index 461af67a..7fd0a2ab 100644 --- a/src/virtualkeyboard/content/layouts/fallback/numbers.qml +++ b/src/virtualkeyboard/content/layouts/fallback/numbers.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.1 +import QtQuick.VirtualKeyboard.Plugins 2.3 KeyboardLayout { inputMethod: PlainInputMethod {} diff --git a/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml b/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml index e369de68..66914c71 100644 --- a/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/he_IL/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml b/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml index 2eb4cc21..1ae1fa4f 100644 --- a/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/hi_IN/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml b/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml index d601568c..968bae8e 100644 --- a/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/hr_HR/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Latin diff --git a/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml b/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml index 6ec47501..caf820ae 100644 --- a/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/hu_HU/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Latin diff --git a/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml b/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml index 98bdb667..08a74384 100644 --- a/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/ja_JP/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] KeyboardRow { diff --git a/src/virtualkeyboard/content/layouts/ja_JP/main.qml b/src/virtualkeyboard/content/layouts/ja_JP/main.qml index dca39066..d3fb6ae1 100644 --- a/src/virtualkeyboard/content/layouts/ja_JP/main.qml +++ b/src/virtualkeyboard/content/layouts/ja_JP/main.qml @@ -32,7 +32,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; JapaneseInputMethod {}', parent, "japaneseInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; JapaneseInputMethod {}', parent, "japaneseInputMethod") } sharedLayouts: ['symbols'] sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.FullwidthLatin ? page2 : page1 diff --git a/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml b/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml index bec30ada..66a4985b 100644 --- a/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml +++ b/src/virtualkeyboard/content/layouts/ja_JP/symbols.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; JapaneseInputMethod {}', parent, "japaneseInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; JapaneseInputMethod {}', parent, "japaneseInputMethod") } sharedLayouts: ['main'] property int page diff --git a/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml b/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml index b3027e2c..563239a4 100644 --- a/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/ko_KR/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: preferredInputMode() diff --git a/src/virtualkeyboard/content/layouts/ko_KR/main.qml b/src/virtualkeyboard/content/layouts/ko_KR/main.qml index 525a0392..cb7b567f 100644 --- a/src/virtualkeyboard/content/layouts/ko_KR/main.qml +++ b/src/virtualkeyboard/content/layouts/ko_KR/main.qml @@ -32,7 +32,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; HangulInputMethod {}', parent, "hangulInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; HangulInputMethod {}', parent, "hangulInputMethod") } sourceComponent: InputContext.shift ? page2 : page1 sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml b/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml index 201810ec..352a69e1 100644 --- a/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml +++ b/src/virtualkeyboard/content/layouts/ko_KR/symbols.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; HangulInputMethod {}', parent, "hangulInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; HangulInputMethod {}', parent, "hangulInputMethod") } sharedLayouts: ['main'] property bool secondPage diff --git a/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml b/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml index c28ac34d..1d5dedb9 100644 --- a/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/ro_RO/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: InputEngine.InputMode.Latin diff --git a/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml b/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml index f5f2d44c..6f9cbb98 100644 --- a/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/sr_SP/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] diff --git a/src/virtualkeyboard/content/layouts/th_TH/main.qml b/src/virtualkeyboard/content/layouts/th_TH/main.qml index a44de2a4..f3448c4f 100644 --- a/src/virtualkeyboard/content/layouts/th_TH/main.qml +++ b/src/virtualkeyboard/content/layouts/th_TH/main.qml @@ -34,7 +34,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayoutLoader { inputMode: InputEngine.InputMode.Latin function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; ThaiInputMethod {}', parent, "thaiInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; ThaiInputMethod {}', parent, "thaiInputMethod") } sharedLayouts: [ "symbols" ] sourceComponent: InputContext.shift ? page2 : page1 diff --git a/src/virtualkeyboard/content/layouts/uk_UA/main.qml b/src/virtualkeyboard/content/layouts/uk_UA/main.qml index dfe36b2e..c2731452 100644 --- a/src/virtualkeyboard/content/layouts/uk_UA/main.qml +++ b/src/virtualkeyboard/content/layouts/uk_UA/main.qml @@ -27,7 +27,7 @@ ** ****************************************************************************/ -import QtQuick 2.10 +import QtQuick 2.0 import QtQuick.VirtualKeyboard 2.3 KeyboardLayoutLoader { diff --git a/src/virtualkeyboard/content/layouts/vi_VN/main.qml b/src/virtualkeyboard/content/layouts/vi_VN/main.qml index fabc6c46..9a5c7e37 100644 --- a/src/virtualkeyboard/content/layouts/vi_VN/main.qml +++ b/src/virtualkeyboard/content/layouts/vi_VN/main.qml @@ -27,7 +27,7 @@ ** ****************************************************************************/ -import QtQuick 2.10 +import QtQuick 2.0 import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { diff --git a/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml b/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml index 8684f9ad..da5281b3 100644 --- a/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml +++ b/src/virtualkeyboard/content/layouts/vi_VN/symbols.qml @@ -27,8 +27,8 @@ ** ****************************************************************************/ -import QtQuick 2.10 -import QtQuick.Layouts 1.3 +import QtQuick 2.0 +import QtQuick.Layouts 1.0 import QtQuick.VirtualKeyboard 2.3 KeyboardLayoutLoader { diff --git a/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml b/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml index 61ed186a..fee04320 100644 --- a/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/zh_CN/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: preferredInputMode() diff --git a/src/virtualkeyboard/content/layouts/zh_CN/main.qml b/src/virtualkeyboard/content/layouts/zh_CN/main.qml index 44b0ceb7..349a14c8 100644 --- a/src/virtualkeyboard/content/layouts/zh_CN/main.qml +++ b/src/virtualkeyboard/content/layouts/zh_CN/main.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod") } sharedLayouts: ['symbols'] keyWeight: 160 diff --git a/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml b/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml index 0133387b..4ad06baf 100644 --- a/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml +++ b/src/virtualkeyboard/content/layouts/zh_CN/symbols.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; PinyinInputMethod {}', parent, "pinyinInputMethod") } sharedLayouts: ['main'] property int page diff --git a/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml b/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml index 61ed186a..fee04320 100644 --- a/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml +++ b/src/virtualkeyboard/content/layouts/zh_TW/handwriting.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayout { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; HandwritingInputMethod {}', parent) + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; HandwritingInputMethod {}', parent) } sharedLayouts: ['symbols'] inputMode: preferredInputMode() diff --git a/src/virtualkeyboard/content/layouts/zh_TW/main.qml b/src/virtualkeyboard/content/layouts/zh_TW/main.qml index 32a8c393..bd9c1451 100644 --- a/src/virtualkeyboard/content/layouts/zh_TW/main.qml +++ b/src/virtualkeyboard/content/layouts/zh_TW/main.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.3 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.3; TCInputMethod {}', parent, "tcInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.3; TCInputMethod {}', parent, "tcInputMethod") } sharedLayouts: ['symbols'] sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cangjie ? pageCangjie : pageZhuyin diff --git a/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml b/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml index 60d63e3a..3d43ae69 100644 --- a/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml +++ b/src/virtualkeyboard/content/layouts/zh_TW/symbols.qml @@ -33,7 +33,7 @@ import QtQuick.VirtualKeyboard 2.1 KeyboardLayoutLoader { function createInputMethod() { - return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard 2.1; TCInputMethod {}', parent, "tcInputMethod") + return Qt.createQmlObject('import QtQuick 2.0; import QtQuick.VirtualKeyboard.Plugins 2.1; TCInputMethod {}', parent, "tcInputMethod") } sharedLayouts: ['main'] property int page diff --git a/src/virtualkeyboard/doc/src/build.qdoc b/src/virtualkeyboard/doc/src/build.qdoc index 7280d87c..bca5ab39 100644 --- a/src/virtualkeyboard/doc/src/build.qdoc +++ b/src/virtualkeyboard/doc/src/build.qdoc @@ -41,16 +41,24 @@ The project is split into the following subprojects: \row \li \e examples/virtualkeyboard/basic/basic.pro \li Qt Virtual Keyboard Demo application +\row + \li \e src/virtualkeyboard/import/ + \li Qt Virtual Keyboard QML plugin (QtQuick.VirtualKeyboard) \row \li \e src/virtualkeyboard/plugin/ - \li Qt Virtual Keyboard platform input context plugin + \li Qt Virtual Keyboard platform input context plugin. This plugin + provides the QPlatformInputContext interface for the Qt and is + also responsible for loading the Virtual Keyboard Plugins + (QtQuick.VirtualKeyboard.Plugins). \row \li \e src/virtualkeyboard/plugins/ \li A directory containing Qt Virtual Keyboard plugins, such as the Hunspell plugin +\row + \li \e src/virtualkeyboard/settings/ + \li Qt Virtual Keyboard Settings QML plugin (QtQuick.VirtualKeyboard.Settings) \row \li \e src/virtualkeyboard/styles/styles.pro - \li Qt Virtual Keyboard Style plugin that enables style decorations for the - keyboard + \li Qt Virtual Keyboard Styles QML plugin (QtQuick.VirtualKeyboard.Styles) \row \li \e src/virtualkeyboard/virtualkeyboard.pro \li Qt Virtual Keyboard module, QML components and layouts diff --git a/src/virtualkeyboard/platforminputcontext.cpp b/src/virtualkeyboard/platforminputcontext.cpp index d876fbea..24b70f35 100644 --- a/src/virtualkeyboard/platforminputcontext.cpp +++ b/src/virtualkeyboard/platforminputcontext.cpp @@ -213,6 +213,16 @@ bool PlatformInputContext::eventFilter(QObject *object, QEvent *event) return false; } +void PlatformInputContext::setInputMethods(const QStringList &inputMethods) +{ + m_inputMethods = inputMethods; +} + +QStringList PlatformInputContext::inputMethods() const +{ + return m_inputMethods; +} + void PlatformInputContext::sendEvent(QEvent *event) { if (m_focusObject) { diff --git a/src/virtualkeyboard/platforminputcontext_p.h b/src/virtualkeyboard/platforminputcontext_p.h index 70f3a781..50ccf561 100644 --- a/src/virtualkeyboard/platforminputcontext_p.h +++ b/src/virtualkeyboard/platforminputcontext_p.h @@ -90,6 +90,9 @@ public: virtual bool eventFilter(QObject *object, QEvent *event); + void setInputMethods(const QStringList &inputMethods); + QStringList inputMethods() const; + signals: void focusObjectChanged(); @@ -107,6 +110,7 @@ private: friend class ::QVirtualKeyboardInputContext; friend class ::QVirtualKeyboardInputContextPrivate; QPointer m_inputContext; + QStringList m_inputMethods; QPointer m_inputPanel; QPointer m_selectionControl; QPointer m_focusObject; diff --git a/src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h b/src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h new file mode 100644 index 00000000..00ac394c --- /dev/null +++ b/src/virtualkeyboard/qvirtualkeyboard_staticplugin_p.h @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QVIRTUALKEYBOARD_STATICPLUGIN_P_H +#define QVIRTUALKEYBOARD_STATICPLUGIN_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#if defined(QT_STATICPLUGIN) +#include +#include + +QT_BEGIN_NAMESPACE + +// This macro is similar to Q_IMPORT_PLUGIN, except it does not +// register duplicate entries as static plugins. +// The check is required since the application may already have +// initialized the plugin by its own dependencies. +#define Q_VKB_IMPORT_PLUGIN(PLUGIN) \ + extern const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGIN(); \ + class Static##PLUGIN##PluginInstance{ \ + public: \ + Static##PLUGIN##PluginInstance() { \ + if (!QPluginLoader::staticInstances().contains(qt_static_plugin_##PLUGIN().instance())) \ + qRegisterStaticPluginFunction(qt_static_plugin_##PLUGIN()); \ + } \ + }; \ + static Static##PLUGIN##PluginInstance static##PLUGIN##Instance; + +QT_END_NAMESPACE + +#endif + +#endif // QVIRTUALKEYBOARD_STATICPLUGIN_P_H diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp index 6b1b7819..9e684c3b 100644 --- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp +++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp @@ -67,8 +67,9 @@ using namespace QtVirtualKeyboard; Constructs an input context with \a parent as the platform input context. */ -QVirtualKeyboardInputContext::QVirtualKeyboardInputContext(QtVirtualKeyboard::PlatformInputContext *parent) : - d_ptr(new QVirtualKeyboardInputContextPrivate(this, parent)) +QVirtualKeyboardInputContext::QVirtualKeyboardInputContext(QObject *parent) : + QObject(parent), + d_ptr(new QVirtualKeyboardInputContextPrivate(this)) { Q_D(QVirtualKeyboardInputContext); d->init(); diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.h b/src/virtualkeyboard/qvirtualkeyboardinputcontext.h index b5547c69..ac061c2b 100644 --- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.h +++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.h @@ -70,7 +70,7 @@ class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContext : public QObject Q_PROPERTY(QVirtualKeyboardInputContextPrivate *priv READ priv CONSTANT) public: - explicit QVirtualKeyboardInputContext(QtVirtualKeyboard::PlatformInputContext *parent = nullptr); + explicit QVirtualKeyboardInputContext(QObject *parent = nullptr); ~QVirtualKeyboardInputContext(); bool shift() const; diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp index 529545c1..d2308b04 100644 --- a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp +++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp @@ -36,6 +36,8 @@ #include #include +#include +#include QT_BEGIN_NAMESPACE @@ -49,10 +51,10 @@ bool operator==(const QInputMethodEvent::Attribute &attribute1, const QInputMeth using namespace QtVirtualKeyboard; -QVirtualKeyboardInputContextPrivate::QVirtualKeyboardInputContextPrivate(QVirtualKeyboardInputContext *q_ptr, PlatformInputContext *platformInputContext) : +QVirtualKeyboardInputContextPrivate::QVirtualKeyboardInputContextPrivate(QVirtualKeyboardInputContext *q_ptr) : QObject(nullptr), q_ptr(q_ptr), - platformInputContext(platformInputContext), + platformInputContext(nullptr), inputEngine(nullptr), _shiftHandler(nullptr), keyboardRect(), @@ -83,7 +85,10 @@ QVirtualKeyboardInputContextPrivate::QVirtualKeyboardInputContextPrivate(QVirtua void QVirtualKeyboardInputContextPrivate::init() { Q_Q(QVirtualKeyboardInputContext); - Q_ASSERT(inputEngine == nullptr); + QGuiApplicationPrivate *guiApplicationPrivate = QGuiApplicationPrivate::instance(); + QPlatformIntegration *platformIntegration = guiApplicationPrivate->platformIntegration(); + QPlatformInputContext *unknownPlatformInputContext = platformIntegration->inputContext(); + platformInputContext = qobject_cast(unknownPlatformInputContext); inputEngine = new QVirtualKeyboardInputEngine(q); _shiftHandler = new ShiftHandler(q); inputEngine->init(); @@ -156,7 +161,7 @@ void QVirtualKeyboardInputContextPrivate::setPreviewVisible(bool visible) QString QVirtualKeyboardInputContextPrivate::locale() const { - return platformInputContext->locale().name(); + return platformInputContext ? platformInputContext->locale().name() : QString(); } void QVirtualKeyboardInputContextPrivate::setLocale(const QString &locale) @@ -185,6 +190,11 @@ ShadowInputContext *QVirtualKeyboardInputContextPrivate::shadow() const return const_cast(&_shadow); } +QStringList QVirtualKeyboardInputContextPrivate::inputMethods() const +{ + return platformInputContext ? platformInputContext->inputMethods() : QStringList(); +} + bool QVirtualKeyboardInputContextPrivate::fileExists(const QUrl &fileUrl) { QString fileName; diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h index c836e6c5..05349d38 100644 --- a/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h +++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h @@ -68,8 +68,9 @@ class QVIRTUALKEYBOARD_EXPORT QVirtualKeyboardInputContextPrivate : public QObje Q_PROPERTY(QObject *inputItem READ inputItem NOTIFY inputItemChanged) Q_PROPERTY(QtVirtualKeyboard::ShiftHandler *shiftHandler READ shiftHandler CONSTANT) Q_PROPERTY(QtVirtualKeyboard::ShadowInputContext *shadow READ shadow CONSTANT) + Q_PROPERTY(QStringList inputMethods READ inputMethods CONSTANT) - explicit QVirtualKeyboardInputContextPrivate(QVirtualKeyboardInputContext *q_ptr, QtVirtualKeyboard::PlatformInputContext *platformInputContext); + explicit QVirtualKeyboardInputContextPrivate(QVirtualKeyboardInputContext *q_ptr); void init(); public: @@ -98,6 +99,7 @@ public: QObject *inputItem() const; QtVirtualKeyboard::ShiftHandler *shiftHandler() const; QtVirtualKeyboard::ShadowInputContext *shadow() const; + QStringList inputMethods() const; // Helper functions Q_INVOKABLE bool fileExists(const QUrl &fileUrl); diff --git a/src/virtualkeyboard/virtualkeyboard.pro b/src/virtualkeyboard/virtualkeyboard.pro index 591e7ae2..ea9e6d95 100644 --- a/src/virtualkeyboard/virtualkeyboard.pro +++ b/src/virtualkeyboard/virtualkeyboard.pro @@ -63,7 +63,8 @@ HEADERS += \ gesturerecognizer_p.h \ handwritinggesturerecognizer_p.h \ qvirtualkeyboard_global.h \ - qvirtualkeyboardextensionplugin.h + qvirtualkeyboardextensionplugin.h \ + qvirtualkeyboard_staticplugin_p.h !no-builtin-style: RESOURCES += \ content/styles/default/default_style.qrc \ -- cgit v1.2.3