summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* QIcc: fix alignment concerns in ICC profile parsingAndrei Golubev2020-09-152-86/+103
| | | | | | | | | | | Updated QIcc::fromIccProfile() and friends to not rely on QByteArray pointer alignment. Used qFromUnaligned() instead Task-number: QTBUG-84267 Pick-to: 5.15 Change-Id: I69ef7e011707bec27cd84693e7f0e92d79a577d1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Switch QSurfaceFormat::colorSpace to a QColorSpaceAllan Sandfeld Jensen2020-09-153-15/+49
| | | | | | | Allows more flexibility in the future. Change-Id: Idcf2d8ddaee268a7b5d55379ccb42dd9b3c33abf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Get rid of Qt4 virtual hooksAllan Sandfeld Jensen2020-09-152-73/+5
| | | | | | | | They have existed throughout Qt5, and no longer used by any QIconEngine I am aware of. Change-Id: Iab0a978be808a60fb82379467e294e2457056bae Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* rhi: gl: Eliminate duplicate glUniform callsLaszlo Agocs2020-09-142-9/+25
| | | | | | | | | | | | | | | | This can happen when there is a uniform block in the Vulkan shader with an instance name, both in the vertex and fragment shader. The members are mapped to members of a struct uniform in GLSL since we do not use uniform buffers there. Now if there is, for example, "ubuf.opacity" both in the vertex and fragment shader reflection info, then it's still just one single uniform in the GL program, using one location. Registering it twice in our 'uniforms' list is harmless, but wasteful, since it means the uniform value will be set twice upon each setShaderResources(). Change-Id: Ib646eaec333522560d631b3b81800ef610f09319 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QRhi: support matrix array types of the uniform in GLES2 backendInho Lee2020-09-141-10/+19
| | | | | | Task-number: QTBUG-83173 Change-Id: Ieda8948820a9470e3b0bc420ec7b1af09395d568 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove QPointerEvent::isPointAccepted() and setPointAccepted()Shawn Rutledge2020-09-141-2/+0
| | | | | | | | They are redundant, not in use, and got added without implementation in a81859a3c8d0f8b4367fc63988e1d653d34ed48a. Change-Id: Ifed1fbf97a8158c2801df09dac47bf1fc90795d4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Revert "Revert "CMake: Make the Vulkan dependency of QtGui optional""Joerg Bornemann2020-09-141-1/+1
| | | | | | | | | | This reverts commit f0873a1c62cb880b2586ebda0f40e69c930c1cec. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: I5cec78b353089ca024e905795bc99cad423c2d4e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Windows: Fix clang error about copy on loopKai Koehne2020-09-141-1/+1
| | | | | | | | | | | clang on Windows shows an error: qtbase/src/gui/text/windows/qwindowsfontdatabase_ft.cpp:122:25: error: loop variable 'key' of type 'const QString' creates a copy from type 'const QString' [-Werror,-Wrange-loop-construct] for (const auto key : keys) { ^ Change-Id: Icdfa5e2a6753450213dcb96df70247c5a71c2293 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Plumb application quit through platform pluginTor Arne Vestbø2020-09-144-0/+24
| | | | | | | | | | | | | | | | | | If we have a platform plugin we ask the platform to quit, and if not we fall back to the base implementation of QCoreApplication that sends Quit events directly. This allows the platform to involve the rest of the system in the process. The platform will then come back with a spontaneous quit via QWSI::handleApplicationTermination(), which will then send the corresponding Quit even from QGuiApplication like normal. Task-number: QTBUG-45262 Task-number: QTBUG-33235 Task-number: QTBUG-72013 Task-number: QTBUG-59782 Change-Id: I0000aaf7192e4b905933c5da0e53901c6c88f26a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Revert "CMake: Make the Vulkan dependency of QtGui optional"Lars Knoll2020-09-131-1/+1
| | | | | | | | | | | | | The last 4 cmake changes broke configuring qtbase on at least Volkers and my machine (Ubuntu 20.04) Revert the changes, to unblock development of qtbase and other modules. This reverts commit 16aa8c8f4d83f2e2aaa04e6dd0e7c6dc7f854d9d. Change-Id: Id562bdac1915dba429ae4a0af6054d3e5e5e5d12 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make QStringList an alias to QList<QString>Lars Knoll2020-09-126-6/+0
| | | | | | | | | | | | | | | | | | Fix our API, so that QStringList and QList<QString> are the same thing. This required a bit of refactoring in QList and moving the indexOf(), lastIndexOf() and contains() method into QListSpecialMethods. In addition, we need to ensure that the QStringList(const QString&) constructor is still available for compatibility with Qt 5. Once those two are done, all methods in QStringList can be moved into QListSpecialMethods<QString>. Change-Id: Ib8afbf5b6d9df4d0d47051252233506f62335fa3 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename QLibraryInfo::location() to path()Lars Knoll2020-09-121-1/+1
| | | | | | | | As per ### Qt6 comment. Also rename the LibraryLocation enum to LibraryPath. Change-Id: I556025a19c5bcdf2ff52598eaba32269522d4128 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix uninitialized variableLars Knoll2020-09-121-0/+3
| | | | | | | Amends defc8414fde0ea9f52fe554e00fe2f04947b7578 Change-Id: I0a62f08cb9428e94b30f659d810c767c2bc1b4b2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: Make the Vulkan dependency of QtGui optionalJoerg Bornemann2020-09-121-1/+1
| | | | | | | | | | | | | | | Vulkan cannot be a required public dependency of QtGui, because a vulkan-enabled build of Qt will fail on a machine where the vulkan headers are not installed. We cannot make the vulkan dependency private, because we have public Qt headers that include vulkan headers. The vulkan dependency is now marked as optional, meaning consuming projects will try to find it, but there will be no error on failure. Task-number: QTBUG-86421 Change-Id: I30edfd3eaa603048f4274e77036c54d90789d3c9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix documentations string in QPagedPaintDeviceNicolas Fella2020-09-121-1/+1
| | | | | | | | pageLayout().pageOrientation() does not exist, but pageLayout().orientation() does. Pick-to: 5.15 Change-Id: I17a667b18aba284b91972422e604568e2fdbda05 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QStyle: return 'Fusion' instead of 'fusion'Richard Moe Gustavsen2020-09-121-2/+2
| | | | | | | | | | | | This change should have no impact on Widgets, since style names there are case-insensitive. But for QtQuick controls the style names are case sensitive. So in order to use the style hint from the platform theme for controls, we need to return the name with an uppercase "F". Change-Id: I360f43f174938202b0ef2cdfcde6daf39c9f39bb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove dead code and obsolete commentVolker Hilsheimer2020-09-121-8/+0
| | | | | | | | | | | | | | The special members do nothing that the compiler-generated default doesn't do, so remove them. Remove the comment introduced in d06b4ca9a1a9baf3faa83a8b0 about QBitmap inherting QPixmap being a problem. It which wasn't followed up on for Qt 6, and making QBitmap a QPaintDevice rather than a QPixmap subclass (as implied in the commit message) would result in significant code duplication. Change-Id: I8d5032062f95ab19b38eb97d17191a9b13af870f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Replace qreal with float in QColorAllan Sandfeld Jensen2020-09-112-224/+224
| | | | | | | | There is no reason to use double precision for colors. We at most have 16 significant bits anyway. Change-Id: I8b402cd978675b8ba7248176976d934363212ff1 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Minimal ABI necessary for future optimized QPixmapAllan Sandfeld Jensen2020-09-112-1/+44
| | | | | | | | Add virtual hooks that can make it possible in Qt6 to implement paint device specific pixmaps. Change-Id: Ib1d1d7b5e32d9430203f718534344b25c0ead744 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Cleanup QGradientLars Knoll2020-09-113-51/+25
| | | | | | | Tackle some cleanups scheduled for Qt 6. Change-Id: I46e6e49e3d74f49ce953a36c5611d635232d43b1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove Qt6 related commentLars Knoll2020-09-111-1/+0
| | | | | | | | We can't unexport the class, as it's being used by the OpenGL paint engine in QtOpenGL. Change-Id: I74c1bef0e4720a82679a329462e80571f0583a84 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* rhi: gl: Fix shader cache with unstable vertex input locationsLaszlo Agocs2020-09-112-38/+74
| | | | | | Task-number: QTBUG-86531 Change-Id: I9bcd314e06662e3c6cc4204b24689d61ee6cb298 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix build with -trace lttngJoerg Bornemann2020-09-111-1/+1
| | | | | | | | | | | | Fix superfluous space in qtgui.tracepoints and make tracegen more lenient towards unknown types (the ETW implementation outright ignores those). Pick-to: 5.15 Fixes: QTBUG-86546 Change-Id: I71cc323afa1009dbaefe20e55818ecb6c0b09c59 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* Do not expose xlib as public dependency of QtGuiJoerg Bornemann2020-09-113-3/+3
| | | | | | | | Consumers of QtGui should link explicitly to xlib if needed. Fixes: QTBUG-86421 Change-Id: Ibc94eb1c1ac405b53749b320c388b037bf693a08 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Do not expose ATSPI as public dependency of QtGuiJoerg Bornemann2020-09-113-3/+3
| | | | | | | | | | | | | | | This was always a compile-only dependency and atspi includes are only used in private headers. The atspi headers can never be a requirement for consumers of QtGui. In Qt5 this code was part of the QtLinuxAccessibilitySupport private module, and for that module the atspi dependency was public. This only affected users that explicitly instructed qmake to pull in the linuxaccessibility_support-private module. Task-number: QTBUG-86421 Change-Id: I23c6a1c466f86b2015dde13fca605fd26299c9db Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-generate src/gui/CMakeLists.txtJoerg Bornemann2020-09-112-24/+44
| | | | | Change-Id: Id2666c3021bcfbeec0e661129c7998977411aaee Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-generate configure.cmake filesJoerg Bornemann2020-09-102-0/+14
| | | | | Change-Id: I9c325db8031e14cf2a2cfb49e5080e3043a0811a Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Cleanup PageSize enum for Qt6Allan Sandfeld Jensen2020-09-103-157/+8
| | | | | | | Fixes B5/B6 order and removes abandoned documentation for a removed duplicate. Change-Id: I7647ee31a4ef4aa754058c8a6f68b4d4304e0043 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Clean-up of old VC6 work-aroundAllan Sandfeld Jensen2020-09-101-54/+43
| | | | | Change-Id: Ic518f48b62055a4fa229751a80362f9426e0ac42 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Port from devicePixelRatioF() to devicePixelRatio()Morten Johan Sørvig2020-09-107-12/+12
| | | | | | | This ports all of QtBase. Change-Id: If6712da44d7749b97b74f4614a04fac360f69d9e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Doc: Fix documentation issues for event and input device classesTopi Reinio2020-09-103-181/+287
| | | | | | | | | | | | | | * Document the new base classes QPointerEvent and QSinglePointEvent, and move relevant documentation to be located under them. * Replace linking to deprecated functions with their new counterparts. * Remove non-existent function and parameter documentation. * Document QEventPoint::State enum. * Prefer \obsolete over \deprecated and fix the usage. * Document the Capabilities enum in the correct location and add docs for the missing enum values. Change-Id: Ic8f2732f2e90ecbf522cd744c601cedcc574825c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Move grabbing API from QEventPoint to QPointerEventShawn Rutledge2020-09-102-64/+115
| | | | | | | | | | | | | | | | | | | | | | We plan to move storage of the grabbers into QPointingDevice so that QEventPoint will store only data that does not need to persist between deliveries of individual events. These API changes prepare for that. addPassiveGrabber/removePassiveGrabber is a better API than setPassiveGrabbers(), because it will never require constructing a temporary QList just to call the function. Eventually we need to emit signals to notify about grab changes, so it's better to have incremental changes to the list rather than needing to iterate and find differences. Fix up the docs. QEventPoint IDs are no longer written in hex in debug output. That was done in Qt 5 because an ID was a composite of device ID with the OS-provided touchpoint ID; but since the QPointingDevice is always available, it's more readable if the IDs are in decimal. Change-Id: I86b9016d9b28c331ca05c7c108d9788de93fb642 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clean up PageSizeId enumVolker Hilsheimer2020-09-102-7/+5
| | | | | | | | | | | Reorder, and remove ### Qt 6 comment It would be nice to have a way to statically assert that the order of StandardPageSizes (and their id) matches the order of the enum, but it's not possible (or at least very cumbersome) to do so. Change-Id: Id0d0a58958f1e17151725cbe8f8068db64f84939 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Cleanup QAction::visible propertyAllan Sandfeld Jensen2020-09-104-17/+27
| | | | | | | | Gives it its own changed signal, and simplifies setting from group, while fixing an inconsistency in propagation. Change-Id: I22b243210260a8878144fa4b60204df46f847f37 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Give QEventPoint a d-pointer after allShawn Rutledge2020-09-103-94/+222
| | | | | | | | | | I still have doubts that QEventPoint can't be made small enough that copying would be cheaper than reference-counting and all the indirections in now-noninline accessors, but this gives us the usual freedom to change the data members later on. Change-Id: I792f7fc85ac3a9538589da9d7618b647edf0e70c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Create consistent sets of QImage methodsAllan Sandfeld Jensen2020-09-092-8/+49
| | | | | | | Adds consistently named inplace and imperative methods. Change-Id: I8739c1c4585d2ba4aa181bb9a681255d76c120d7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Refactor testlib touch functions into qtestsupport_gui and _widgetsShawn Rutledge2020-09-082-1/+121
| | | | | | | | | | | | | Because we removed public setters from QTouchEvent and QEventPoint in 4e400369c08db251cd489fec1229398c224d02b4 and now it's proposed to give QEventPoint a d-pointer again, the implementation of QTouchEventSequence needs to start using QMutableEventPoint: being a friend will no longer be enough, because the member variables won't be accessible in the future. But because we have separate test libs for Gui and Widgets, it needs to be further refactored into two classes. Change-Id: I0bfc0978fc4187348ac872e1330d95259d557b69 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove deprecated method QOpenGLFunctions::initializeGLFunctions()Marcel Krems2020-09-082-11/+0
| | | | | Change-Id: I0c02b22630f8c9d463f48f6402a1930b60d3f818 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove deprecated API from QSurfaceFormatMarcel Krems2020-09-082-43/+0
| | | | | Change-Id: I8dacdaa18cea967a85e8835c2440ba53ee5df2e1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove deprecated method QTextList::isEmpty()Marcel Krems2020-09-082-20/+0
| | | | | Change-Id: I7acc0bb110c2bed55374576f59c24451afa7742a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Clean up QTextBoundaryFinder and qunicodetoolsLars Knoll2020-09-071-3/+2
| | | | | | | | | | | Make QTBF ready for Qt6 by using qsizetype in the API and use QStringView where it makes sense. Change the exported API of qunicodetools to use QStringView as well and use char16_t internally. Change-Id: I853537bcabf40546a8e60fdf2ee7d751bc371761 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove deprecated method QQuaternion::conjugateMarcel Krems2020-09-072-17/+0
| | | | | Change-Id: If539e47618357ef329925033842f266447632e6f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use C++17 [[maybe_unused]]Allan Sandfeld Jensen2020-09-062-168/+168
| | | | | | | In some places needs to be ordered before const/constexpr though. Change-Id: I57a521ac0ad22b5a018761c4d52befbef69d64c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Get rid of hasPendingEvents() and flush()Lars Knoll2020-09-063-16/+0
| | | | | | | They are unused. Change-Id: I77383f2be45551401ed9c2f88285511134cc8b0d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* When finding the engine for a fallback font, then clear the familiesAndy Shaw2020-09-051-0/+1
| | | | | | | | | | | If it is a fallback font, then it should just have family set to that font so it does not get interference from what the families were originally set to. Fixes: QTBUG-85560 Change-Id: I6232f3d2ae12052fa3b0b3bc0e7f106e239a585d Pick-to: 5.15 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove some obsolete codeLars Knoll2020-09-053-95/+0
| | | | | | | Those checks aren't required anymore for Qt 6. Change-Id: Ida9f93544f42cb03723659a81e0094aa0cf14799 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Change translation context of strings to new classVolker Hilsheimer2020-09-051-13/+6
| | | | | | | | | | | The strings were in QFileDialog context even though they were in QFileIconProvider, probably for historical reasons. Now that the strings have been moved into QtGui, using a QtWidgets class as the context makes no sense. Change-Id: Ia4f3bd18abaab2a5fbbb94e945782f4d2d94e7d1 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix compiler warnings from using deprecated qChecksum overloadVolker Hilsheimer2020-09-052-4/+4
| | | | | Change-Id: Ib7a6d0e752dc662a42abe38f2010da3f2b4626f1 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* xcb: drop Xinerama supportLiang Qi2020-09-042-17/+1
| | | | | | | | | | [ChangeLog][Important Behavior Changes][X11] Xinerama is no longer supported. Fixes: QTBUG-86082 Change-Id: Ieb57d9035e1659fc22bf8333247fc3573fb62992 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Merge QPainterPathPrivate and QPainterPathDataVolker Hilsheimer2020-09-043-93/+70
| | | | | | | As per ### Qt 6 comment, and the code that never allocated QPainterPathPrivate. Change-Id: I553e3559fdb2a675f37cdd9855462a2f22ef84c6 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>