summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add QInputDevice::availableVirtualGeometry()Shawn Rutledge2020-07-063-0/+40
| | | | | | | | | | | | | | | | | | This property tells what part of the virtual desktop the input device can access. This is not a one-to-one mapping with a QScreen, because a Wacom tablet might be configured to access a whole desktop, a whole screen, or an area corresponding to the drawing area of one window; a mouse normally can access the whole desktop (so QScreen::virtualGeometry() would be identical to QInputDevice::availableVirtualGeometry()); a touchscreen normally is mapped to one screen but could be mapped differently; etc. It's possible to find the intersection of the rectangular area with the screen(s) that it overlaps, though. Task-number: QTBUG-78839 Change-Id: I9040e20fb5a3dec8a9a0dd827735826c4c1eea38 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Make QtPlatformHeaders a private moduleTor Arne Vestbø2020-07-0650-42/+184
| | | | | | | | | | | The APIs will be reintroduced as part of the new platform interface API where appropriate. Clients that still depend on the platform headers can include it via QT += platformheaders-private. Change-Id: Ifbd836d833d19f3cf48cd4f933d7fe754c06d2d9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove unnecessary ; after function implementationsLars Schmertmann2020-07-0616-27/+27
| | | | | | Task-number: QTBUG-82978 Change-Id: Iea3bcaec1ef9f4bd0f73e5dccca33354650f5bf4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix a crash in QClipBoard when copying utf16 dataLars Knoll2020-07-063-27/+4
| | | | | | | | | | | | Properly use the new QStringConverter API and not an internal qFromUtfEncoded method that was buggy after the changes. Take the oppportunity to clean up and remove qFromUtfEncoded, as QClipboard was its only user. Fixes: QTBUG-85417 Change-Id: I8540d12056bf3f448c1f628ce0bd0ad462a6447d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Cleanup qtestspontaneevent.h for Qt 6Lars Schmertmann2020-07-061-41/+0
| | | | | | | | | This change is motivated by the comment from bc087db59: Qt 6: remove everything except QSpontaneKeyEvent::setSpontaneous() Task-number: QTBUG-82978 Change-Id: I5f46ca366c193c06235f88022ec22c6848fbb7b0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use Q_DECL_UNUSED_MEMBER instead of Q_UNUSEDLars Schmertmann2020-07-061-23/+19
| | | | | | | Task-number: QTBUG-82978 Change-Id: I7ff71e10b61cf5c2528ebef81cc49c648385fc33 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Move linuxaccessibility to QtGuiFriedemann Kleint2020-07-0634-108/+120
| | | | | | | | Change some too-generic file names. Task-number: QTBUG-83255 Change-Id: I4497ee2508bc323566f4061d4547707b7bda7a77 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move xkbcommon to QtGuiFriedemann Kleint2020-07-0420-103/+46
| | | | | | | Task-number: QTBUG-83255 Change-Id: Ia1c6a49af6be4aaa6b988537c38db3a2c0a646a5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix workaround in pthread destructorMike Achtelik2020-07-041-19/+6
| | | | | | | | | | | | | | | | | Amends dcdfb6908db0f83cbc4e550859f56ee58a6b3420 which failed to take the workaround in destroy_current_thread_data into account. Since pthread_getspecific was completely replaced with the thread_local variable currentThreadData, the workaround has no effect anymore. Therefore we need to replace it with a workaround that makes sure currentThreadData is set inside of the destructor function. This prevents a leak, where QThreadPrivate::finish() tries to access the thread data, but since it already is null, recreates it without ever deleting it. Pick-to: 5.15 Change-Id: I3811d262a411a6bde9d6eb90f8d17e0bbc5de657 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Fix connect syntax in snippetPaul Wicking2020-07-041-1/+1
| | | | | | | | Pick-to: 5.15 Fixes: QTBUG-85390 Change-Id: I67dbacd977acb6abdafb3b57818f24bf4a2dd302 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Improve data member ordering and initialization in some private classesVolker Hilsheimer2020-07-043-93/+66
| | | | | | | | | Put bit fields together, and generally order by size to maximize the compiler's ability to pack data. Initialize in declaration where possible. Change-Id: I49d4a3d2271229d671aeaf3eb17e6b7ecdc5099e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Avoid use of Q_UNUSED by eliminating the parameter namesLars Schmertmann2020-07-037-12/+10
| | | | | | | | | This change only happens to files touched by the commit to add missing ; to Q_UNUSED. Task-number: QTBUG-82978 Change-Id: I10e6993a2bb3952cf9a262708b8573550e0dbe63 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Re-run pro2cmake on gui, platformheadersTor Arne Vestbø2020-07-036-46/+15
| | | | | | | platformsupport and plugins/platforms Change-Id: Id123bc4165387aa867bf4b61ffc3e9dabc2d4780 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate rest of projects under src/Alexandru Croitor2020-07-033-17/+14
| | | | | Change-Id: I7d7692306a80deb9e8d2a90454dad4b39320f380 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* androiddeployqt: Fix format specifier warningsTor Arne Vestbø2020-07-031-3/+3
| | | | | | | Fixes: QTBUG-85344 Change-Id: I298370ef04b9be502c54bfee729e97379ad81231 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* macOS: Fix mapping of Qt to Carbon modifiers with AA_MacDontSwapCtrlAndMetaTor Arne Vestbø2020-07-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | The macOS platform plugin function toCarbonModifiers is based on a mapping table with already swapped modifiers, where Qt::MetaModifier maps to controlKey. We were using the Carbon fooKeyBit constants instead of the fooKey constants, so the logic for mapping from Qt to Carbon modifiers when AA_MacDontSwapCtrlAndMeta was set to true would fail to reverse the swap from the mapping table. Since the command and control modifiers rarely produce different unicode characters from the base keyboard layout, at least not in the tested key layouts, and the AA_MacDontSwapCtrlAndMeta is not commonly used, this bug was not that visible. The logic maintains the behavior of mapping a single Qt modifier to multiple Carbon modifiers (both left and right command e.g.). This is a bit weird, but existing behavior that should be looked at in a followup. Change-Id: I8b30854770d1230a47f5144bf3245d0ac1493b51 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Only use one macro per lineLars Schmertmann2020-07-0310-14/+32
| | | | | | | | | Also add a ; where it is missing. Task-number: QTBUG-82978 Change-Id: Ic5d2a07363c25ab641d234baca89bc62238458cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QDBusReply<void>: Fix warning about implicit copy constructorFriedemann Kleint2020-07-031-0/+2
| | | | | | | | | | | Provide a copy constructor, fixing: src/corelib/kernel/qmetatype.h:2702:11: warning: implicitly-declared QDBusReply<void>::QDBusReply(const QDBusReply<void>&) is deprecated [-Wdeprecated-copy] Pick-to: 5.15 Change-Id: I725be78ace9d1b31fa2de9a23a82f92d5969dc27 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows QPA: Refactor touch device creationFriedemann Kleint2020-07-035-60/+43
| | | | | | | | | | | | | | | | | | | | | There was duplicated code in QWindowsMouseHandler::ensureTouchDevice() and QWindowsPointerHandler::ensureTouchDevice() which caused deprecation warnings since the setters of QInputDevice were deprecated. Join the 2 functions into a single creation function and add simple getters and setters. Fix deprecation warnings: qwindowscontext.cpp:357:108: warning: 'void QPointingDevice::setCapabilities(QInputDevice::Capabilities)' is deprecated: Use the constructor qwindowsmousehandler.cpp:132:97: warning: 'void QPointingDevice::setType(QInputDevice::DeviceType)' is deprecated: Use the constructor qwindowsmousehandler.cpp:136:41: warning: 'void QPointingDevice::setCapabilities(QInputDevice::Capabilities)' is deprecated: Use the constructor qwindowsmousehandler.cpp:137:49: warning: 'void QPointingDevice::setMaximumTouchPoints(int)' is deprecated: Use the constructor Change-Id: Iab5385e84d600e45b60f38225175f25ef043c3eb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix no-OpenGL build after introducing QOpenGLContext platform interfaceTor Arne Vestbø2020-07-037-3/+24
| | | | | | Change-Id: I355f43c200adb3a12e71e0b02aa10060672bb9e4 Reviewed-by: Nodir Temirkhodjaev <nodir.temir@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Keep track of mouse button state in QTabBarVolker Hilsheimer2020-07-022-6/+14
| | | | | | | | Get rid of call to QGuiApplication::mouseButtons Task-number: QTBUG-73829 Change-Id: I7cc706b5e037c68ecf3c778b824ae8c93e5cfe38 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Pass modifier and button information down the call stackVolker Hilsheimer2020-07-021-4/+11
| | | | | | | | | Gets rid of calls to QGuiApplication::mouseButtons and QGuiApplication::keyboardModifiers. Task-number: QTBUG-73829 Change-Id: Idba978fe8db21622ca05c4882c74fd2792b119e5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Maintain keyboard modifier state in QAbstractSpinBox's input event handlersVolker Hilsheimer2020-07-022-3/+10
| | | | | | | | | | Gets rid of calls to QGuiApplication::keyboardModifiers. Need to handle key and mouse events, since the spin buttons may be clicked on without the spinbox having focus. Task-number: QTBUG-73829 Change-Id: I455c42987f19bb5b7997dc8d61272863d7bc394e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Use QList instead of QVector in widgetsJarek Kobus2020-07-0291-456/+499
| | | | | | Task-number: QTBUG-84469 Change-Id: I3007734f8e4f164ece9dd8850ef007cbef9e12ef Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Remove deprecated empty macroLars Schmertmann2020-07-021-3/+0
| | | | | Change-Id: Ib2a646ee22a7f97dae584e6f068f17378fe2b494 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: improve documentation about QVariant to JSON lossy conversionsThiago Macieira2020-07-022-12/+43
| | | | | | | Fixes: QTBUG-85299 Pick-to: 5.15 Change-Id: I24006db8360041f598c5fffd161c77638a54a27e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Manage keyboard modifier state in QPlainTextEditVolker Hilsheimer2020-07-022-1/+7
| | | | | | | | | Gets rid of a call to QApplication::keyboardModifiers, at the expense of some more bytes in QPlainTextEditPrivate. Task-number: QTBUG-73829 Change-Id: I0394cb773034e832cffe5fa643ac308493f815b4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* macOS: Simplify QCocoaKeyMapper::(to/from)CocoaKeyTor Arne Vestbø2020-07-021-67/+19
| | | | | Change-Id: I8daf735e9b49b24b8144b2aab8966b6313dfa3fa Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Move key mapping from QtCore to platform pluginTor Arne Vestbø2020-07-027-152/+148
| | | | | | | | | | | There's a bunch of similar and overlapping logic in QCocoaKeyMapper already. Moving it to the same place allows us to easier find ways to reduce the overlap. None of the exported functions were used outside of the plugin. Change-Id: I6953690cdfda5ee8265b33ccbf919184c3a1700f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Move Cocoa modifier mapping logic to QCocoaKeyMapperTor Arne Vestbø2020-07-029-37/+32
| | | | | | | Along with similar logic for Carbon. Change-Id: Ie32f8ffa336006387d50d3b9e8491816aba4ea04 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add a note to qurlidna.cpp about IDNA's Unicode version being frozenEdward Welbourne2020-07-021-0/+9
| | | | | | | | | | | | It looked a lot like it needed an update to its Unicode data (in tables and functions) but Thiago tells me this would be misguided, although we do need an upgrade to IDNA 2008, at some point. So document why this doesn't get updated along with UCD. Task-number: QTBUG-85371 Task-number: QTBUG-85323 Change-Id: I764667db9c24bf05371e8a3c2601ccbf48f99711 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Make feature datetimeparser depend on feature datestringEdward Welbourne2020-07-028-31/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | No client of QDateTimeParser actually uses it unless datestring was enabled, nor is it any use without datestring. Various methods conditioned on datestring are broken unless datetimeparser is enabled. We can't condition public API on datetimeparser, as it's a private feature, but client code can condition use of it on the private feature. All string-to-date/time conversions that use a string format (this includes all locale-specific formats) depend on feature datetimeparser. Change #if-ery (or add it) in all client (including test) code to test the right feature. Tidied up some code in the process. Killed some already-redundant textdate #if-ery. Renamed a test whose name claimed it involved locale, which it doesn't, in the course of #if-ing it. This simplifies the condition for feature datetimeedit (which overtly depended on textdate, redundantly since it depends on datestring which depends on textdate; its dependence on datetimeparser now makes its dependency on datestring also redundant). It also removes the need for assorted datestring checks in QDateTimeParser itself. Change-Id: I5dfe3a977042134b2cfb16cbcc795070634e7adf Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add keyboardModifiers member to QStyleOptionSlider, and use it for macVolker Hilsheimer2020-07-024-3/+6
| | | | | | | | | | Gets rid of a call to QApplication::keyboardModifiers in a method that is anyway only called from an input event handler, where we have that information already. Task-number: QTBUG-73829 Change-Id: I81753d6bf725e9db4918d831fac5b03a0b1940b9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Doc: make paragraph about access of QStyleOption members consistentVolker Hilsheimer2020-07-021-90/+122
| | | | | | | | Slight language simplification, and consistent usage of paragraph for all QStyleOption subclasses. Change-Id: I06a0480fc963d4457d5397b11df3acf62bc6912a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Remove method declaration that's not used or implementedLars Knoll2020-07-021-2/+0
| | | | | | Change-Id: If8c03c08b7bfc162908510cac278ce9267b61cdf Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move the reallocate() method from QArrayDataPointer to the Ops classLars Knoll2020-07-024-8/+12
| | | | | | | | | And only implement it for QPodArrayOps, as that's the only case where we should be using it. Change-Id: If48f3e4b142c322d3451309d6d1cf68aee569ea2 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Small cleanupLars Knoll2020-07-021-9/+2
| | | | | | Change-Id: Ic8ed50a05a9723ed252f0762d86e41fe719fc3ef Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Revert "Remove pthread storage for thread local data"Alexandru Croitor2020-07-021-21/+59
| | | | | | | | | | | | The change introduced crashes in some tests that only surfaced in certain CMake configurations. This reverts commit 76c3eee4020cae681857ee17406c655f61f9082c. Pick-to: 5.15 Task-number: QTBUG-85357 Change-Id: Ief93aa41e2d487d73b879133e7df0fd5ce0451bd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Introduce platform API abstraction for QOpenGLContextTor Arne Vestbø2020-07-0260-941/+610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is available by including qopenglcontext.h as usual, but scoped in the QPlatformInterface namespace. The namespace exposes platform specific type-safe interfaces that provide: a) Factory functions for adopting native contexts, e.g. QCocoaGLContext::fromNative(nsContext, shareContext); b) Access to underlying native handles, e.g. openGLContext->platformInterface<QCocoaGLContext>->nativeContext() c) Platform specific functionality, e.g. static QWGLContext::openGLModuleHandle() openGLContext->platformInterface<QEGLContext>->doSomething(); The platform interfaces live close to the classes they extend, removing the need for complex indirection and plumbing, and avoids kitchen-sink modules and APIs such as the extras modules, QPlatformFunctions, or QPlatformNativeInterface. In the case of QOpenGLContext these platform APIs are backed by the platform plugin, so dynamic_cast is used to ensure the platform plugin supports the requested interface, but this is and implementation detail. The interface APIs are agnostic to where the implementation lives, while still being available to the user as part of the APIs they extend/augment. The documentation will be restored when the dust settles. Task-number: QTBUG-80233 Change-Id: Iac612403383991c4b24064332542a6e4bcbb3293 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Support glyphs larger than 255x255 with Freetype engineEskil Abrahamsen Blomfeldt2020-07-021-3/+3
| | | | | | | | | | | | | | | | | | | | We used chars for the width and height of glyphs when caching them in the Freetype engine. This was okay for Qt Widgets because we would fall back to QPainterPath when the fonts were too big anyway (though this has since become configurable). But in Qt Quick, when NativeRendering is in use, we will always cache glyphs, because they need to be uploaded to the GPU. Also 255 is no longer a large font size with current screen sizes, so we need to upgrade our maximum. The new maximum size is 65535x65535. [ChangeLog][QtGui][Text] Fixed a bug where glyphs would be clipped at very large sizes. Fixes: QTBUG-85259 Pick-to: 5.15 Change-Id: I9a01a707b274e5f12e49c1b0bd58f743abae9f5e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QMacStyle - draw inverted vertical slider correctlyTimur Pocheptsov2020-07-021-1/+12
| | | | | | | | | | Without double-inverting it (and having a knob and the blue filling mirroring each other relative to the center of the slider's bar). Pick-to: 5.15 Fixes: QTBUG-85342 Change-Id: I4f0e8dd6d76e5e078a2db5c2ca63ba6bb2a661ed Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* rhi: add support for D24 / D24S8 formatsJean-Michaël Celerier2020-07-026-13/+71
| | | | | Change-Id: I7ba14d30fa57bcb92cd764aed6c85cde853935b4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Make dbus snippets compilableNico Vertriest2020-07-0212-60/+327
| | | | | | | Task-number: QTBUG-84470 Change-Id: Idfe86ae0f38e43678cc5e746e30e5eeaf8eb72dc Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* QTabBar: make sure the tab is repainted after releasing mouseWang Chuan2020-07-021-2/+4
| | | | | | | | | | | | | | The tab has to be repainted even f the mouse release event happened outside the tab bar, otherwise it will look like the tab is still pressed. As a drive-by, replace the repaint() call with update(); there is no need for synchronous painting in an event handler. Pick-to: 5.15 Fixes: QTBUG-81637 Change-Id: Ia55182be906511ac3b462f00add8a621c6c05fc3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QTextOption: remove deprecated function QTextOption::tabStop()Christian Ehrlicher2020-07-012-33/+1
| | | | | Change-Id: I7d647088aacb83d16c3e3cc4d831162a95771083 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QFactoryLoader: Do not call unload() automaticallyUlf Hermann2020-07-011-4/+1
| | | | | | | | | | | | | | | | | QPluginLoader does not call unload() on the QLibraryPrivate without an explicit call to QPluginLoader::unload(). QFactoryLoader should behave the same. We want to avoid unload() if possible as we generally don't unload plugins and the resulting behavior varies between platforms. In particular, macOS does make the address space of libraries only the plugin links to inaccessible on close() even if RTLD_NODELETE is given. For code that actually wants to unload(), an explicit function to do so could be added. As QFactoryLoader is private API, there is no need to do that until such a case is found. Change-Id: I4e57259a9dcb4ceb60dfbfeda55abc0b995f436a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix define indentation in qopengl.hTor Arne Vestbø2020-07-011-5/+5
| | | | | Change-Id: I7894fcadf1a0abecbd8206abae1b035c823d52c4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: Remove PPD deprecation warningTor Arne Vestbø2020-07-011-4/+1
| | | | | | | We're not going to replace these any time soon, so remove the warning. Change-Id: If020d2d3cf752e9a11558a55df5d05e2d2b3c567 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Documentation fixes for QStringTokenizerKai Koehne2020-07-011-9/+9
| | | | | | Task-number: QTBUG-85343 Change-Id: Ib647d90ba3cfa1181690dc745249637031c7ad67 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* In-class initialize QWindowsGLContext membersTor Arne Vestbø2020-07-012-16/+9
| | | | | Change-Id: Icd84e96706d5779656d7311755596110494eacd8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>