summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Pass QVariant by reference, address ### Qt 6 commentVolker Hilsheimer2020-06-092-2/+2
| | | | | Change-Id: I0a3fab84e699c73299e2c72a6739ecf4ed856177 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add deprecation warnings to QGuiApplication::fontChanged/paletteChangedVolker Hilsheimer2020-06-082-2/+8
| | | | | | | And silence those warnings in code that emits those signals. Change-Id: Ic9013648060c9b84b59c44bb5a8c77e48f82d24f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Merge QWindow::parent overloadsVolker Hilsheimer2020-06-082-13/+1
| | | | | Change-Id: Ibec0f41de16694c38cf24fcdd4eeba74df62a1dd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Phase 2 of removing QDesktopWidgetVolker Hilsheimer2020-06-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove QDestopWidget public header, simplify the implementation that maintains a Qt::Desktop type QWidget for each QScreen, and turn QWidget's initial target screen into a QScreen pointer. QApplication::desktop() now takes an optional QScreen pointer, and returns a QWidget pointer, so that applications and widgets can get access to the root widget for a specific screen without having to resort to private APIs. QDesktopWidgetPrivate implementations to look up a screen for an index, widget, or point are now all inline functions that thinly wrap QGuiApplication::screens/screenAt calls. We should consider adding those as convenience APIs to QScreen instead. Note that QWidget::screen is assumed to return a valid pointer; there is code that handles the case that it returns nullptr (but also code that trusts that it never is nullptr), so this needs to be defined, verified with tests, and asserted. We can then simplify the code further. Change-Id: Ifc89be65a0dce265b6729feaf54121c35137cb94 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Replace calls to deprecated QEvent accessor functionsShawn Rutledge2020-06-084-36/+36
| | | | | | | Many of these were generated by clazy using the new qevent-accessors check. Change-Id: Ie17af17f50fdc9f47d7859d267c14568cc350fd0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Prepare to harmonize pointer event accessor namesShawn Rutledge2020-06-082-115/+249
| | | | | | | | | | | | | | | | | | | | | | | ...by deprecating everything that doesn't conform to the naming scheme, and providing replacements. Continues what was started with QWheelEvent in 7d29807296cb7ccc7f3459e106d74f93a321c493. However QMouseEvent::pos() is left un-deprecated because it's so widely used. Also quit returning QPointF by const-ref from accessors. It's plenty small enough to return by value; we were never consistent about it anyway; and it's good to avoid some problems with returning a reference to a temporary in case the value is calculated in the accessor. [ChangeLog][QtGui][QPointerEvent] Mouse, touch and tablet events now have a standard set of QPointF accessors: position(), scenePosition() and globalPosition(). Existing accessors that return integer QPoints, and those with non-standard names, have been deprecated. You can use the clazy qevent-accessors check to update your code accordingly. Task-number: QTBUG-20885 Task-number: QTBUG-84775 Change-Id: I8e6f587da76d6d0bca6e965ce8ebc7e67b868011 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove winrtOliver Wolff2020-06-062-13/+2
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove unused function pointers in QVariant::HandlerLars Knoll2020-06-061-6/+1
| | | | | | Task-number: QTBUG-84635 Change-Id: Icfbd1aae26b0453426d93e0af64d84d6403b8e3b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* MetaObject: Store the QMetaType of the methodsFabian Kosmale2020-06-024-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | This does the analog of 46f407126ef3e94d59254012cdc34d6a4ad2faf2 for the methods we care about (signals, slots, Q_INVOKABLEs). In addition to the actual QMetaType, we store an array with offsets so that we later can do a mapping from methodIndex to metatype. The newly added QMetaMethod::{return,parameter}MetaType methods can then be used to retrieve the metatypes. This does however require that all involved types are complete. This is unfortunately not a feasible requirement. Thus, we only populate the metatype array on a best effort basis. For any incomplete type, we store QMetaType::Unknown. Then, when accessing the metatype, we fall back to the old string based code base if it's Unknown. Squashes "moc: support incomplete types" and "Fix compile failures after QMetaMethod change" Fixes: QTBUG-82932 Change-Id: I6b7a587cc364b7cad0c158d6de54e8a204289ad4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix typo in documentation of QPlatformWindowMichal Klocek2020-05-251-2/+2
| | | | | | | | | QOpenGLWidget has backing store and does not really fit into doc's context. Change it QOpenGLWindow. Change-Id: I7f92e49497b8cc35d322b607c865c2914672ace3 Pick-to: 5.15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Sweep Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6 -> Q_DECLARE_SHAREDMarc Mutz2020-05-191-1/+1
| | | | | | | | | | | | This is Qt 6, so Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6 is the same as Q_DECLARE_SHARED. Let's hope we'll collectively get better at detecting missing Q_DECLARE_SHARED so we won't need a Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT7 in the future. Change-Id: I3da9faff4c66b64a3b257309012a2a10a6c6d027 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Deprecate QGuiApplication::paletteChanged() signalAndy Shaw2020-05-152-4/+7
| | | | | | | | | | | | | | Rather than have a paletteChanged() signal which can be connected to for tracking when the application palette has changed, then it is better to use the event that is sent to all windows and the application itself. That way it is easy for a window/widget or item that cares about the change to the application font to catch it in the event() function. [ChangeLog][QtGui][QGuiApplication] Deprecated paletteChanged() signal in favor of QEvent::ApplicationPaletteChanged. Change-Id: I95da211e30590e357007cc14d8ee266baceba7b3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QBasicDrag: Send QDragMoveEvent when modifiers changeAlexander Volkov2020-05-142-2/+6
| | | | | | | | | | | ... without moving the mouse. This allows to update drop action and cursor. Task-number: QTBUG-56218 Task-number: QTBUG-82934 Pick-to: 5.15 Change-Id: I8b0ac2a008a9dbcc4c2d6abce282e6f169c2f542 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Move the UTF conversion methods to qstringconverterLars Knoll2020-05-141-3/+1
| | | | | | | | | | | | | | Separate them from the qutfcodec, so that the codec can later on be moved out of Qt Core. Fix the QUtf methods to take qsizetype instead of int for length arguments. This also makes it possible to not build QTextCodec into the bootstrap lib anymore. Change-Id: I0b4f83139d61b19c651520a2f3a5012aa7e85cb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Avoid format conversion in backing store texture uploadAllan Sandfeld Jensen2020-05-131-44/+50
| | | | | | | | | Use glPixelStorei where possible Pick-To: 5.15, 5.12 Fixes: QTBUG-84189 Change-Id: Iadf039b5c6d8e7b6bb11d031a94683343dee0dc6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove obsolete storage, constructors and accessors in QEvent subclassesShawn Rutledge2020-05-125-481/+14
| | | | | Change-Id: I5c51244031ff40f1972106ad4fe27010c8be1193 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtGui: fix deprecated QChar conversionsMarc Mutz2020-05-112-3/+3
| | | | | | | | | Conversions from non-char-types to QChar are going to be deprecated. Use QChar::fromUcs2(), fromUcs4(), QLatin1Char(), or convert the constructor argument to char16_t. Change-Id: Ib45ebd5560aa3a2bc460037ab09773607485c6e2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove QScreen::orientationUpdateMaskShawn Rutledge2020-05-077-99/+9
| | | | | | | | | | | | | | | | | | It simplifies the API and reduces surprise to have rotation working by default. On Android, the manifest specifies which orientations the application has been designed to support; on iOS, it is controlled via the UISupportedInterfaceOrientations property list key. In addition, QWindow::contentOrientation() is another way to give a hint to the window manager, or on iOS to directly control whether the window's rotation is locked or not. Task-number: QTBUG-35427 Task-number: QTBUG-38576 Task-number: QTBUG-44569 Task-number: QTBUG-51012 Task-number: QTBUG-83055 Change-Id: Ieed818497f686399db23813269af322bfdd237af Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Emit QScreen::(availableG|g)eometryChanged() on logical DPI changeFriedemann Kleint2020-05-053-11/+25
| | | | | | | | | | | | | | | | When a change in logical DPI occurs due to the user changing the scaling factor, the screen size in device independent pixels may change due to High DPI choosing a different scale factor. Factor out the commonly used code into QScreenPrivate methods and use them from QGuiApplicationPrivate::processScreenLogicalDotsPerInchChange(). Pick-to: 5.15 Task-number: QTBUG-76902 Task-number: QTBUG-79248 Change-Id: I241a0f52d8236a65084d501fb4d8f9faeea89c0f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Add virtual QWindow::closeEvent handlerVolker Hilsheimer2020-05-052-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default implementation does nothing; the processing of accepted close events remains in the QWidget::event handler, so that subclasses don't have to call the super class in order to free window system resources and emit lastWindowClosed signals. QWidgetWindow::event is reimplemented to handle QEvent::Close as well, calling QWidgetPrivate::close_helper, which then delivers a separate QCloseEvent to the widget. The order of execution for widgets is after this change: 1) QWidgetWindow::event 2) QWidgetWindow::handleCloseEvent (calls QWidget::event/closeEvent) 3) QWindow::event 4) QWindow::closeEvent <- does nothing, not overridden 5) default cleanup handling in QWindow::event and for Qt Quick after the corresponding change in qtdeclarative: 1) QQuickWindow::event 2) QWindow::event 3) QQuickWindow::closeEvent <- emits closed 4) default cleanup handling in QWindow::event [ChangeLog][QtGui][QWindow] closeEvent has been added as a virtual function. Task-number: QTBUG-31019 Change-Id: I201f5ee9c6a73b949986648e3bd288d2c7898f28 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QPlatformTheme: Use operator| instead of operator+ to define a shortcutGiuseppe D'Angelo2020-05-051-1/+1
| | | | | | | Follow the surrounding code. Change-Id: I2d4789162ea91328dfa00ac9b4c2fc6a8e6ed261 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QKeySequence: remove docs of methods recently removedGiuseppe D'Angelo2020-05-051-19/+0
| | | | | | | | Amends dccf28b7c344822b7459635099ebe3abdf5fd107. Change-Id: Ic4eeda8706b58fdff716e8f86a2bf7cc77ec0c7a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-041-0/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/text/qlocale.cpp src/network/access/qnetworkaccessmanager.cpp Regenerated tests/auto/testlib/selftests/float/CMakeLists.txt Change-Id: I5a8ae42511380ca49a38b13c6fa8a3c5df8bed01
| * Doc: add since for QWheelEvent::positionPaul Wicking2020-04-271-0/+1
| | | | | | | | | | | | Fixes: QTBUG-83779 Change-Id: Icd39c6e3b65e17a51d04ea3c0718f2957948aaa4 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* | QtGui: fix a few more char/int/uint -> QChar conversionsMarc Mutz2020-04-301-1/+1
| | | | | | | | | | | | | | | | They were masked by all QChar ctors being made explicit, except the char16_t one, which was left as the only viable choice. Change-Id: I343269b61d555c259b5780011e99f85f5375ef78 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Remove deprecated members from several QtGui classesVolker Hilsheimer2020-04-277-133/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Those can be trivially removed as they have direct replacements, or are completely unused. The migration path for QCursor::bitmap and QCursor::mask is QBitmap *pb = c.bitmap(); // up to 5.15, warns in 5.15 QBitmap vb = c.bitmap(Qt::ReturnByValue); // from 5.15, works in 6 QBitmap b = c.bitmap(); // from 6.0 on Change-Id: I3b3acd1c7f09c4c8414e98b3ce11986f1ecd5eda Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Clarify ResetNotification in QSurfaceFormat a bitLaszlo Agocs2020-04-242-1/+12
| | | | | | | | | | | | | | | | | | | | Add some more details to make it a bit easier for advanced users to grasp what this is about. Task-number: QTBUG-80257 Pick-to: 5.15 Change-Id: I9969b5b62384a25d5e90b57ef25c83a8a2a6c9c7 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Deprecate QGuiApplication::fontChanged() signalAndy Shaw2020-04-242-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than have a fontChanged() signal which can be connected to for tracking when the application font has changed, then it is better to use the event that is sent to all windows and the application itself. That way it is easy for a window/widget or item that cares about the change to the application font to catch it in the event() function. [ChangeLog][QtGui][QGuiApplication] Deprecated fontChanged() signal in favor of QEvent::ApplicationFontChanged. Change-Id: Iae8e832238fc85e385a52305bc04f16e597454b0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Remove QTextCodec dependency from QClipboardLars Knoll2020-04-211-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | QClipboard used QTextCodec to convert the war clipboard data to a QString. HTML is nowadays always encoded as utf8, and we were only supporting utf based encodings for other text. Add a qFromUtfEncoded() to our UTF helpers that auto detects utf16 and utf32 byte order marks, and assumes utf8 otherwise, to keep this compatible with what we have been doing in Qt 5. Change-Id: I5a9fccb67a88dff27cbbdecff9bd548d31aa1c6c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Prevent asserts in certain QWindow re-creation casesLaszlo Agocs2020-04-211-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends 402efef57bb6a04ad778d3139100becc2cba31eb. The original patch has a problem, namely that it directly calls QPlatformWindow::requestUpdate() instead of going through QWindow::requestUpdate(). As there is a chance that an update gets scheduled between the creation of the QPlatformWindow and this extra, optional invocation of requestUpdate() at the end of QWindow::create(), this becomes quite unsafe because QPlatformWindow, unlike QWindow, is not graceful: it will just assert if there is a pending update still. Solve the whole thing by storing the updateRequestPending flag of QWindowPrivate, then resetting it, and then going through the safe, public QWindow::requestUpdate() when our copy of the flag says so. Task-number: QTBUG-81400 Task-number: QTBUG-70957 Pick-to: 5.15 Change-Id: I99aedfae3928b75301b46a4666c169e657ff8079 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Resolve OpenGL version functions in thread-safe mannerEskil Abrahamsen Blomfeldt2020-04-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 73f3f501f331444b3f188b21db7265f723e4f383, the classes were moved out of Qt Gui, and a mechanism to attach them to the QOpenGLContext was implemented using a QMap and a connection on destroyed to delete it. This solution was not thread-safe, so the suggestion was to either add a mutex or to make an opaque pointer for the storage in the (thread-affine) QOpenGLContextPrivate. I decided to go with the latter. A solution using hash lookups and mutexes seems to complex when the only benefit is to avoid forward declarations from Qt Gui to Qt OpenGL in private API. Especially since this dependency already exists with the "textureFunctions", which serve the same purpose, although the destructor is being passed in as an explicit function pointer there, probably because the ambition was to use a forward declaration rather than a superclass. Fixes: QTBUG-82742 Change-Id: I5c6b82c5b33d9cb73ad1ec05d3fc3e87a9eae4cf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Get rid of QT_OPENGL_ES*Eskil Abrahamsen Blomfeldt2020-04-172-4/+4
| | | | | | | | | | | | | | | | | | | | | | The QT_OPENGL_ES* macros are leftovers from an earlier, ad hoc configuration system, which has since been replaced by QT_CONFIG. To clean things up in Qt 6, we use the new way instead. Task-number: QTBUG-83467 Change-Id: I578dc7695bff9d5ee303b22e44f60fee22fe0c28 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Move versioned OpenGL functions from QtGui to QtOpenGLJohan Klokkhammer Helsing2020-04-163-171/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The context—which lives in QtGui—now knows nothing about versioned functions. This changes the public API for getting version functions for a context. [ChangeLog][QtGui][OpenGL] QOpenGLContext::versionFunctions() has been removed. QOpenGLVersionFunctionsFactory::get() from the QtOpenGL module should be used instead. Previously one would call context->versionFunctions<QOpenGLFunctions_4_0_Core>(); Which now becomes QOpenGLVersionFunctionsFactory::get<QOpenGLFunctions_4_0_Core>(context); The rest of the API should be identical. Since glgen no longer compiles, and the links to its input (gl.spec and gl.tm) are dead, I've edited the previously generated files manually. If glgen is fixed, it should be quite easy to make it generate the new way. Task-number: QTBUG-74409 Change-Id: I800527e0af16a79005b276eeb74417770193c62f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-111-4/+5
|\| | | | | | | | | | | | | Conflicts: tests/auto/network/socket/platformsocketengine/platformsocketengine.pri Change-Id: I22daf269a8f28f80630b5f521b91637531156404
| * Remove more calls to deprecated TouchPoint functionsShawn Rutledge2020-04-091-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Followup to ed3ed0b9db97a8fab0c03add23228b6b0a96f171 68916fede41d1eca5d07eb6b1db518d41a007616 and 3c159957f863cf8d367a9261e7016e52cd0348c1. In QWindowSystemInterfacePrivate::fromNativeTouchPoints() and QWindowSystemInterfacePrivate::toNativeTouchPoints() we continue using struct TouchPoint's QRectF area as storage for the screen position + ellipse diameters; as the comment says, this is _unrotated_, meaning that rotation is stored separately, and area should not be construed as the bounding box of the rotated ellipse. (In Qt 6 we can make the QPA touchpoint look the same as the QTouchEvent::TouchPoint to eliminate the need to calculate the center of the rect.) In QGraphicsScenePrivate::updateTouchPointsForItem(), setRect() sets the position and the ellipse diameters, but the latter is redundant because the purpose of this function is to localize a touchpoint to the coordinate system of a particular QGraphicsItem. Ellipse diameters should stay the same. In QApplicationPrivate::updateTouchPointsForWidget(), as in QGraphicsScene, we are localizing touchpoints to a widget and to the screen that the widget is shown on, so only the position needs to be set, while preserving the sub-pixel resolution that mapFromGlobal(QPoint) loses. Fixes: QTBUG-83403 Change-Id: I61d29e14cbe38567767b164af6ae895082c5e1a1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Change qHash() to work with size_t instead of uintLars Knoll2020-04-096-8/+8
| | | | | | | | | | | | | | | | | | | | | | This is required, so that QHash and QSet can hold more than 2^32 items on 64 bit platforms. The actual hashing functions for strings are still 32bit, this will be changed in a follow-up commit. Change-Id: I4372125252486075ff3a0b45ecfa818359fe103b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-086-39/+36
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/doc/src/cube.qdoc src/corelib/global/qlibraryinfo.cpp src/corelib/text/qbytearray_p.h src/corelib/text/qlocale_data_p.h src/corelib/time/qhijricalendar_data_p.h src/corelib/time/qjalalicalendar_data_p.h src/corelib/time/qromancalendar_data_p.h src/network/ssl/qsslcertificate.h src/widgets/doc/src/graphicsview.qdoc src/widgets/widgets/qcombobox.cpp src/widgets/widgets/qcombobox.h tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro tests/manual/diaglib/debugproxystyle.cpp tests/manual/diaglib/qwidgetdump.cpp tests/manual/diaglib/qwindowdump.cpp tests/manual/diaglib/textdump.cpp util/locale_database/cldr2qlocalexml.py util/locale_database/qlocalexml.py util/locale_database/qlocalexml2cpp.py Resolution of util/locale_database/ are based on: https://codereview.qt-project.org/c/qt/qtbase/+/294250 and src/corelib/{text,time}/*_data_p.h were then regenerated by running those scripts. Updated CMakeLists.txt in each of tests/auto/corelib/serialization/qcborstreamreader/ tests/auto/corelib/serialization/qcborvalue/ tests/auto/gui/kernel/ and generated new ones in each of tests/auto/gui/kernel/qaddpostroutine/ tests/auto/gui/kernel/qhighdpiscaling/ tests/libfuzzer/corelib/text/qregularexpression/optimize/ tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/ tests/libfuzzer/gui/text/qtextdocument/sethtml/ tests/libfuzzer/gui/text/qtextdocument/setmarkdown/ tests/libfuzzer/gui/text/qtextlayout/beginlayout/ by running util/cmake/pro2cmake.py on their changed .pro files. Changed target name in tests/auto/gui/kernel/qaction/qaction.pro tests/auto/gui/kernel/qaction/qactiongroup.pro tests/auto/gui/kernel/qshortcut/qshortcut.pro to ensure unique target names for CMake Changed tst_QComboBox::currentIndex to not test the currentIndexChanged(QString), as that one does not exist in Qt 6 anymore. Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
| * macOS: Remove all use of deprecated Q_OS_OSX defineTor Arne Vestbø2020-04-034-5/+5
| | | | | | | | | | Change-Id: I49c285604694c93d37c9d1c7cd6d3b1509858319 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * Finish deprecating TouchPoint::rect, sceneRect and screenRect accessorsShawn Rutledge2020-03-302-26/+20
| | | | | | | | | | | | | | | | | | All 6 getters and setters were deprecated by doc comment \obsolete in 3c159957f863cf8d367a9261e7016e52cd0348c1 (Qt 5.9). Now we will generate compiler warnings too. Change-Id: I94c6da607fa5758072af1287c9286b6c52179cfb Reviewed-by: Frederik Gladhorn <gladhorn@kde.org>
| * Doc: Don't mention deprecated functions in QTabletEvent overviewTopi Reinio2020-03-261-8/+8
| | | | | | | | | | | | Change-Id: I5d41d6061403f2923d673376be7cf1250d0f0e82 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Call post routines from ~QGuiApplicationMichal Klocek2020-03-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently depending if user uses QApplication or QGuiApplication we end up in different behavior when running post routines. For example QApplication destructor calls post routines before stopping event dispatcher, In case of QGuiApplication post routines are called from QCoreApplication destructor, so no more event dispatcher. This behavior is not consistent and creates troubles when releasing resources of web engine. Attached test will hang on windows with QGuiApplication, however works fine with QApplication. Task-number: QTBUG-79864 Change-Id: Ice05e66a467feaf3ad6addfbc14973649da8065e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Remove QTabletEvent::PointerType::XFreeEraserShawn Rutledge2020-04-022-3/+1
| | | | | | | | | | | | | | | | | | This is an artifact of pre-Qt 5 Wacom driver implementation, hasn't been in use during the Qt 5 series, but was kept for source compatibility with very old sources. Let's hope the usages are all gone by now. Change-Id: I39dc36699510ea5e51cacd369470264fd8a27b37 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge QGuiShortcut and QShortcut again in QtGuiVolker Hilsheimer2020-03-297-463/+669
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QShortcut has only one widget specific feature, which is whatsThis; that is just a QString, so the setters and getters can just as well be in QtGui. The widgets specific implementation of shortcut matching and of showing the whatsThis balloon stays in QtWidgets, in the private implementation. Using virtual functions in the private we can override the empty default in QtGui, and by adding a virtual factory function in QGuiApplication, the correct private is instantiated depending on the kind of application running. Change-Id: I09ae4a5482f9fb70940c5e2bfe76d3d7fd710afc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove QGuiAction again and split QAction implementation up insteadVolker Hilsheimer2020-03-2910-330/+581
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Duplicating the number of classes is a high price to pay to be able to have some QAction functionality behave differently, or be only available in widgets applications. Instead, declare the entire API in QtGui in QAction* classes, and delegate the implementation of QtWidgets specific functionality to the private. The creation of the private is then delegated to the Q(Gui)ApplicationPrivate instance through a virtual factory function. Change some public APIs that are primarily useful for specialized tools such as Designer to operate on QObject* rather than QWidget*. APIs that depend on QtWidgets types have been turned into inline template functions, so that they are instantiated only at the caller side, where we can expect the respective types to be fully defined. This way, we only need to forward declare a few classes in the header, and don't need to generate any additional code for e.g. language bindings. Change-Id: Id0b27f9187652ec531a2e8b1b9837e82dc81625c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Fix compilation with -no-feature-regularexpressionEskil Abrahamsen Blomfeldt2020-03-171-0/+1
| | | | | | | | | | | | | | | | | | This -no-feature has probably not been tested for a while and seems to have rotted a bit, both some unprotected uses and some warnings on unused parameters. Change-Id: Ie20a06c78d3b4c36860dab49d6615eaa8ffc9077 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devSimon Hausmann2020-03-163-78/+80
|\| | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp Change-Id: I88eb0d3e9c9a38abf7241a51e370c655ae74e38a
| * qpa: Return accepted state from mouse, touch and wheel handlersLorn Potter2020-03-132-77/+79
| | | | | | | | | | | | | | | | Return the value from handleWindowSystemEvent so platform plugins can detect whether it was accepted or not. Change-Id: I53ffb713afc8e0ec1789107c912433133cfaa11a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Fix range-loop implicit copy warningMorten Johan Sørvig2020-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Make the copy explicit. qhighdpiscaling_p.h:282:24: warning: loop variable 'rect' has type 'const QRectF &' but is initialized with type 'const QRect' resulting in a copy [-Wrange-loop-analysis] for (const QRectF &rect : pixelRegion) { ^ Change-Id: I4080ff42c41e464d081ab2b01cb2d010867b041b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Initial cleanup of qevent.h for Qt6Allan Sandfeld Jensen2020-03-052-137/+18
| | | | | | | | | | | | | | | | | | | | | | | | Takes care of the first round of todos and deprecations for Qt6 in qevent. Not touching anything that might interfere with changing the class hierarchy as the file also suggest. Change-Id: If72d63d8932f1af588785bf77b34532358639a63 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devLars Knoll2020-03-042-6/+17
|\| | | | | | | Change-Id: I99ee6f8b4bdc372437ee60d1feab931487fe55c4