Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-virtualkeyboard for openSUSE:Factory checked in at 2023-10-02 20:05:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-virtualkeyboard (Old) and /work/SRC/openSUSE:Factory/.qt6-virtualkeyboard.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-virtualkeyboard" Mon Oct 2 20:05:52 2023 rev:21 rq:1114518 version:6.5.3 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-virtualkeyboard/qt6-virtualkeyboard.changes 2023-07-26 13:23:39.059893595 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-virtualkeyboard.new.28202/qt6-virtualkeyboard.changes 2023-10-02 20:08:00.050115377 +0200 @@ -1,0 +2,6 @@ +Thu Sep 28 07:34:23 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 6.5.3 + * https://www.qt.io/blog/qt-6.5.3-released + +------------------------------------------------------------------- Old: ---- qtvirtualkeyboard-everywhere-src-6.5.2.tar.xz New: ---- qtvirtualkeyboard-everywhere-src-6.5.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-virtualkeyboard.spec ++++++ --- /var/tmp/diff_new_pack.8F6i6K/_old 2023-10-02 20:08:01.222157527 +0200 +++ /var/tmp/diff_new_pack.8F6i6K/_new 2023-10-02 20:08:01.222157527 +0200 @@ -16,7 +16,7 @@ # -%define real_version 6.5.2 +%define real_version 6.5.3 %define short_version 6.5 %define tar_name qtvirtualkeyboard-everywhere-src %define tar_suffix %{nil} @@ -27,12 +27,12 @@ %endif # Name: qt6-virtualkeyboard%{?pkg_suffix} -Version: 6.5.2 +Version: 6.5.3 Release: 0 Summary: Framework for writing or integrating input methods and engines for Qt 6 License: GPL-3.0-only URL: https://www.qt.io -Source: https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz +Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz Source99: qt6-virtualkeyboard-rpmlintrc BuildRequires: pkgconfig BuildRequires: qt6-core-private-devel ++++++ qtvirtualkeyboard-everywhere-src-6.5.2.tar.xz -> qtvirtualkeyboard-everywhere-src-6.5.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/.cmake.conf new/qtvirtualkeyboard-everywhere-src-6.5.3/.cmake.conf --- old/qtvirtualkeyboard-everywhere-src-6.5.2/.cmake.conf 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/.cmake.conf 2023-09-24 13:38:43.000000000 +0200 @@ -1,3 +1,3 @@ -set(QT_REPO_MODULE_VERSION "6.5.2") +set(QT_REPO_MODULE_VERSION "6.5.3") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/.tag new/qtvirtualkeyboard-everywhere-src-6.5.3/.tag --- old/qtvirtualkeyboard-everywhere-src-6.5.2/.tag 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/.tag 2023-09-24 13:38:43.000000000 +0200 @@ -1 +1 @@ -d642710f70d359cc8b22cb76c77ed6309f82d390 +c66959558dc22a60240aba90d56431f22225b514 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/dependencies.yaml new/qtvirtualkeyboard-everywhere-src-6.5.3/dependencies.yaml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/dependencies.yaml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/dependencies.yaml 2023-09-24 13:38:43.000000000 +0200 @@ -1,13 +1,13 @@ dependencies: ../qtbase: - ref: af457a9f0f7eb1a2a7d11f495da508faab91a442 + ref: 372eaedc5b8c771c46acc4c96e91bbade4ca3624 required: true ../qtdeclarative: - ref: f289063ff19588a11dd79213632785cfda2909a0 + ref: e00c258fa5a4e122636d441967dea035865fac5d required: true ../qtmultimedia: - ref: ca330332aae05023983dcf445f0b388070289c51 + ref: 0762bb1e91495527f0978232212521c49291f7de required: false ../qtsvg: - ref: 73757fd3c46eb0bf499c5770bc846851c14e42ae + ref: 220cd8c6261552f0fcf47061c64f862adae29b55 required: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/components/Keyboard.qml new/qtvirtualkeyboard-everywhere-src-6.5.3/src/components/Keyboard.qml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/components/Keyboard.qml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/components/Keyboard.qml 2023-09-24 13:38:43.000000000 +0200 @@ -19,6 +19,12 @@ property alias style: styleLoader.item property alias wordCandidateView: wordCandidateView property alias shadowInputControl: shadowInputControl + property alias alternativeKeys: alternativeKeys + property alias characterPreview: characterPreview + property alias wordCandidateContextMenu: wordCandidateContextMenu + property alias fullScreenModeSelectionControl: fullScreenModeSelectionControl + property alias naviationHighlight: naviationHighlight + property alias keyboardInputArea: keyboardInputArea property Item activeKey: null property TouchPoint activeTouchPoint property int localeIndex: -1 @@ -58,6 +64,8 @@ property alias soundEffect: soundEffect property alias keyboardLayoutLoader: keyboardLayoutLoader property real screenHeight: parent.parent ? parent.parent.height : Screen.height + property bool noAnimations + property int pressAndHoldDelay: 500 function initDefaultInputMethod() { try { @@ -203,22 +211,19 @@ } } initialKey = keyboardInputArea.initialKey - if (!keyboardInputArea.navigateToNextKey(-1, 0, false)) { + if (!keyboardInputArea.navigateToNextKey(-1 * direction, 0, false)) { keyboardInputArea.initialKey = initialKey if (!keyboardInputArea.navigateToNextKey(0, -1 * direction, false)) { if (wordCandidateView.count) { - if (wordCandidateView.count) { - wordCandidateView.currentIndex = - wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight ? - (wordCandidateView.count - 1) : 0 - break - } + wordCandidateView.currentIndex = + wordCandidateView.effectiveLayoutDirection == Qt.LeftToRight ? + (wordCandidateView.count - 1) : 0 break } keyboardInputArea.initialKey = initialKey keyboardInputArea.navigateToNextKey(0, -1 * direction, true) } - keyboardInputArea.navigateToNextKey(-1, 0, true) + keyboardInputArea.navigateToNextKey(-1 * direction, 0, true) } break case Qt.Key_Up: @@ -315,7 +320,7 @@ } } initialKey = keyboardInputArea.initialKey - if (!keyboardInputArea.navigateToNextKey(1, 0, false)) { + if (!keyboardInputArea.navigateToNextKey(1 * direction, 0, false)) { keyboardInputArea.initialKey = initialKey if (!keyboardInputArea.navigateToNextKey(0, 1 * direction, false)) { if (wordCandidateView.count) { @@ -327,7 +332,7 @@ keyboardInputArea.initialKey = initialKey keyboardInputArea.navigateToNextKey(0, 1 * direction, true) } - keyboardInputArea.navigateToNextKey(1, 0, true) + keyboardInputArea.navigateToNextKey(1 * direction, 0, true) } break case Qt.Key_Down: @@ -504,7 +509,7 @@ } Timer { id: pressAndHoldTimer - interval: 500 + interval: keyboard.pressAndHoldDelay onTriggered: { if (keyboard.activeKey && keyboard.activeKey === keyboardInputArea.initialKey) { var origin = keyboard.mapFromItem(activeKey, activeKey.width / 2, 0) @@ -616,12 +621,8 @@ } // Note: without "highlightItem.x - highlightItem.x" the binding does not work for alternativeKeys property var highlightItemOffset: highlightItem ? keyboard.mapFromItem(highlightItem, highlightItem.x - highlightItem.x, highlightItem.y - highlightItem.y) : ({x:0, y:0}) - property int moveDuration: 200 - property int resizeDuration: 200 - property alias xAnimation: xAnimation - property alias yAnimation: yAnimation - property alias widthAnimation: widthAnimation - property alias heightAnimation: heightAnimation + property int moveDuration: !keyboard.noAnimations ? 200 : 0 + property int resizeDuration: !keyboard.noAnimations ? 200 : 0 z: 2 x: highlightItemOffset.x y: highlightItemOffset.y @@ -679,6 +680,7 @@ } SelectionControl { + id: fullScreenModeSelectionControl objectName: "fullScreenModeSelectionControl" inputContext: InputContext.priv.shadow anchors.top: shadowInputControl.top @@ -707,8 +709,8 @@ highlight: style.selectionListHighlight ? style.selectionListHighlight : defaultHighlight highlightMoveDuration: 0 highlightResizeDuration: 0 - add: style.selectionListAdd - remove: style.selectionListRemove + add: !keyboard.noAnimations ? style.selectionListAdd : null + remove: !keyboard.noAnimations ? style.selectionListRemove : null keyNavigationWraps: true model: InputContext.inputEngine.wordCandidateListModel onCurrentItemChanged: if (currentItem) soundEffect.register(currentItem.soundEffect) @@ -769,7 +771,7 @@ id: wordCandidateViewTransition from: "" to: "visible" - enabled: !InputContext.animating + enabled: !InputContext.animating && !keyboard.noAnimations reversible: true ParallelAnimation { NumberAnimation { @@ -1214,8 +1216,8 @@ model: languageListModel delegate: keyboard.style ? keyboard.style.languageListDelegate : null highlight: keyboard.style ? keyboard.style.languageListHighlight : defaultHighlight - add: keyboard.style ? keyboard.style.languageListAdd : null - remove: keyboard.style ? keyboard.style.languageListRemove : null + add: keyboard.style && !keyboard.noAnimations ? keyboard.style.languageListAdd : null + remove: keyboard.style && !keyboard.noAnimations ? keyboard.style.languageListRemove : null property rect previewRect: Qt.rect(keyboard.x + languagePopupList.x, keyboard.y + languagePopupList.y, languagePopupList.width, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/components/PopupList.qml new/qtvirtualkeyboard-everywhere-src-6.5.3/src/components/PopupList.qml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/components/PopupList.qml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/components/PopupList.qml 2023-09-24 13:38:43.000000000 +0200 @@ -20,8 +20,8 @@ highlight: keyboard.style.popupListHighlight ? keyboard.style.popupListHighlight : defaultHighlight highlightMoveDuration: 0 highlightResizeDuration: 0 - add: keyboard.style.popupListAdd - remove: keyboard.style.popupListRemove + add: !keyboard.noAnimations ? keyboard.style.popupListAdd : null + remove: !keyboard.noAnimations ? keyboard.style.popupListRemove : null keyNavigationWraps: true onCurrentItemChanged: if (currentItem) keyboard.soundEffect.register(currentItem.soundEffect) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/layouts/zh_TW/main.qml new/qtvirtualkeyboard-everywhere-src-6.5.3/src/layouts/zh_TW/main.qml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/layouts/zh_TW/main.qml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/layouts/zh_TW/main.qml 2023-09-24 13:38:43.000000000 +0200 @@ -11,7 +11,16 @@ return Qt.createQmlObject('import QtQuick; import QtQuick.VirtualKeyboard.Plugins; TCInputMethod {}', parent, "main.qml") } sharedLayouts: ['symbols'] - sourceComponent: InputContext.inputEngine.inputMode === InputEngine.InputMode.Cangjie ? pageCangjie : pageZhuyin + sourceComponent: { + switch (InputContext.inputEngine.inputMode) { + case InputEngine.InputMode.Cangjie: + return pageCangjie + case InputEngine.InputMode.Zhuyin: + return pageZhuyin + default: + return null + } + } Component { id: pageCangjie KeyboardLayout { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/plugins/myscript/plugin/CMakeLists.txt new/qtvirtualkeyboard-everywhere-src-6.5.3/src/plugins/myscript/plugin/CMakeLists.txt --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/plugins/myscript/plugin/CMakeLists.txt 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/plugins/myscript/plugin/CMakeLists.txt 2023-09-24 13:38:43.000000000 +0200 @@ -31,7 +31,6 @@ ${MyScript_ROOT_DIR}/voim/api/c/examples/common/Properties.c myscriptinputmethod.cpp myscriptinputmethod_p.h myscriptinputmethod_p_p.h - myscriptplugin.cpp myscriptplugin.h DEFINES MYSCRIPT_CERTIFICATE="${MyScript_ROOT_DIR}/edk/c/examples/certificates/MyCertificate.c" MYSCRIPT_VOIM_PROPERTY_PATH="${MYSCRIPT_INSTALL_DATA}/${MYSCRIPT_VOIM_PROPERTY_NAME}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/settings/qquickvirtualkeyboardsettings.cpp new/qtvirtualkeyboard-everywhere-src-6.5.3/src/settings/qquickvirtualkeyboardsettings.cpp --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/settings/qquickvirtualkeyboardsettings.cpp 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/settings/qquickvirtualkeyboardsettings.cpp 2023-09-24 13:38:43.000000000 +0200 @@ -10,6 +10,7 @@ #include <QDir> #include <QRegularExpression> #include <QtCore/private/qobject_p.h> +#include <QtCore/qmutex.h> QT_BEGIN_NAMESPACE namespace QtVirtualKeyboard { @@ -62,6 +63,9 @@ stylePathList += stylesPath; } + // Path for backwards compatibility + stylePathList << QLatin1String("qrc:/QtQuick/VirtualKeyboard/content/styles/"); + for (const QString &stylePath : std::as_const(stylePathList)) { QString filePath = buildStyleFilePath(stylePath, name); bool pathExist = false; @@ -152,10 +156,18 @@ /*! \internal + TODO: Remove this method when QML stops creating separate singleton instances for each version. */ -QQuickVirtualKeyboardSettings *QQuickVirtualKeyboardSettings::create(QQmlEngine *qmlEngine, QJSEngine *) +QQuickVirtualKeyboardSettings *QQuickVirtualKeyboardSettings::create( + QQmlEngine *qmlEngine, QJSEngine *) { - return new QQuickVirtualKeyboardSettings(qmlEngine); + static QMutex mutex; + static QHash<QQmlEngine *, QQuickVirtualKeyboardSettings *> instances; + QMutexLocker locker(&mutex); + QQuickVirtualKeyboardSettings *&instance = instances[qmlEngine]; + if (instance == nullptr) + instance = new QQuickVirtualKeyboardSettings(qmlEngine); + return instance; } /*! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/configure.cmake new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/configure.cmake --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/configure.cmake 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/configure.cmake 2023-09-24 13:38:43.000000000 +0200 @@ -36,7 +36,7 @@ ) qt_feature("vkb-desktop" PUBLIC LABEL "Desktop integration" - CONDITION NOT cross_compile + CONDITION NOT ANDROID ) qt_feature("vkb-layouts" PUBLIC LABEL "Built-in layouts" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/doc/src/qtvirtualkeyboard-examples.qdoc 2023-09-24 13:38:43.000000000 +0200 @@ -10,6 +10,7 @@ /*! \title Virtual Keyboard in Qt Quick \example basic + \examplecategory {Embedded} \brief This example shows how to use the virtual keyboard in a Qt Quick application. \ingroup qtvirtualkeyboard-examples \image basic-example.png diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/doc/src/technical-guide.qdoc new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/doc/src/technical-guide.qdoc --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/doc/src/technical-guide.qdoc 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/doc/src/technical-guide.qdoc 2023-09-24 13:38:43.000000000 +0200 @@ -6,7 +6,7 @@ \page qtvirtualkeyboard-overview.html \title Qt Virtual Keyboard Overview \brief Describes the technical details of the Qt Virtual Keyboard module. - +\ingroup explanantion This document provides a technical overview of the Qt Virtual Keyboard plugin. \section1 Features diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/qvirtualkeyboardinputcontext.h new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/qvirtualkeyboardinputcontext.h --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/qvirtualkeyboardinputcontext.h 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/qvirtualkeyboardinputcontext.h 2023-09-24 13:38:43.000000000 +0200 @@ -50,7 +50,9 @@ Q_PROPERTY(QVirtualKeyboardObserver *keyboardObserver READ keyboardObserver CONSTANT REVISION(6, 1)) Q_MOC_INCLUDE("qvirtualkeyboardinputengine.h") Q_MOC_INCLUDE("qvirtualkeyboardinputcontext_p.h") - QML_NAMED_ELEMENT(InputContext) + + // The QML macros are unused for now, until we can move the QML_NAMED_ELEMENT back here. + // QML_SINGLETON generates some code that might or might not emit symbols on some platforms. QML_SINGLETON QML_ADDED_IN_VERSION(1, 0) QML_EXTRA_VERSION(2, 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.cpp 2023-09-24 13:38:43.000000000 +0200 @@ -18,6 +18,7 @@ #include <QtQuick/qquickwindow.h> #include <QtGui/qpa/qplatformintegration.h> #include <QtGui/private/qguiapplication_p.h> +#include <QQmlEngine> QT_BEGIN_NAMESPACE @@ -629,4 +630,16 @@ } } +QVirtualKeyboardInputContext *QVirtualKeyboardInputContextForeign::create( + QQmlEngine *qmlEngine, QJSEngine *) +{ + static QMutex mutex; + static QHash<QQmlEngine *, QVirtualKeyboardInputContext *> instances; + QMutexLocker locker(&mutex); + QVirtualKeyboardInputContext *&instance = instances[qmlEngine]; + if (instance == nullptr) + instance = new QVirtualKeyboardInputContext(qmlEngine); + return instance; +} + QT_END_NAMESPACE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h --- old/qtvirtualkeyboard-everywhere-src-6.5.2/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/src/virtualkeyboard/qvirtualkeyboardinputcontext_p.h 2023-09-24 13:38:43.000000000 +0200 @@ -191,6 +191,23 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QVirtualKeyboardInputContextPrivate::StateFlags) +/*! + TODO: Remove this type and move the registration back into QVirtualKeyboardInputContext when + QML stops creating separate singleton instances for each version. + */ +struct QVirtualKeyboardInputContextForeign +{ + Q_GADGET + QML_FOREIGN(QVirtualKeyboardInputContext) + QML_NAMED_ELEMENT(InputContext) + QML_SINGLETON + QML_ADDED_IN_VERSION(1, 0) + QML_EXTRA_VERSION(2, 0) + +public: + static QVirtualKeyboardInputContext *create(QQmlEngine *qmlEngine, QJSEngine *); +}; + QT_END_NAMESPACE Q_DECLARE_METATYPE(QVirtualKeyboardInputContextPrivate::State) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/inputpanel/data/inputpanel/inputpanel.qml new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/inputpanel/data/inputpanel/inputpanel.qml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/inputpanel/data/inputpanel/inputpanel.qml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/inputpanel/data/inputpanel/inputpanel.qml 2023-09-24 13:38:43.000000000 +0200 @@ -29,25 +29,20 @@ readonly property var activeLocales: VirtualKeyboardSettings.activeLocales readonly property int inputMode: InputContext.inputEngine.inputMode readonly property var inputMethod: InputContext.inputEngine.inputMethod - readonly property var keyboard: Utils.findChildByProperty(inputPanel, "objectName", "keyboard", null) readonly property bool handwritingMode: keyboard.handwritingMode - readonly property var keyboardLayoutLoader: Utils.findChildByProperty(keyboard, "objectName", "keyboardLayoutLoader", null) - readonly property var keyboardInputArea: Utils.findChildByProperty(keyboard, "objectName", "keyboardInputArea", null) - readonly property var characterPreviewBubble: Utils.findChildByProperty(keyboard, "objectName", "characterPreviewBubble", null) - readonly property var alternativeKeys: Utils.findChildByProperty(keyboard, "objectName", "alternativeKeys", null) - readonly property var naviationHighlight: Utils.findChildByProperty(keyboard, "objectName", "naviationHighlight", null) - readonly property bool naviationHighlightAnimating: naviationHighlight.xAnimation.running || - naviationHighlight.yAnimation.running || - naviationHighlight.widthAnimation.running || - naviationHighlight.heightAnimation.running - readonly property var wordCandidateView: Utils.findChildByProperty(keyboard, "objectName", "wordCandidateView", null) - readonly property var wordCandidateContextMenu: Utils.findChildByProperty(keyboard, "objectName", "wordCandidateContextMenu", null) - readonly property var shadowInputControl: Utils.findChildByProperty(keyboard, "objectName", "shadowInputControl", null) - readonly property var shadowInput: Utils.findChildByProperty(keyboard, "objectName", "shadowInput", null) - readonly property var selectionControl: Utils.findChildByProperty(inputPanel, "objectName", "selectionControl", null) + readonly property Loader keyboardLayoutLoader: keyboard.keyboardLayoutLoader + readonly property MultiPointTouchArea keyboardInputArea: keyboard.keyboardInputArea + readonly property CharacterPreviewBubble characterPreviewBubble: keyboard.characterPreview + readonly property AlternativeKeys alternativeKeys: keyboard.alternativeKeys + readonly property Loader naviationHighlight: keyboard.naviationHighlight + readonly property ListView wordCandidateView: keyboard.wordCandidateView + readonly property Item wordCandidateContextMenu: keyboard.wordCandidateContextMenu + readonly property ShadowInputControl shadowInputControl: keyboard.shadowInputControl + readonly property TextInput shadowInput: keyboard.shadowInputControl.textEdit + readonly property SelectionControl selectionControl: Utils.findChildByProperty(inputPanel, "objectName", "selectionControl", null) readonly property var anchorHandle: selectionControl.children[0] readonly property var cursorHandle: selectionControl.children[1] - readonly property var fullScreenModeSelectionControl: Utils.findChildByProperty(inputPanel, "objectName", "fullScreenModeSelectionControl", null) + readonly property SelectionControl fullScreenModeSelectionControl: keyboard.fullScreenModeSelectionControl readonly property var fullScreenModeAnchorHandle: fullScreenModeSelectionControl.children[0] readonly property var fullScreenModeCursorHandle: fullScreenModeSelectionControl.children[1] readonly property bool wordCandidateListVisibleHint: InputContext.inputEngine.wordCandidateListVisibleHint @@ -66,6 +61,7 @@ property alias wordCandidateListItemSelectedSpy: wordCandidateListItemSelectedSpy property alias inputMethodSelectionListChangedSpy: inputMethodSelectionListChangedSpy property alias wordCandidateListVisibleSpy: wordCandidateListVisibleSpy + property alias wordCandidateListCurrentIndexSpy: wordCandidateListCurrentIndexSpy property alias shiftStateSpy: shiftStateSpy property alias shadowInputControlVisibleSpy: shadowInputControlVisibleSpy property alias externalLanguageSwitchSpy: externalLanguageSwitchSpy @@ -172,6 +168,12 @@ } SignalSpy { + id: wordCandidateListCurrentIndexSpy + target: wordCandidateView + signalName: "onCurrentIndexChanged" + } + + SignalSpy { id: wordCandidateContextMenuActiveSpy target: wordCandidateContextMenu signalName: "onActiveChanged" @@ -195,26 +197,18 @@ signalName: "onExternalLanguageSwitch" } - function findChildByProperty(parent, propertyName, propertyValue, compareCb) { - var obj = null - if (parent === null) - return null - var children = parent.children - for (var i = 0; i < children.length; i++) { - obj = children[i] - if (obj.hasOwnProperty(propertyName)) { - if (compareCb !== null) { - if (compareCb(obj[propertyName], propertyValue)) - break - } else if (obj[propertyName] === propertyValue) { - break - } - } - obj = findChildByProperty(obj, propertyName, propertyValue, compareCb) - if (obj) - break - } - return obj + // Disable all animations during tests + Binding { + target: keyboard + property: "noAnimations" + value: true + } + + // Reduce press and hold delay to avoid unnecessary wait during tests + Binding { + target: keyboard + property: "pressAndHoldDelay" + value: 50 } function isLocaleSupported(inputLocale) { @@ -442,14 +436,14 @@ if (keyObj) { virtualKeyPressPoint = inputPanel.mapFromItem(keyObj, keyObj.width / 2, keyObj.height / 2) testcase.mousePress(inputPanel, virtualKeyPressPoint.x, virtualKeyPressPoint.y) - testcase.wait(20) + testcase.wait(1) if (alternativeKey) { alternativeKeysSpy.wait() var keyIndex = keyObj.effectiveAlternativeKeys.indexOf(key.toLowerCase()) var itemX = keyIndex * keyboard.style.alternateKeysListItemWidth + keyboard.style.alternateKeysListItemWidth / 2 virtualKeyPressPoint.x = inputPanel.mapFromItem(alternativeKeys.listView, itemX, 0).x testcase.mouseMove(inputPanel, virtualKeyPressPoint.x, virtualKeyPressPoint.y) - testcase.waitForRendering(inputPanel) + testcase.wait(1) } return true } @@ -536,7 +530,6 @@ function virtualKeyClick(key) { if (virtualKeyPress(key)) { virtualKeyRelease() - testcase.waitForRendering(inputPanel) return true } return false @@ -544,13 +537,7 @@ function emulateNavigationKeyClick(navigationKey) { testcase.keyClick(navigationKey) - while (inputPanel.naviationHighlightAnimating) - testcase.wait(inputPanel.naviationHighlight.moveDuration / 2) - } - - function navigationHighlightContains(point) { - var navigationPoint = inputPanel.mapToItem(inputPanel.naviationHighlight, point.x, point.y) - return inputPanel.naviationHighlight.contains(Qt.point(navigationPoint.x, navigationPoint.y)) + testcase.wait(50) } function navigateToKeyOnPoint(point) { @@ -558,7 +545,7 @@ if (inputPanel.naviationHighlight.visible) { while (true) { var navigationPoint = inputPanel.mapToItem(inputPanel.naviationHighlight, point.x, point.y) - if (navigationHighlightContains(point)) + if (inputPanel.naviationHighlight.contains(Qt.point(navigationPoint.x, navigationPoint.y))) return true if (inputPanel.naviationHighlight.y > point.y) emulateNavigationKeyClick(Qt.Key_Up) @@ -618,12 +605,9 @@ function activateNavigationKeyMode() { if (!inputPanel.naviationHighlight.visible) { - inputPanel.naviationHighlight.moveDuration = 0 - inputPanel.naviationHighlight.resizeDuration = 0 emulateNavigationKeyClick(Qt.Key_Right) if (inputPanel.naviationHighlight.visible) { - while (inputPanel.naviationHighlightAnimating) - testcase.wait(inputPanel.naviationHighlight.moveDuration / 2) + testcase.wait(1) } } return inputPanel.naviationHighlight.visible @@ -680,7 +664,6 @@ inputPanel.wordCandidateView.decrementCurrentIndex() } } - testcase.waitForRendering(inputPanel) } return suggestionFound } @@ -688,7 +671,6 @@ function selectionListSelectCurrentItem() { if (!inputPanel.wordCandidateView.currentItem) return false - testcase.wait(200) testcase.verify(inputPanel.wordCandidateView.currentItem, "Expected wordCandidateView to have a currentItem, but it's null." + " Its property values at the time of failure are:" @@ -704,7 +686,6 @@ inputPanel.wordCandidateView.currentItem.width / 2, inputPanel.wordCandidateView.currentItem.height / 2) testcase.mouseClick(inputPanel, itemPos.x, itemPos.y, Qt.LeftButton, 0, 20) - testcase.waitForRendering(inputPanel) return true } @@ -738,7 +719,6 @@ var wordCandidateContextMenuList = Utils.findChildByProperty(keyboard, "objectName", "wordCandidateContextMenuList", null) if (wordCandidateContextMenuList.currentIndex !== index) { wordCandidateContextMenuList.currentIndex = index - testcase.waitForRendering(inputPanel) } if (!wordCandidateContextMenuList.currentItem) return false @@ -746,10 +726,13 @@ wordCandidateContextMenuList.currentItem.width / 2, wordCandidateContextMenuList.currentItem.height / 2) testcase.mouseClick(inputPanel, itemPos.x, itemPos.y, Qt.LeftButton, 0, 20) - testcase.waitForRendering(inputPanel) return true } + function isHandwritingFeatureAvailable() { + return VirtualKeyboardFeatures.Handwriting + } + function setHandwritingMode(enabled) { if (inputPanel.keyboard.handwritingMode !== enabled) { if (!enabled || inputPanel.keyboard.isHandwritingAvailable()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/inputpanel/data/inputpanel/utils.js new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/inputpanel/data/inputpanel/utils.js --- old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/inputpanel/data/inputpanel/utils.js 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/inputpanel/data/inputpanel/utils.js 2023-09-24 13:38:43.000000000 +0200 @@ -8,8 +8,7 @@ if (parent === null) return null var children = parent.children - for (var i = 0; i < children.length; i++) { - obj = children[i] + for (obj of children) { if (obj.hasOwnProperty(propertyName)) { if (compareCb !== null) { if (compareCb(obj[propertyName], propertyValue)) @@ -30,8 +29,7 @@ if (parent === null) return null var children = parent.children - for (var i = 0; i < children.length; i++) { - obj = children[i] + for (obj of children) { if (matchCb(obj, param)) break obj = findChild(obj, param, matchCb) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/inputpanel/data/tst_inputpanel.qml new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/inputpanel/data/tst_inputpanel.qml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/inputpanel/data/tst_inputpanel.qml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/inputpanel/data/tst_inputpanel.qml 2023-09-24 13:38:43.000000000 +0200 @@ -54,6 +54,12 @@ } function prepareTest(data, skipIfFail) { + // Skip hwr tests early if handwriting feature is not available + if (data !== undefined && data.hasOwnProperty("initHwrMode") && data.initHwrMode) { + if (!inputPanel.isHandwritingFeatureAvailable()) + skip("Handwriting feature not available") + } + inputPanel.setWclAutoHideDelay(data !== undefined && data.hasOwnProperty("wclAutoHideDelay") ? data.wclAutoHideDelay : 5000) inputPanel.setWclAlwaysVisible(data !== undefined && data.hasOwnProperty("wclAlwaysVisible") && data.wclAlwaysVisible) inputPanel.setWclAutoCommitWord(data !== undefined && data.hasOwnProperty("wclAutoCommitWord") && data.wclAutoCommitWord) @@ -68,7 +74,6 @@ tryCompare(window, "active", true) container.forceActiveFocus() - waitForRendering(container) if (data !== undefined && data.hasOwnProperty("initText")) { textInput.text = data.initText textInput.cursorPosition = data.hasOwnProperty("initCursorPosition") ? data.initCursorPosition : textInput.text.length @@ -83,7 +88,6 @@ handwritingInputPanel.available = false inputPanel.setHandwritingMode(false) textInput.forceActiveFocus() - waitForRendering(inputPanel) var activeLocales = data !== undefined && data.hasOwnProperty("activeLocales") ? data.activeLocales : [] inputPanel.setActiveLocales(activeLocales) var locale = data !== undefined && data.hasOwnProperty("initLocale") ? data.initLocale : "en_GB" @@ -394,7 +398,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -423,7 +426,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -455,7 +457,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -501,7 +502,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -606,16 +606,13 @@ inputPanel.setStyle("retro") inputPanel.styleSpy.wait() - waitForRendering(inputPanel) inputPanel.setStyle("default") inputPanel.styleSpy.wait() - waitForRendering(inputPanel) compare(inputPanel.styleSpy.count, 2) inputPanel.setStyle(origStyle) - waitForRendering(inputPanel) } function test_soundEffects() { @@ -635,9 +632,9 @@ function test_navigationKeyInputSequence_data() { return [ - { initInputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase, inputSequence: "\u00E1\u017C", outputText: "\u00E1\u017C" }, - { initInputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase, inputSequence: "~123qwe", outputText: "~123qwe" }, - { initInputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase, inputSequence: [ Qt.Key_Shift, Qt.Key_V, Qt.Key_K, Qt.Key_B, Qt.Key_Return ], outputText: "VKB\n" }, + { initialKey: Qt.Key_Space, initInputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase, inputSequence: "\u00E1\u017C", outputText: "\u00E1\u017C" }, + { initialKey: Qt.Key_Space, initInputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase, inputSequence: "~123qwe", outputText: "~123qwe" }, + { initialKey: Qt.Key_Space, initInputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase, inputSequence: [ Qt.Key_Shift, Qt.Key_Shift, Qt.Key_V, Qt.Key_K, Qt.Key_B, Qt.Key_Return ], outputText: "VKB\n" }, ] } @@ -648,20 +645,20 @@ skip("Arrow key navigation not enabled") verify(inputPanel.naviationHighlight.visible) + verify(inputPanel.navigateToKey(data.initialKey)) for (var inputIndex in data.inputSequence) { verify(inputPanel.navigationKeyClick(data.inputSequence[inputIndex])) } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } function test_navigationCursorWrap_data() { return [ - { initialKey: Qt.Key_Q, navigationKey: Qt.Key_Up, navigationKeyRepeat: 4 }, - { initialKey: Qt.Key_Q, navigationKey: Qt.Key_Down, navigationKeyRepeat: 4 }, + { initialKey: Qt.Key_W, navigationKey: Qt.Key_Up, navigationKeyRepeat: 4 }, + { initialKey: Qt.Key_W, navigationKey: Qt.Key_Down, navigationKeyRepeat: 4 }, { initialKey: Qt.Key_T, navigationKey: Qt.Key_Up, navigationKeyRepeat: 4 }, { initialKey: Qt.Key_T, navigationKey: Qt.Key_Down, navigationKeyRepeat: 4 }, { initialKey: Qt.Key_Backspace, navigationKey: Qt.Key_Up, navigationKeyRepeat: 4 }, @@ -694,7 +691,7 @@ } } - verify(inputPanel.keyboardInputArea.initialKey === initialKeyObj) + compare(inputPanel.keyboardInputArea.initialKey, initialKeyObj) } function test_navigationCursorAndWordCandidateView() { @@ -734,7 +731,10 @@ // Move focus to the next item in the list var previousHighlightIndex = inputPanel.wordCandidateView.currentIndex + inputPanel.wordCandidateListCurrentIndexSpy.clear() inputPanel.emulateNavigationKeyClick(Qt.Key_Right) + inputPanel.wordCandidateListCurrentIndexSpy.wait() + compare(inputPanel.wordCandidateListCurrentIndexSpy.count, 1) compare(inputPanel.wordCandidateView.currentIndex, previousHighlightIndex + 1) // Move focus to previously focused key on keyboard and back @@ -750,7 +750,10 @@ for (previousHighlightIndex = inputPanel.wordCandidateView.currentIndex; previousHighlightIndex < inputPanel.wordCandidateView.count - 1; previousHighlightIndex++) { + inputPanel.wordCandidateListCurrentIndexSpy.clear() inputPanel.emulateNavigationKeyClick(Qt.Key_Right) + inputPanel.wordCandidateListCurrentIndexSpy.wait() + compare(inputPanel.wordCandidateListCurrentIndexSpy.count, 1) compare(inputPanel.wordCandidateView.currentIndex, previousHighlightIndex + 1) } @@ -810,7 +813,7 @@ var keysTraversed = [] do { - verify(keysTraversed.indexOf(inputPanel.keyboardInputArea.initialKey) === -1) + compare(keysTraversed.indexOf(inputPanel.keyboardInputArea.initialKey), -1) var currentKey = inputPanel.keyboardInputArea.initialKey keysTraversed.push(currentKey) inputPanel.emulateNavigationKeyClick(Qt.Key_Right) @@ -845,7 +848,6 @@ for (var inputIndex in data.inputSequence) { verify(inputPanel.virtualKeyClick(data.inputSequence[inputIndex])) } - waitForRendering(inputPanel) if (inputPanel.wordCandidateListVisibleHint) { if (data.hasOwnProperty("expectedSuggestion")) { @@ -891,7 +893,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) if (!inputPanel.wordCandidateListVisibleHint && textInput.text !== data.outputText) expectFail("", "Prediction/spell correction not enabled") compare(textInput.text, data.outputText) @@ -935,7 +936,6 @@ for (var inputIndex in data.inputSequence) { verify(inputPanel.virtualKeyClick(data.inputSequence[inputIndex])) } - waitForRendering(inputPanel) for (var candidateIndex in data.expectedCandidates) { verify(inputPanel.selectionListSearchSuggestion(data.expectedCandidates[candidateIndex])) @@ -997,7 +997,6 @@ else verify(inputPanel.virtualKeyClick(key)) } - waitForRendering(inputPanel) if (data.expectedCandidates) { for (var candidateIndex in data.expectedCandidates) { @@ -1077,8 +1076,6 @@ verify(inputPanel.virtualKeyClick(inputSequence[charIndex])) } - waitForRendering(inputPanel) - if (data.expectedCandidates && inputIndex < data.expectedCandidates.length && data.expectedCandidates[inputIndex].length > 0) { verify(inputPanel.selectionListSearchSuggestion(data.expectedCandidates[inputIndex])) verify(inputPanel.selectionListSelectCurrentItem()) @@ -1087,7 +1084,6 @@ verify(inputPanel.virtualKeyClick(data.inputSequence[inputIndex])) } } - waitForRendering(inputPanel) if (!Array.isArray(data.inputSequence) && data.expectedCandidates) { verify(inputPanel.selectionListSearchSuggestion(data.expectedCandidates)) @@ -1160,12 +1156,10 @@ // Remove Jamos one by one. // The number of removed characters must match to the number of Jamos entered. for (inputIndex = data.inputSequence.length - 1; inputIndex >= 0; inputIndex--) { - waitForRendering(inputPanel) compare(Utils.toUnicodeHex(textInputContents()), Utils.toUnicodeHex(intermediateResult.pop())) inputPanel.virtualKeyClick(Qt.Key_Backspace) } - waitForRendering(inputPanel) compare(Utils.toUnicodeHex(textInputContents()), Utils.toUnicodeHex(data.initText !== undefined ? data.initText : "")) } @@ -1210,7 +1204,6 @@ verify(inputPanel.virtualKeyClick(data.inputSequence[inputIndex])) } - waitForRendering(inputPanel) compare(textInput.text, data.outputText) if (data.hasOwnProperty("expectedCursorPosition")) @@ -1240,7 +1233,6 @@ for (var inputIndex in data.inputSequence) { verify(inputPanel.virtualKeyClick(data.inputSequence[inputIndex])) } - waitForRendering(inputPanel) for (var candidateIndex in data.expectedCandidates) { verify(inputPanel.selectionListSearchSuggestion(data.expectedCandidates[candidateIndex])) @@ -1295,7 +1287,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -1339,7 +1330,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -1385,7 +1375,6 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) } @@ -1419,12 +1408,10 @@ } Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) var inputMode = inputPanel.inputMode verify(inputPanel.virtualKeyClick(Qt.Key_Mode_switch)) - waitForRendering(inputPanel) compare(inputPanel.inputMode !== inputMode, data.modeSwitchAllowed) } @@ -1448,7 +1435,6 @@ for (var inputIndex in data.inputSequence) { verify(inputPanel.emulateHandwriting(data.inputSequence.charAt(inputIndex), true)) } - waitForRendering(inputPanel) if (inputPanel.wordCandidateListVisibleHint) { if (data.hasOwnProperty("expectedSuggestion")) { @@ -1627,7 +1613,6 @@ for (var inputIndex in data.inputSequence) { verify(handwritingInputPanel.emulateHandwriting(data.inputSequence.charAt(inputIndex), true)) } - waitForRendering(handwritingInputPanel) if (data.popupFlipped) { verify(handwritingInputPanel.wordCandidatePopupList.y + handwritingInputPanel.wordCandidatePopupList.height <= Qt.inputMethod.cursorRectangle.y) @@ -1660,7 +1645,6 @@ else expectedResult = (inputPanel.activeLocales.length === 0 || inputPanel.activeLocales.indexOf(locale) !== -1) && inputPanel.availableLocales.indexOf(locale) !== -1 inputPanel.setLocale(locale) - waitForRendering(inputPanel) compare(inputPanel.locale === locale, expectedResult, "Test locale %1".arg(locale)) } } @@ -1711,7 +1695,6 @@ var cursorRect = cursorRects[i] mousePress(textInput, cursorRect.x, cursorRect.y + cursorRect.height / 2, Qt.LeftButton, Qt.NoModifier, 20) mouseRelease(textInput, cursorRect.x, cursorRect.y + cursorRect.height / 2, Qt.LeftButton, Qt.NoModifier, 20) - waitForRendering(textInput) } if (!inputPanel.wordCandidateListVisibleHint && inputPanel.preeditText !== data.expectedPreeditText) @@ -1773,7 +1756,6 @@ var cursorRect = cursorRects[i] mousePress(textInput, cursorRect.x, cursorRect.y + cursorRect.height / 2, Qt.LeftButton, Qt.NoModifier, 20) mouseRelease(textInput, cursorRect.x, cursorRect.y + cursorRect.height / 2, Qt.LeftButton, Qt.NoModifier, 20) - waitForRendering(textInput) } if (!inputPanel.wordCandidateListVisibleHint && inputPanel.preeditText !== data.expectedPreeditText) @@ -1799,7 +1781,6 @@ } function test_selection(data) { - waitForRendering(textInput) prepareTest(data) compare(inputPanel.cursorHandle.visible, data.expectHandlesToBeVisible) compare(inputPanel.anchorHandle.visible, data.expectHandlesToBeVisible) @@ -1942,13 +1923,11 @@ prepareTest(data) inputPanel.wordCandidateListChangedSpy.clear() Qt.inputMethod.show() - waitForRendering(inputPanel) compare(inputPanel.wordCandidateView.visibleCondition, data.wclAlwaysVisible) inputPanel.virtualKeyClick("a") inputPanel.virtualKeyClick("u") inputPanel.virtualKeyClick("t") inputPanel.virtualKeyClick("o") - waitForRendering(inputPanel) if (!inputPanel.wordCandidateListVisibleHint) skip("Prediction/spell correction not enabled") inputPanel.wordCandidateListChangedSpy.wait(1000) @@ -1959,7 +1938,6 @@ wait(data.wclAutoHideDelay + 250) else inputPanel.wordCandidateListVisibleSpy.wait(data.wclAutoHideDelay + 500) - waitForRendering(inputPanel) compare(inputPanel.wordCandidateView.visibleCondition, data.wclAlwaysVisible) } @@ -1998,14 +1976,12 @@ inputPanel.shadowInputControlVisibleSpy.clear() inputPanel.setFullScreenMode(true) - waitForRendering(inputPanel) inputPanel.shadowInputControlVisibleSpy.wait() compare(inputPanel.shadowInput.text, textInput.text) inputPanel.shadowInputControlVisibleSpy.clear() inputPanel.setFullScreenMode(false) - waitForRendering(inputPanel) inputPanel.shadowInputControlVisibleSpy.wait() } @@ -2027,7 +2003,6 @@ compare(inputPanel.shadowInput.preeditText, textInput.preeditText) Qt.inputMethod.commit() - waitForRendering(inputPanel) compare(textInput.text, data.outputText) compare(inputPanel.shadowInput.text, textInput.text) compare(inputPanel.shadowInput.cursorPosition, textInput.cursorPosition) @@ -2046,7 +2021,6 @@ prepareTest(data) data.select() - waitForRendering(textInput) compare(inputPanel.shadowInput.text, textInput.text) compare(inputPanel.shadowInput.cursorPosition, textInput.cursorPosition) compare(inputPanel.shadowInput.selectedText, textInput.selectedText) @@ -2103,7 +2077,6 @@ var cursorRect = cursorRects[i] mousePress(inputPanel.shadowInput, cursorRect.x, cursorRect.y + cursorRect.height / 2, Qt.LeftButton, Qt.NoModifier, 20) mouseRelease(inputPanel.shadowInput, cursorRect.x, cursorRect.y + cursorRect.height / 2, Qt.LeftButton, Qt.NoModifier, 20) - waitForRendering(inputPanel.shadowInput) } if (!inputPanel.wordCandidateListVisibleHint && inputPanel.preeditText !== data.expectedPreeditText) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/styles/CMakeLists.txt new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/styles/CMakeLists.txt --- old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/styles/CMakeLists.txt 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/styles/CMakeLists.txt 2023-09-24 13:38:43.000000000 +0200 @@ -24,6 +24,24 @@ TESTDATA ${test_data} ) +qt_internal_add_resource(tst_styles "test_res" + PREFIX + "/qt/qml/QtQuick/VirtualKeyboard/Styles/test_res" + BASE + "data/QtQuick/VirtualKeyboard/Styles/test" + FILES + "data/QtQuick/VirtualKeyboard/Styles/test/style.qml" +) + +qt_internal_add_resource(tst_styles "test_res_compat" + PREFIX + "/QtQuick/VirtualKeyboard/content/styles/test_res_compat" + BASE + "data/QtQuick/VirtualKeyboard/Styles/test" + FILES + "data/QtQuick/VirtualKeyboard/Styles/test/style.qml" +) + #### Keys ignored in scope 1:.:.:styles.pro:<TRUE>: # DISTFILES = "data/tst_styles.qml" "data/QtQuick/VirtualKeyboard/Styles/test/style.qml" # OTHER_FILES = "$$PWD/data/tst_styles.qml" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/styles/data/tst_styles.qml new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/styles/data/tst_styles.qml --- old/qtvirtualkeyboard-everywhere-src-6.5.2/tests/auto/styles/data/tst_styles.qml 2023-07-07 18:22:14.000000000 +0200 +++ new/qtvirtualkeyboard-everywhere-src-6.5.3/tests/auto/styles/data/tst_styles.qml 2023-09-24 13:38:43.000000000 +0200 @@ -16,7 +16,9 @@ return [ { tag: "default", result: "default"}, { tag: "retro", result: "retro"}, // in-source alternate style - { tag: "test", result: "test"} // out-of-source alternate style + { tag: "test", result: "test"}, // out-of-source alternate style + { tag: "test_res", result: "test_res"}, // default resource path + { tag: "test_res_compat", result: "test_res_compat"}, // compatibility resource path ]; }