aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Port from container::count() and length() to size()Marc Mutz2022-10-062-2/+2
| | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Done-with: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Change-Id: I28ad3f9b59bcfd2db9401c8d4ecc0800c57a3b17 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-2515-15/+15
| | | | | | Task-number: QTBUG-105718 Change-Id: I910246fa10b5be2742c9e9840e37b16c908c70a6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Don't use PUBLIC_LIBRARIES for tests and test helpersAlexandru Croitor2022-07-2811-17/+17
| | | | | Change-Id: I3ef58c8b9be2ebb36bcf65f561b89cee67163d15 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-0815-0/+45
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: Iaee7f8b319c5e1356395a65c78604b23e3b3b16b Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-1481-2296/+166
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: Iaeb3cb05cd781031a35e40f712805fa265116076 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Revisit project files of x11vkb* manual testsJoerg Bornemann2022-06-143-11/+27
| | | | | | | | | | | | | Remove the hardcoded include paths. Many are just not needed. Rely on find_package to pull in X11 and ATSPI2. find_package QtCharts and QtWidgets before usage. Fixes: QTBUG-102115 Change-Id: Ic4a145c29a4a6d5152202d96784982137ff67e63 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* x11vkbwrapper: Remove setting of Qt::AA_EnableHighDpiScalingJoerg Bornemann2022-06-141-1/+0
| | | | | | | This attribute is deprecated. Change-Id: I57b281971218d790b75d2471e298628df71b6247 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix the build of the manual tests x11vkbtest and x11vkbwrapperJoerg Bornemann2022-06-145-9/+9
| | | | | | | | | | | | - fix insertion of QVariant value into std::map - remove unneeded QStateMachine include - fix QT_CHARTS_* namespace macros - fix implicit construction of Qt::WindowFlags - fix usage of Qt::endl without namespace qualifier - fix include order of windowhelper.h Change-Id: I624fd4cc9769778cc0760aa7a9fdfabfa6528c66 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Android: ignore some failing qtvirtualkeyboard testsAssam Boudjelthia2022-04-253-0/+8
| | | | | | | | | | Ignore those tests to allow enalbing CI tests and fix them one by one after that. Task-number: QTBUG-102756 Pick-to: 6.2 6.3 Change-Id: Ic2579f5681112237207025da8e99f5f4aee1c59a Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Port qtvirtualkeyboard to declarative type registrationJarkko Koivikko2022-04-073-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Port settings plugin to declarative type registration - Port styles plugin to declarative type registration - Dissect Components QML module from QtQuick.VirtualKeyboard Previously the QML components included in this module were located in the resources of virtualkeyboard Qt module and registered via manual type registration. Since migrating away from manual type registration, it is time to move these components out of the QtQuick.VirtualKeyboard namespace where they did not belong in the first place. They are implementation detail of the VirtualKeyboard and the VirtualKeyboard layouts. There is no use for them outside of this scope. - Add QtQuick.VirtualKeyboard.Plugins QML module - Port hangul to declarative type registrations - Port openwnn to declarative type registrations - Port tcime to declarative type registrations - Port thai to declarative type registrations - Port hunspell to declarative type registrations - Port pinyin to declarative type registrations - Port cerence to declarative type registrations - Port myscript to declarative type registrations - Add VirtualKeyboardFeatures namespace for feature detection - Remove QVirtualKeyboardInputContextPrivate::inputMethods property This is no longer needed (and cannot be supported) because of the new QML module based extensions model. Runtime feature detection is happens on the VirtualKeyboardFeatures namespace. - Remove Q_VKB_IMPORT_PLUGIN - Remove extensionloader (replaced with QML modules) This is no longer needed as all the extensions have been ported to QML modules. - Remove QML dependency from platforminputcontext plugin Since all the extra functionality (extensions, qml types registrations) have been moved out of this plugin, we can remove the dependency to QML module too. - Move keyboard layouts to Layouts plugin (but keep them as resources) Previously the keyboard layouts were located in the resources of the QtQuick.VirtualKeyboard plugin. This change moves them to new QtQuick.VirtualKeyboard.Layouts QML module. This module is loaded by explicit (qmldir) import at QtQuick.VirtualKeyboard plugin. We cannot make the layouts as compiled qml, because it will prevent from using resource path overload currently used by vendor plugins to override keyboard layouts. - Move builtin styles to new module QtQuick.VirtualKeyboard.Styles.Builtin No changes to style loading mechanism - the styles are still loaded using Loader. The internal resource path for builtin styles changed from :/QtQuick/VirtualKeyboard/content/styles to :/QtQuick/VirtualKeyboard/Styles/Builtin This has no impact on external users, because it can already specify custom style path using settings API. [ChangeLog] Virtual Keyboard extension mechanism was replaced with QML modules. Previously the virtual keyboard was using plugin mechanism with custom interface to load extensions. With the introduction of declarative type registration, this interface became obsolete. All of the existing virtual keyboard extensions are now registered as standard QML modules, loaded implicitly by the QtQuick.VirtualKeyboard module. This change does not impact the users of the virtual keyboard public API. Task-number: QTBUG-100783 Fixes: QTBUG-92212 Fixes: QTBUG-100705 Fixes: QTBUG-95680 Fixes: QTBUG-95660 Change-Id: Id2f87670d2678fa0b18bae56ee172bf206d99d3a Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Revert "Blacklist: test cases blacklisted in inputpanel:"Pasi Petäjäjärvi2022-04-011-3/+0
| | | | | | | | | | This reverts commit 9a7d09d8096a5e451ed932ff08334c6a7cfaf048. Reason for revert: Fixed aec6b0075863bff181d1d3dfdf1399264de01f67 Task-number: QTBUG-101512 Change-Id: I768a5609bd624d641cf5c7b09d8a23f682badc3f Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Revert "Blacklist: test cases blacklisted in styles:"Pasi Petäjäjärvi2022-04-011-4/+0
| | | | | | | | | | This reverts commit add5903bb161ebbeffeb91e71fe84295c59b6ea2. Reason for revert: Fixed aec6b0075863bff181d1d3dfdf1399264de01f67 Task-number: QTBUG-101536 Change-Id: I1ce6b7437fa7d2854b4efc44934502edbfa89bbe Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Add simple manual test to benchmark startup performanceJarkko Koivikko2022-03-314-0/+125
| | | | | | Task-number: QTBUG-102166 Change-Id: Idab8a407f28d3977b08af98d1b2b8b64a1a8eb72 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Blacklist: test cases blacklisted in styles:CI Insignificant Platforms Monitor Bot2022-03-081-0/+4
| | | | | | | | | | - tst_styles::compile on qnx Pick-to: 6.2 Pick-to: 6.3 Task-number: QTBUG-101536 Change-Id: I9906304750f79f32c467bda099245f0a2f9de6da Reviewed-by: CI Insignificant Platforms Monitor Bot <ci_insignificant_platforms_monitor_bot@qt.io>
* Blacklist: test cases blacklisted in inputpanel:CI Insignificant Platforms Monitor Bot2022-03-071-0/+3
| | | | | | | | | | - tst_inputpanel::compile on qnx Pick-to: 6.2 Pick-to: 6.3 Task-number: QTBUG-101512 Change-Id: I4a4656926e86842a645332cdcb0e4ebd4c59ee80 Reviewed-by: CI Insignificant Platforms Monitor Bot <ci_insignificant_platforms_monitor_bot@qt.io>
* Blacklist more test_fullScreenModeSelectionHandles rowsMitch Curtis2022-02-221-0/+4
| | | | | | | | | | | Row 2 and 3 are failing and need investigation. Adds to 4fc7cf56cef4f835ecbef8ed0ed0adb932a6d016. Task-number: QTBUG-97830 Pick-to: 5.15 6.2 6.3 Change-Id: I522ce7eff0021faacf8bf67c252671095bd61dd0 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* Remove unused Java-style iterator includesMarc Mutz2022-01-292-2/+0
| | | | | | | | The code doesn't use them (anymore). Pick-to: 6.3 6.2 Change-Id: Ibff7e8b3fe5cc42c3d1fd065e11dcf395859e5f5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove unused .qrc filesJoerg Bornemann2022-01-183-17/+0
| | | | | | | Task-number: QTBUG-94446 Change-Id: I46bcfdb89dda3c8f28bc25ef1d89413f64b4307b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* Blacklist tst_plugin::test_hangulInputMethod:row 24Mitch Curtis2021-11-011-0/+4
| | | | | | | | | | This fails on at least Ubuntu and openSUSE. Until it receives further investigation, blacklist it so we can unblock CI. Task-number: QTBUG-97901 Pick-to: 6.2 Change-Id: Iabed1c9c25e36f9db06f9468227c183dbd16e3f6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Blacklist certain tests that check selection handle positionsMitch Curtis2021-11-011-0/+9
| | | | | | | | | | | | These fail on at least Ubuntu and openSUSE. From what I can see, the expected position that the tests use for the handle is incorrect. Until this receives further investigation, we should blacklist it to unblock CI. Task-number: QTBUG-97830 Pick-to: 6.2 Change-Id: Id2fedcd18479ac730306de21472ecfe65e616779 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Only reparent the InputPanel when necessaryVolker Hilsheimer2021-10-185-0/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The input panel needs to work also while a modal popup is open. Since the concept of modality does not exist in Qt Quick, and is implemented with an event-eating overlay, 4e8b3dd45ae4cc66a1b77cce901f80406b2a0f69 introduced the automatic reparenting of the integrated input panel so that it a sibling of the overlay, with a higher z-value. This effectively changed the parent item, and had negative side effects to mechanisms such as anchoring. This change only reparents the input panel if there is an overlay (using the mechanism also used by the Qt Quick Control class QQuickOverlay) that is visible when the input item changes, and sets the z-value to be one above the overlay's. The prevents modal blocking during the overlay session. When the input item changes again and the overlay is no longer visible, then the parent and z value get reset. This improves the situation, but is still not ideal, as during modal sessions the anchoring of the input panel will still not work as expected. Add a test case that verifies that clicks go through to the keyboard while a modal dialog is open. Fixes: QTBUG-97075 Task-number: QTBUG-56918 Task-number: QTBUG-92881 Pick-to: 6.2 5.15 Change-Id: I7a5bcfebe7b69780234737a2311e08b2a6f60a4e Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* CMake: Bump almost all cmake_minimum_required calls to 3.16Alexandru Croitor2021-09-221-1/+1
| | | | | | | | | | | | | Needed for subsequent change that will check and error out if the version is lower than 3.16. We do that to ensure all policies introduced by CMake up to version 3.16 have their behavior set to NEW. Pick-to: 6.2 Task-number: QTBUG-95018 Change-Id: If191def13876ed7a8a0c35d23006062c0a75e316 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* pinyin: Do not accept invalid input as pinyin initialJarkko Koivikko2021-08-101-0/+2
| | | | | | | | | | | | | | | When entering an invalid pinyin sequence, such as "fi", the engine would accept "i" as initial, which seems incorrect, because after that the word suggestions list is empty. Fix this by only accepting the character as initial if the spell parser can identify it as "endable". Fixes: QTBUG-94715 Pick-to: 5.15 6.1 6.2 Change-Id: I07d92554acb4cdf93eb7787f2090d7a2a57352f1 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* plugins/openwnn: reset() should not modify pre-edit textJarkko Koivikko2021-06-211-0/+1
| | | | | | | | | | | | | | | | | Per contract, the reset() function should not modify pre-edit text. This method is called by the input engine when the input method needs to be reset. The input method must reset its internal state only. The main difference to the update() method is that reset() modifies only the input method state, i.e. it must not modify the input context. Fix by clearing the internal state to avoid modifying pre-edit text. Task-number: QTBUG-94017 Pick-to: 5.15 6.1 6.2 Change-Id: I4482188bbe18292d3ef1721e529f09c6054baa5d Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* Fix processing of hard Qt::Key_Backspace and Qt::Key_DeleteJarkko Koivikko2021-06-211-0/+24
| | | | | | | | | | | | | | | | | | | | Even though the virtual keyboard does not support hard keys at the moment, this kind of processing could be possible in the future. In the mean time, fix processing of backspace and delete keys. In particular, if such key is pressed the pre-edit text is not empty: - Reset input method state (should not modify pre-edit) - Clear pre-edit - Return true (to indicate no further processing is required) [ChangeLog] Fix processing of hard backspace and delete keys. Fixes: QTBUG-94017 Pick-to: 5.15 6.1 6.2 Change-Id: I7035f7612e966de6d17d92e754ecd7bdb3a6e530 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* plugins/openwnn: Set word candidate index when item is selectedJarkko Koivikko2021-06-171-0/+13
| | | | | | | | | | | When an item is selected from the word candidate list, the activeWordIndex variable was not updated to match the selected index, resulting in a missed list update. Fixes: QTBUG-94560 Pick-to: 5.15 6.1 6.2 Change-Id: I5757081a1269439fe39d5b5e93dd6f43382cce15 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Cerence HWR and Cerence XT9 extension pluginsJarkko Koivikko2021-06-033-19/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cerence SDK enables two extension plugins for the Qt Virtual Keyboard. - Cerence HWR: Handwriting extension know previously as T9 Write - Cerence XT9: Advanced keyboard extension, supporting various languages This commit removes the previous T9 Write extension and reintroduces it as the Cerence HWR extension. This commit also adds the Cerence XT9 as a new feature. The Cerence HWR can also utilize the XT9 for some additional features. Here is a list of changes made to the handwriting extension: - Move the T9 Write extension to the general "cerence" directory, which allows data and code to be shared between T9 Write and XT9. - Update unpack.py to match the latest Cerence SDK. Drop support for legacy delivery rules, as they interfere with the latest SDK. - Alphabetic API was renamed from decuma* to decumaUcr at version number 21 - Add extra parameter to BeginArcAddition and set bMinimizePreProcessing to 1 to avoid defining the parameter. - Do not pass the support lines to engine as they are not supported/needed. For example, the latest CJK SDK returns error when the support lines are defined. - Remove reference to decumaFunctionalSupport.h, which is not part of the official SDK. As a consequence, disable support for recognition interrupt, which is not critical feature anyway. - Fix several compiler warnings. - Enable UCR mode for new languages. - Filter out duplicate candidates (after case formatting) - Use handwriting recognition timeout setting - Check and recover from an init failure when UCR not supported - Use common dictionary management with XT9 - Add user defined search path for HWR db QT_VIRTUALKEYBOARD_T9WRITE_DB_PATH - Use generic dictionary API - Add user dictionary (DLM) - Limit too many simultaneous input - Add support for the latest SDK (removed support from previous versions of the SDK) - Add support for background recognition supported by the engine. This improves latencies and removes delays in certain situations. - Clear old traces from screen after specified delay. Previously, old traces were cleared from the screen based on the information from the engine to identify strokes of the recognized characters. Unfortunately, the engine does not provide this information at the same detail in UCR mode. This change introduces a timer-based approach, where traces are removed after a specified time, calculated from the recognition result. This time can be adjusted in the virtual keyboard settings. - Add auto correction for alphabetic languages - Add predictions from custom dictionary (XT9 Nav) - Fix language id mapping between Qt6 QLocale::Language and Cerence HWR. Change-Id: Iff4daea67cbb8adee1caf2e9513198482da48a38 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* Fix flaky test test_wclAutoCommitWordSettingJarkko Koivikko2021-06-032-7/+13
| | | | | | | | | | | Use signal spy to observe the auto commit. This should be reliable since it is triggered by QVirtualKeyboardSelectionListModel in the event of auto commit. Change-Id: I91c49c33e92df5e3d8fbdefee9c7f03e498bceeb Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Use fixed qt_add_resource BASE argumentJoerg Bornemann2021-05-221-1/+1
| | | | | | | | Pick-to: 6.1 Task-number: QTBUG-86726 Change-Id: I9b86f09db8539a21c30414b24f6dddef057f230f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove qmake project filesJarkko Koivikko2021-05-0510-290/+0
| | | | | | Task-number: QTBUG-88742 Change-Id: I9fb1b29a1827a5c10a8d44a1e51f0ee5fb436000 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove qmake project filesJoerg Bornemann2021-04-3013-263/+0
| | | | | | | Task-number: QTBUG-88742 Change-Id: Ide456bc0f6d1c5613e83d500717acdd37cbbbf81 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Refresh keyboard layouts and styleJarkko Koivikko2021-04-132-19/+26
| | | | | | | | | | | | | | | | | | | | | | This change makes significant and hopefully aesthetically pleasing changes to the look of the virtual keyboard. The main changes include: - New modern and minimalist layout for keys - New style with better contrast and attractive appearance - Reduced the number of function keys by eliminating the right shift key as well as combining hide keyboard, language and handwriting keys to the new function key (on the left side of the space bar). [ChangeLog] Refresh keyboard layouts and style. [ChangeLog][Styles] Added new styling properties for the new function popup menu. Change-Id: Ie1e4fa33b98331264bf0106e1d1bbdccc43c596f Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tests: Improve error message if keyboard key not found (numeric value)Jarkko Koivikko2021-03-051-2/+2
| | | | | | | Pick-to: 6.1 Change-Id: Ic8042404b83147e91ed34bf2bfd5a6a52d721999 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add Stroke and Romaji values to the InputMode enumerationJarkko Koivikko2021-03-051-0/+8
| | | | | | | | [ChangeLog] Added Stroke and Romaji values to the InputMode enumeration. Pick-to: 6.1 Change-Id: I03d131c78fae7bf52b8778f7286267d5fc60af94 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Do not trigger word reselect when focus is set programmaticallyJarkko Koivikko2021-02-121-0/+3
| | | | | | | | | | | | | | | | | | When focus is set programmatically (not by mouse, touch or keyboard), keyboard state is empty, which evaluates into condition that triggers word reselection. This should not happen, as it does not happen during normal focus event. Fix the issue by setting new keyboard state during focus object set. The word reselection code already has a check in place for an empty state before reselection can happen. Therefore, the new state will prevent word reselection. Pick-to: 6.1 Change-Id: Ic5c24dbf7039da9736a6f4e916a32a04f62769dc Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add generic dictionary API for the virtual keyboard v2Jarkko Koivikko2021-01-2915-1/+435
| | | | | | | | | | | | | | | | | | - Dictionary manager API provides applications methods to create custom dictionaries for use in the virtual keyboard input methods. - The dictionaries can be activated from both C++ and QML. v2: Update CMake project [ChangeLog] Added a generic dictionary API. The API allows applications to create/update/remove dictionaries at runtime. The desired dictionaries can be activated from the application. The implementation of the dictionaries depends on the input method. A typical use case for this API would be a phone book. Change-Id: I8fcb931eff2adff80b4a458a676ba25d51df2ec9 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* tests: Fix test_wclAutoCommitWordSetting with Next Word PredictionJarkko Koivikko2021-01-181-2/+2
| | | | | | | | Rather than checking the amount of word candidates, verify auto commit by comparing the contents of the text editor. Change-Id: I6007f29676efbb192fad76236ff0e6140352ab9c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Sort language list by active languagesJarkko Koivikko2021-01-181-0/+24
| | | | | | | | [ChangeLog] The language list can now be sorted in any order by specifying the order in the active language list. Change-Id: Id61433a9d4503c1fe779b3b9377c3346d457c777 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix activation of input panel when initial active focus is setJarkko Koivikko2021-01-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Never change m_visible state internally. Instead, m_visible is merely a parameter which affects to actual visible state. The m_visible state should correspond to latest showInputPanel() or hideInputPanel() call. The actual visible state is evaluated in the evaluateInputPanelVisible() method, which factors in other parameters, such as input focus and Qt::ImEnabled. Speaking of Qt::ImEnabled, this change also optimizes out one input method query during frequently called update() method by using QPlatformInputContext::inputMethodAccepted() instead. [ChangeLog] It is now possible to open the input panel implicitly when activating the window. Before, this failed because the "visible" state was reset (due to a bug) during activation. Fixes: QTBUG-86190 Pick-to: 5.15 Change-Id: I31b73f8a29c5e51de60836ea1ccab70547bad0a0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
* Drop lipi-toolkitJarkko Koivikko2021-01-151-2/+2
| | | | | | | | Since it has not been maintained, it has become a burden in Qt6. Fixes: QTBUG-90297 Change-Id: I41a7045640272881cab003167f1671fbb019f9a6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* CMake: Fix 'static' conditionsJoerg Bornemann2020-12-174-4/+4
| | | | | | | | | The pro2cmake script doesn't handle static scopes correctly, and the generated "CONDITION static" must read "CONDITION NOT QT_BUILD_SHARED_LIBS". Change-Id: I41b4ef4fca95421ef681bce853afcd8188bd7e62 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Suggest phrases based on the last selected word of pinyinNiu Shouwei2020-12-091-0/+2
| | | | | | | | | | The prediction was based on the previous character instead of the last one. Fixes: QTBUG-89018 Change-Id: Ib48040fc922bf0e3e02a7912be2b0d8919a81658 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* CMake: Regenerate projects to use latest CMake APIAlexandru Croitor2020-11-268-17/+17
| | | | | | Change-Id: I7a89b966988542ae36c5fbd0c09adcdf4873457f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove all version numbers from QML importsMitch Curtis2020-10-2210-66/+66
| | | | | | | | | | | As of Qt 6, the latest version will be used by default. This saves us a lot of effort in terms of version bumps. A similar change was done to qtquickcontrols2 in d451cab0c8b727fa7f12a169a3d6ee449a3a1902. Change-Id: I092b8a5988b69f3018f8199cac2aeaaafdf4bc38 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-071-1/+1
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: Ib4bfcab0dfcecabeced78a5ec4389773c2e84a10 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-295-10/+10
| | | | | | | Task-number: QTBUG-84469 Change-Id: I808bff554878809d7921db2e2b54356f56a1c40f Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix cursor position in Japanese inputJanne Myöhänen2020-06-221-0/+33
| | | | | | | | | | Fix cursor position in Japanese input when suggestion is selected. The selected text is set as preedit text just before committing. Fixes: QTBUG-74664 Change-Id: I7d1dd35fad8b844f5849c3006145c69792ce8725 Pick-to: 5.15 5.12 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Initial CMake port of QtVirtualKeyboardMårten Nordheim2020-05-1213-1/+333
| | | | | | | | | | | | | | | | | | | This port makes sure that all the features that are currently tested in the CI are complete and that the tests pass. lipi-toolkit can't be tested since it's currently broken in qmake. Myscript wasn't tested as it is also not tested in coin and the SDK is not available. T9Write wasn't tested as the SDK is not avaialble. Removed outdated src/virtualkeyboard/styles/styles.pro. The styles seem to be in src/styles now. Change-Id: Ibba41d592c51a19dee63840c02a945ec7b1d721e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Get rid of the last QRegExp usages in the moduleLars Knoll2020-03-312-2/+3
| | | | | | Change-Id: I061dc7251745dbef0a03d631820f929c73d4708e Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Auto-capitalize only after space following a sentence-ending characterv5.15.0-beta3Volker Hilsheimer2020-03-261-0/+2
| | | | | | | | | | | | | | | A dot alone should not change to capital letters, only the space following the dot. This is standard behavior on mobile platforms. In inputmethods that support auto-completion and auto-space-insertion, we need to watch out if the auto-inserted space triggered auto- capitalization. If so, then the inserted text needs to be capitalized even though the keyboard will have shown lower-case characters. Fixes: QTBUG-77673 Change-Id: Icd907055d6557a7756468318fba5669eb8f62a28 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>