summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx
Commit message (Collapse)AuthorAgeFilesLines
* QNX QPA: Scale window and backing store sizesMauro Persano2025-11-203-8/+20
| | | | | | | | | | | Properly scale QWindow and QBackingStore logical sizes when creating/updating buffers and window system events. Pick-to: 6.10 6.8 6.5 Task-number: QTBUG-141834 Change-Id: I79e22b7bb94fec0857a742be31f5e2f4a4fd2942 Reviewed-by: James McDonnell <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* Use Q_ENUM/Q_FLAG instead of Q_ENUMS/Q_FLAGSAhmad Samir2025-11-201-1/+1
| | | | | | | | | Q_ENUMS and Q_FLAGS have been deprecated since at least Qt 6.0. Task-number: QTBUG-99060 Change-Id: Ia8cbc607c34683dec99587571c0d04f1854e77c2 Reviewed-by: Marc Mutz <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Remove Qt::WindowType::Desktop in QNX platform implementationAxel Spoerl2025-09-274-26/+5
| | | | | | | | | | Qt::WindowType::Desktop is no longer a valid window type in Qt6. Remove its occurence in QNX platform implementation. Task-number: QTBUG-140514 Change-Id: I0dcfccdd08dc3f6f14c14ad141b15a0b726b605e Reviewed-by: James McDonnell <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* Replace qFatal() statements with qWarning() in case of failed queriesTuomas Vaarala2025-04-031-4/+6
| | | | | | | | | | | | In some cases the QNX events can be stale ie. referring to a window object that is already destroyed. This is not necessarily a fatal condition, but there are some qFatal() statements in this case which could be removed. Fixes: QTBUG-135076 Pick-to: 5.15 6.5 6.8 6.9 Change-Id: I885fa95c323590a814176b8a70ef5b7ee332012c Reviewed-by: James McDonnell <[email protected]>
* QNX desktop supportFelix Lionardo2025-01-246-15/+123
| | | | | | | | | | Adds functionality to communicate with a desktop manager. This feature is only enabled if "desktop" is added to the QT_QPA_PLATFORM environment variable (e.g., "QT_QPA_PLATFORM=qnx:no-fullscreen:desktop"). Pick-to: 6.9 6.8 Change-Id: If98e0dda43692abce47f2d8f5f340bd7276ec901 Reviewed-by: James McDonnell <[email protected]>
* Disable incremental updates for raster windows on QNXFelix Lionardo2025-01-242-1/+22
| | | | | | | | | | Incremental updates don't always work due to a misinterpretation of the rectangles passed in by the upper layers. Pick-to: 6.9 6.8 Change-Id: Id30c97f80904209726b3aaf37c52b2e14ee2f187 Reviewed-by: James McDonnell <[email protected]>
* qpa: lazily populate the services object except xcbLiang Qi2025-01-212-6/+5
| | | | | | | | | | | In order to optimize the footprint of QPA plugins, we avoid to create QPlatformServices object in QPlatformIntegration constructor. It benefits embedded platforms and others. Task-number: QTBUG-130884 Pick-to: 6.9 6.8 6.5 Change-Id: I5c0d2616ace9fbc0e077eece32d8836b40fc83dd Reviewed-by: Volker Hilsheimer <[email protected]>
* Replace qdebug.h includes in public headers with forward-declarationsAhmad Samir2025-01-151-5/+1
| | | | | | | | | | | | | | | | | | | qdebug.h includes many Qt and STL headers, so if you include a Qt header you get all those transitive includes, which may affect build time. - Where appropriate use the printf-like syntax of qDebug() and co., these don't need the QDebug streaming operators - qfloat16 is used in an inline member function, so include it explicitly [ChangeLog][Potentially Source Incompatible Changes] Various Qt public headers don't include QDebug any more; if you need QDebug's streaming you'll have to include it in your code. Task-number: QTBUG-132439 Pick-to: 6.9 Change-Id: I750587e17a3b38fa226cd3af8eaccc8da580f436 Reviewed-by: Thiago Macieira <[email protected]>
* Enable platforminputcontext in QNX QPA without PPSTuomas Vaarala2024-10-032-12/+9
| | | | | | | | | | | | | Platforminputcontext is needed for Qt Virtual Keyboard to work thus it needs to be enabled without to condition to PPS. PPS is removed in QNX 8.0 and the condition would never be met. It is safe to enable platforminputcontext without condition for QNX 7.x as well since it is needed for Qt VKB anyways. Fixes: QTBUG-129436 Pick-to: 6.8 Change-Id: I82230d1411e54713a2dabadf5a8dff3ca5455fbb Reviewed-by: James McDonnell <[email protected]>
* Ignore screen create events for other than window object typeTuomas Vaarala2024-10-021-1/+25
| | | | | | | | | | | | Previously the screen create event was only handled for window. With QNX 8.0 there seems to be also screen create events for display and device. The property query returns ENOTSUP (Not supported) so we simply ignore other than window create event. Fixes: QTBUG-129213 Pick-to: 6.8 Change-Id: Ia7da693f06f6590d349595ecde6b303fab145bc0 Reviewed-by: James McDonnell <[email protected]>
* QQnxScreenEventHandler: use QBasicTimer instead of raw timer idsAhmad Samir2024-08-312-10/+8
| | | | | Change-Id: I03ff326c2aa857d8c35a390f7553c060c1c3b3f7 Reviewed-by: Thiago Macieira <[email protected]>
* [QNX] Return Qt::Key_Clear when numpad key 5 is pressed without num lockTuomas Vaarala2024-06-041-1/+1
| | | | | | | | | | | | Based on the documentation, the numeric keypad key 5 is commonly mapped to Qt::Key_Clear, when Num Lock is off. Previously the number 5 was returned also when the Num Lock is off which caused an ui application being unable to disable the numpad key number 5 when numlock is off. Fixes: QTBUG-125958 Pick-to: 6.5 6.7 Change-Id: I62f7521376890a201cd11abf78847bcb0eb1752a Reviewed-by: James McDonnell <[email protected]>
* [QNX] Use QRhiBackingstore for non-raster surface windowsTuomas Vaarala2024-05-161-2/+14
| | | | | | | | | | | | | | | Since the change to use compose render-to-texture widgets through QRhi, the RasterGLSurface is not existing anymore and it was used in QNX QPA to check the support for using backingstore with non-raster windows. With the use of QRhiBackingstore the QNX QPA now supports render-to-texture widgets for non-raster surface windows. Fixes: QTBUG-114938 Task-number: QTBUG-114938 Pick-to: 6.5 6.6 6.7 Change-Id: I01d4a34efe4902a527051776b0460ccf22e5d232 Reviewed-by: Tor Arne Vestbø <[email protected]> Reviewed-by: Marianne Yrjänä <[email protected]>
* Change the -qpa configure argument logicAlexey Edelev2024-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parse the -qpa configure argument as list and translate it to the QT_QPA_PLATFORMS cmake variable. This variable is new to the Qt build procedure. The QT_QPA_DEFAULT_PLATFORM variable supposed to get multiple values, but this didn't work at all, since the variable value then was used in the compile definition that is expected to be a single value QPA platfrom definition. This inconsistency forced to introduce a new variable. The QT_QPA_DEFAULT_PLATFORM variable now controls the first-choice QPA plugin for the GUI applications. The new configure argument -default-qpa is now translated to the QT_QPA_DEFAULT_PLATFORM variable instead the of -qpa one. The -qpa configure argument is now translated to the QT_QPA_PLATFORMS variable, which is new one as well. The variable contains the list of QPA plugins that are "default" for this Qt configuration. The meaning of the "default" plugins is related to the DEFAULT_IF argument of qt_internal_add_plugin command. Plugins that are listed in the QT_QPA_PLATFORMS variable will be treated as default by the build system and will be deployed within user applications when using deployment API or linked statically when using static Qt. The QT_QPA_DEFAULT_PLATFORM falls back to the QT_QPA_PLATFORMS first value in the list if it's not set explicitly and either '-DQT_QPA_PLATFORMS' or '-qpa' arguments are specified. [ChangeLog][CMake] Added QT_QPA_PLATFORMS variable which controls the list of QPA plugins that will be deployed within the applications by default. [ChangeLog][CMake] The '-qpa' configure argument now is mapped to the QT_QPA_PLATFORMS variable and has different functionality. It doesn't control the platform plugin that the GUI application is using by default, but controls the list of QPA plugins that will be deployed within the applications by default. [ChangeLog][CMake] Added '-default-qpa' argument which replaces the '-qpa' one. The argument is translated to the QT_DEFAULT_QPA_PLATFORM CMake variable and selects the default platform that should be used by GUI application if QT_QPA_PLATFORM environment variable is not set. Task-number: QTBUG-124265 Task-number: QTBUG-87805 Task-number: QTBUG-124449 Change-Id: Ibcebaccc535aaed6374f15ccfeddb3e6128f5ce0 Reviewed-by: Alexandru Croitor <[email protected]>
* [QNX] Add support for QLoggingCategory in QNX QPA debug log outputTuomas Vaarala2024-04-2934-347/+299
| | | | | | | | Makes it possible to enable debug log outputs via QLoggingCategory. Earlier it was only possible via buid time flags. Change-Id: Iaec732e7acdf44a74c9d7c806bf0e6f5a5f87b1c Reviewed-by: James McDonnell <[email protected]>
* Rename QWSI::handleWindowActivated to QWSI::handleFocusWindowChangedTor Arne Vestbø2023-11-231-1/+1
| | | | | | | | | | | | | | | | | | | A single QWindow is QGuiApplication::focusWindow() at a time, and this window is typically also QWindow::isActive(), but other windows may also be QWindow::isActive(). For example, we treat any sibling or ancestor of the focusWindow as being QWindow::isActive() as well. In addition, in the case of non-QWindow child windows, we may have to query the platform for the activation state, which means we also need a way for the platform to reflect changes in this state through QWSI. The current API for this, QWSI::handleWindowActivated, is in practice a focus window change API, so as a first step let's rename it to better reflect what it's doing. Task-number: QTBUG-119287 Change-Id: I381baf8505dd13a4a829c961095a8d2ed120092b Reviewed-by: Richard Moe Gustavsen <[email protected]>
* Remove forward declared QHashAlexey Edelev2023-11-061-2/+2
| | | | | | | | | | | Fixes the complication issue since the typedef was used as class member. Replace the typedef with using statement. Fixes: QTBUG-118627 Pick-to: 6.6 6.5 Change-Id: Ie3d341fb8f18a7341d018f51947127ace941a620 Reviewed-by: James McDonnell <[email protected]> Reviewed-by: Ivan Solovev <[email protected]>
* platform plugins: use string view types moreAnton Kudryavtsev2023-10-081-1/+1
| | | | | | | Change-Id: I793cfff1afca6b98a672615e33a19f8210e429dd Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Mårten Nordheim <[email protected]>
* Mark all of Qt as free of Q_FOREACH, except where it isn'tMarc Mutz2023-08-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | The density of Q_FOREACH uses in this and some other modules is still extremely high, too high for anyone to tackle in a short amount of time. Even if they're not concentrated in just a few TUs, we need to make progress on a global QT_NO_FOREACH default, so grab the nettle and stick to our strategy: Mark the whole of Qt with QT_NO_FOREACH, to prevent new uses from creeping in, and whitelist the affected TUs by #undef'ing QT_NO_FOREACH locally, at the top of each file. For TUs that are part of a larger executable, this requires these files to be compiled separately, so add them to NO_PCH_SOURCES (which implies NO_UNITY_BUILD_SOURCES, too). In tst_qglobal.cpp and tst_qcollections.cpp change the comment on the #undef QT_NO_FOREACH to indicate that these actually test the macro. Task-number: QTBUG-115839 Change-Id: Iecc444eb7d43d7e4d037f6e155abe0e14a00a5d6 Reviewed-by: Edward Welbourne <[email protected]>
* Mark QNX plugin as free of Q_FOREACH, except where it isn'tMarc Mutz2023-08-126-0/+18
| | | | | | | | | | | | | | | | | The density of Q_FOREACH uses is high here, too high for this author to tackle in a short amount of time. But they're concentrated in just a few TUs, so pick a different strategy: Mark the whole plugin with QT_NO_FOREACH, to prevent new uses from creeping in, and whitelist the affected TUs by #undef'ing QT_NO_FOREACH locally, at the top of each file. Since the TUs are part of a larger executable, this requires these files to be compiled separately, so add them to NO_PCH_SOURCES (which implies NO_UNITY_BUILD_SOURCES, too). Task-number: QTBUG-115839 Change-Id: I42c26cb5d95add115e57cc484a0e1a93ed368ddd Reviewed-by: James McDonnell <[email protected]>
* Resolve duplicate symbolsAmir Masoud Abdol2023-04-196-9/+16
| | | | | | | | | | Turn some of the static variables into private static data members to avoid symbol duplication during the unity build. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I9e3ee18f6e85a0f806de77f753d89a45ceaff7ac Reviewed-by: Alexandru Croitor <[email protected]>
* src: Remove remains of qmake conversion from CMakeLists.txt filesFriedemann Kleint2023-02-101-9/+1
| | | | | | Pick-to: 6.5 Change-Id: Id644d322a602038403bb7f46c532744575fbf6d3 Reviewed-by: Alexey Edelev <[email protected]>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-111-1/+1
| | | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace, with manual unstaging of the actual definition and documentation in dist/, src/corelib/doc/ and src/corelib/global/. Task-number: QTBUG-99313 Change-Id: I4c7114444a325ad4e62d0fcbfd347d2bbfb21541 Reviewed-by: Ivan Solovev <[email protected]>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* Fix several more improperly placed #include mocThiago Macieira2022-08-041-2/+2
| | | | | | | | | | | | | Like commit qtbase/638893bea083b619b73b33a7dd5589fb2c4c4242. Script to find them: git grep -l '#include.*moc' \*.cpp \*.mm | \ xargs awk '/QT_BEGIN_NAMESPACE/ { i=1 } /QT_END_NAMESPACE/ { i=0 } /#include.*moc/ && i { print ARGV[ARGIND], $0 }' Pick-to: 6.4 Change-Id: I6f936da6f6e84d649f70fffd17058fd05cfc5c6d Reviewed-by: Fabian Kosmale <[email protected]>
* Add license headers to cmake filesLucie Gérard2022-08-031-0/+3
| | | | | | | | | | | | 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: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-05-1658-2206/+118
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* Plugins: use _L1 for for creating Latin-1 string literalsSona Kurazyan2022-05-044-9/+17
| | | | | | | | | As a drive-by, fix qsizetype -> int narrowing conversion warnings for the touched lines. Task-number: QTBUG-98434 Change-Id: I7fadd3cf27ad099028d70f05956303e3af62c0f5 Reviewed-by: Marc Mutz <[email protected]>
* Plugins: stop using QLatin1Char constructor for creating char literalsSona Kurazyan2022-05-021-1/+1
| | | | | | | | | | | Required for porting away from QLatin1Char/QLatin1String in scope of QTBUG-98434. As a drive-by, fix qsizetype -> int narrowing conversion warnings for the touched lines. Change-Id: Id76add7e86b6dfb89f758a9efb0644067f0f44de Reviewed-by: Marc Mutz <[email protected]>
* QNX: remove mmrenderer overlay window supportRafael Roquetto2022-03-245-117/+21
| | | | | | | | | QtMultimedia no longer supports overlay windows. The QNX multimedia plugin now relies on the canonical rendering codepath via QVideoWindow. Change-Id: Ic3bb14865f147a47200554e4791c191540e5bb75 Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: James McDonnell <[email protected]>
* QNX: always create buffers for child windowsRafael Roquetto2022-03-212-21/+7
| | | | | | | | | | | | | | | | | The QNX raster backend worked on the assumption that child windows were sharing their parent toplevel window buffer instead, and thus did not have a buffer of their own. This piece of code dates back from the BlackBerry days, and I am guessing the motivation was to tackle mmrenderer/foreign windows. In fact, not having buffers causes QWindow to malfunction, as independent buffers are required. This patch makes sure every QQnxWindow has a backing buffer, as expected. Foreign widnows shall be dealt with via different means. Change-Id: I059ac4f8ac684b3577048f874f82b866f21326b1 Reviewed-by: James McDonnell <[email protected]>
* Misc: Do not depend on transitive includesFabian Kosmale2022-03-172-0/+4
| | | | | | | | As a drive-by, remove superfluous includes from qnetworkmanagerservice.h and obey the coding conventions for includes in a few more places. Change-Id: I65b68c0cef7598d06a125e97637040392d4be9ff Reviewed-by: Thiago Macieira <[email protected]>
* QNX: Fix compiler warning by adding default return valuePasi Petäjäjärvi2022-03-091-0/+2
| | | | | | | | | | | In static member function 'static QQnxAbstractVirtualKeyboard::EnterKeyType QQnxAbstractVirtualKeyboard::qtEnterKeyTypeToQnx(Qt::EnterKeyType)': warning: control reaches end of non-void function [-Wreturn-type] Pick-to: 6.2 6.3 Task-number: QTBUG-101382 Change-Id: If3b0eda5d36257b0fbed54fb0a032c3b9d7ff989 Reviewed-by: James McDonnell <[email protected]>
* QNX: Fix compiler warnings by using correct format specifiersPasi Petäjäjärvi2022-03-091-4/+4
| | | | | | | | | | | | | | | Also change qt_safe_read to use correct return value. warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Wformat=] warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'ssize_t' {aka 'long int'} [-Wformat=] Pick-to: 6.2 6.3 Task-number: QTBUG-101382 Change-Id: I1ee42b84a477451a98838c8cea3cca7c73f7cbaa Reviewed-by: James McDonnell <[email protected]>
* Remove .prev_CMakeLists.txtKai Köhne2021-12-061-91/+0
| | | | | | | | These are left-overs from the initial qmake2cmake conversion. Pick-to: 6.2 Change-Id: Ie15c9ff022ea4566d10c1ba74599de9af83d29a7 Reviewed-by: Alexandru Croitor <[email protected]>
* QPA: Set focus reason when window activation changes focusVolker Hilsheimer2021-12-031-1/+1
| | | | | | | | | | | | | | | QApplication hides the fact that the reason is never set by several QPA plugins, but Quick items don't receive the correct reason on Windows, Android, the offscreen plugin, and other platforms. Add relevant scenario to the QFocusEvent test case, and fix the plugins to always set the focus reason when handling window activation changes. Exclude the minimal plugin from the test, it seems largely unmaintained anyway. Task-number: QTBUG-75862 Change-Id: I5404a225b387fc9a3851b6968d0777c687127ed1 Reviewed-by: Tor Arne Vestbø <[email protected]>
* qnx: Fix typos in source code commentsJonas Kvinge2021-12-023-3/+3
| | | | | Change-Id: I6420e14e3de9c7efc7d5073f44ccfd7ee9b88ea6 Reviewed-by: Kai Koehne <[email protected]>
* CMake: Rename qt6_add_plugin TYPE option to PLUGIN_TYPEAlexandru Croitor2021-08-061-1/+1
| | | | | | | | | | | | | The intention is to remove TYPE as a keyword completely before 6.2.0 release, but in case if that's not possible due to the large amount of repositories and examples, just print a deprecation warning for now and handle both TYPE and PLUGIN_TYPE. Task-number: QTBUG-95170 Pick-to: 6.2 Change-Id: If0c18345483b9254b0fc21120229fcc2a2fbfbf5 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Don't give plugins PUBLIC usage requirements part 2Alexandru Croitor2021-07-151-4/+4
| | | | | | | | | | | | | Plugins shouldn't have public usage requirements. Amends 434ada8dcb6132b3a597ea56b57a66c627f51728 Pick-to: 6.2 Task-number: QTBUG-90819 Change-Id: Iffb3def07ea428b1c3c5b9873e259a4d5168b7a1 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
* Remove Qt6 ifdef switches from pluginsAllan Sandfeld Jensen2021-05-071-4/+0
| | | | | | | Removing dead code Change-Id: I368fcec95d230e1face18062ff19704608354654 Reviewed-by: Friedemann Kleint <[email protected]>
* Add QNX qpa to buildsMarianne Yrjänä2021-04-133-3/+188
| | | | | | | | Task-number: QTBUG-91234 Pick-to: 6.1 6.1.0 Change-Id: I978aff101ce29d2df74ced801911426ccd56e997 Reviewed-by: Rami Potinkara <[email protected]> Reviewed-by: James McDonnell <[email protected]>
* Remove the qmake project filesJoerg Bornemann2021-01-071-124/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Kai Koehne <[email protected]>
* Another round of replacing 0 with nullptrAllan Sandfeld Jensen2020-10-0711-24/+24
| | | | | | | | | This time based on grepping to also include documentation, tests and examples previously missed by the automatic tool. Change-Id: Ied1703f4bcc470fbc275f759ed5b7c588a5c4e9f Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Friedemann Kleint <[email protected]>
* Cleanup API of QMimeDataLars Knoll2020-09-211-2/+2
| | | | | | | | | | | | | Do not use QVariant::Type anymore, instead use QMetaType For some reason, this pushed the qvariant autotest over the limit where MSVC requires the /bigobj flag, so add that one. [ChangeLog][QtCore][QMimeData] The signature of the virtual retrieveData() function has changed and now takes a QMetaType instead of a QVariant::Type. Change-Id: Ib46773bd731ee2177b1ef74d8162d744be7017ef Reviewed-by: Mårten Nordheim <[email protected]>
* QNX: fix buildSamuli Piippo2020-08-121-2/+2
| | | | | | | | Remove unused argument and use default contructor for the flags. Change-Id: I09d319bc58199ed713333055a2fdd519c249f831 Reviewed-by: Ville Voutilainen <[email protected]> Reviewed-by: James McDonnell <[email protected]>
* QNX: register mouse input deviceSamuli Piippo2020-08-122-8/+27
| | | | | | | | | | Use the new QWSI APIs that take a registered input device. Task-number: QTBUG-85852 Change-Id: Iefb8239a60ff819172ba64f35f120cdc6975257f Reviewed-by: Ville Voutilainen <[email protected]> Reviewed-by: James McDonnell <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]>
* QNX: adapt to new event APIsSamuli Piippo2020-08-051-9/+40
| | | | | | | | | | | Use the new event APIs and split the single mouse event into three separate events (move, press, release). QNX events only give us current state, deduce the pressed and released buttons by comparing to the previous state. Change-Id: I9e647922679ddb792b10cb5e6ceee7ede4878444 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: James McDonnell <[email protected]>
* Move eglconvenience to QtGuiFriedemann Kleint2020-07-132-3/+2
| | | | | | | Task-number: QTBUG-83255 Change-Id: I8a008d8906308dd73a0793db5b88d3a1b6fdaf5c Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* Refactor pointer event hierarchyShawn Rutledge2020-07-101-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some goals that have hopefully been achieved are: - make QPointerEvent and QEventPoint resemble their Qt Quick counterparts to such an extent that we can remove those wrappers and go back to delivering the original events in Qt Quick - make QEventPoint much smaller than QTouchEvent::TouchPoint, with no pimpl - remove most public setters - reduce the usage of complex constructors that take many arguments - don't repeat ourselves: move accessors and storage upwards rather than having redundant ones in subclasses - standardize the set of accessors in QPointerEvent - maintain source compatibility as much as possible: do not require modifying event-handling code in any QWidget subclass To avoid public setters we now introduce a few QMutable* subclasses. This is a bit like the Builder pattern except that it doesn't involve constructing a separate disposable object: the main event type can be cast to the mutable type at any time to enable modifications, iff the code is linked with gui-private. Therefore event classes can have less-"complete" constructors, because internal Qt code can use setters the same way it could use the ones in QTouchEvent before; and the event classes don't need many friends. Even some read-accessors can be kept private unless we are sure we want to expose them. Task-number: QTBUG-46266 Fixes: QTBUG-72173 Change-Id: I740e4e40165b7bc41223d38b200bbc2b403e07b6 Reviewed-by: Volker Hilsheimer <[email protected]>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-072-2/+2
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <[email protected]>