summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* QtGui: Enable synchronous delivery for QWSysIf:::WindowScreenChangedEventFriedemann Kleint2018-05-082-2/+4
| | | | | | | Task-number: QTBUG-67777 Change-Id: I6d52b650fb33283010ef06259da83cdb2fd3483f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QShortcutMap: print ambiguous shortcuts when DEBUG_QSHORTCUTMAP is definedMitch Curtis2018-05-071-0/+13
| | | | | | | | | | | | | This is useful to see why shortcuts (in Qt Widgets and Qt Quick) are not behaving as expected. For example: The following shortcuts are about to be activated ambiguously: - QKeySequence("Esc") (belonging to QQuickShortcut(0x7fcd4c8e6a70, name = "exploreViewBackOrCloseShortcut")) - QKeySequence("Esc") (belonging to QQuickPopupItem(0x7fcd4c8e5110)) Change-Id: Id20a3017d69cfe417c2286dccf46b3d5ff0b31b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix for mouse with modifiers handlingKarim Pinter2018-05-022-23/+2
| | | | | | | | | | | | Modifier keys are saved in qinputdevicemanager such way that both evdev and libinput can use it the same way, it is also handling the repeating modifier key events. Evdev support is important for VxWorks support because it is using it. Task-number: QTBUG-60694 Change-Id: I49038cb7fe2ad5134b3a37167c19953867ea31c3 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QStyleHints: emit correct signal when calling setMouseQuickSelectionThresholdAkihito Izawa2018-04-131-1/+1
| | | | | | Change-Id: Ieb76ecc406c25ca11a108775ebd46a8e597401b5 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Parse XDG_SESSION_TYPE and use that to determine default platformAllan Sandfeld Jensen2018-04-041-0/+15
| | | | | | | | Makes Qt application try to launch using wayland in a wayland session, even if it was a default desktop build. Change-Id: Ib7d4a79fbe777527d1862bd775627afae10b1e9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* macOS: Document availability of freetype font engineEskil Abrahamsen Blomfeldt2018-04-041-0/+6
| | | | | | | | | Since we have this documentation for the Windows platform plugin, it makes sense to also have it for Cocoa. Task-number: QTBUG-67372 Change-Id: I170ae251572c8e209643a582cdd7350aaf5c7ccd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QWindowWindow: Avoid resize events from the ctorLaszlo Agocs2018-03-131-0/+3
| | | | | | | | | | | | | | | | When calling showFullScreen(), the setwindowStates call in the QWindowsWindow constructor led to generating a resize event. This is pretty bad for example when QOpenGLWindow is involved since the QWindow's platformWindow member is not even set yet (handle() == nullptr) so everything related to OpenGL contexts starts failing (as there is no underlying platform window yet as far as the QWindow is concerned). In short, generating geometry changes from the platformwindow ctor is a bad idea. Use initialize() instead for that. Task-number: QTBUG-67027 Change-Id: I35d11949213eb21f81b2ff2d4f2282cb36510210 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use QWindow::windowStates() for WindowStateChangedEvent::oldStateJohan Klokkhammer Helsing2018-03-131-1/+1
| | | | | | | | | WindowStateChangedEvent::oldState is of type Qt::WindowStates and should therefore be set to QWindow::windowStates() instead of QWindow::windowState() Change-Id: I6710624dd303642a31bfbb25bc07bf05b921d84c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Check for WindowActivation capability instead of platformJohan Klokkhammer Helsing2018-03-062-1/+2
| | | | | | | | | | | Before running tests that depend on QWindow::requestActivate Gets rid of several Wayland platform checks in tst_QWindow. Change-Id: I7a5e029044a968dfcf87ecbb5105c01d52852d35 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Add needsWorkaround for additional Adreno targetsHerman van Hazendonk2018-03-011-2/+6
| | | | | | | | | | | | | Seems this issue is still there with Adreno 5xx and 6xx is suspected to have it as well (no device to test though), so added both 5xx and 6xx to cover these. Updated 30x to 3xx in order to cover Adreno 320 and 330 as per https://en.wikipedia.org/wiki/Adreno. Amends 9ae028f507a22bd03c861e9d14c2efc4aa2efeda Task-number: QTBUG-66702 Change-Id: I6ce3f6499d3ff9da884be45039e5f5e0990f7e1f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* doc: improve QPlatformIntegration::possibleKeys() documentationGatis Paeglis2018-02-221-4/+5
| | | | | | | | | | | | | - There is no need to mention qkeymapper, which is an internal implementation detail. - Describe the encoding of int. - Add a note that calling possibleKeys() outside key event handler context is not valid. Change-Id: Ife9b7d1496f04b5a433ed2d56f29c4f01f174441 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* xcb: Fix -geometry argument for platformName with arguments or fallbacksJohan Klokkhammer Helsing2018-02-201-4/+4
| | | | | | | | | | | | | | | | | | | | | -geometry, -title and -icon for xcb did not work if the platform string had arguments or there were fallback platforms. Only accept the arguments if xcb is the default platform. I.e. ignore the arguments if xcb is a fallback. This now works: ./application -platform "xcb:someArg=value" -title specialXcbTitle ./application -platform "xcb;wayland" -title specialXcbTitle ./application -platform "xcb:someArg=value;wayland" -title specialXcbTitle But this does not: ./application -platform "wayland;xcb:someArg=value" -title specialXcbTitle Change-Id: I4ee20b1ed722bc98417a5e75db7d8c98ffcdfcfe Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Support multiple entries in the Qt platform plugin stringJohan Klokkhammer Helsing2018-02-201-27/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtGui] QT_QPA_PLATFORM and the -platform argument now support a list of platform plugins in prioritized order. Platforms are separated by semicolons. The plugins are tried in the order they are specified as long as all preceding platforms fail gracefully by returning nullptr in the implementation of QPlatformIntegrationPlugin::create() This is useful on Linux distributions where the Wayland plugin may be installed, but is not supported by the current session. i.e. if X11 is running or if the compositor does not provide a compatible shell extension. Example usage: QT_QPA_PLATFORM="wayland;xcb" ./application or ./application -platform "wayland;xcb" Task-number: QTBUG-59762 Change-Id: Ia3f034ec522ed6729d71acf971d172da9e68a5a0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Add Wayland in the documentation for QGuiApplication::platformNameJohan Klokkhammer Helsing2018-02-191-0/+2
| | | | | Change-Id: Ie19dbeeba6cd9664ad546dd2b2ae0bf6cbd199a0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Fix incorrect documentation for -platform, QT_QPA_PLATFORM and friendsJohan Klokkhammer Helsing2018-02-191-5/+5
| | | | | | | | | | | | This makes the documentation match the implementation. -platform overrides QT_QPA_PLATFORM, not the other way around. Similarly for the other arguments. Change-Id: Iffaf8bb1134bc57e5b682f37b9cc1a713872ede1 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-151-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/corelib.pro src/corelib/global/qrandom.cpp src/network/access/qhttpnetworkrequest_p.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoansmenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/offscreen/qoffscreenintegration.h src/widgets/kernel/qaction.cpp src/widgets/widgets.pro Done-with: Andy Shaw <andy.shaw@qt.io> Change-Id: Ib01547cf4184023f19858ccf0ce7fb824fed2a8d
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-02-022-8/+30
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp Change-Id: Ia28ea4f29d308ba3aa16c2a86ffc57049c6ea590
| * \ Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-291-0/+2
| |\ \ | | | | | | | | | | | | Change-Id: I6b40ecee4db13e6329e7a0433b57c5bca473c63f
| * \ \ Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-242-2/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qrandom.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: Icc10543a1f2db5d640d01796bfec70a63517a6b2
| * | | | Fix resize event flood when moving windows with High DPI scalingFriedemann Kleint2018-01-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly scale the requested geometry in the constructor of QWindowSystemInterfacePrivate::GeometryChangeEvent(). Amends 3a31c708790ba2bb3cf3dab32a17a83659a1acde. Task-number: QTBUG-57608 Task-number: QTBUG-65580 Change-Id: I0ef60deda69bb61ab57972e02c342b7773e1da6b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | | Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-145-9/+34
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * | | | QSimpleDrag: Fix mouse release coords for delayed event transmissionEike Hein2018-02-012-8/+30
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On platforms such as XCB, the drag cursor pixmap is shown via a window (a QShapedPixmapWindow) under the cursor. The mouse button release event at the end of the drag is received in this QXcbWindow, but intercepted by an event filter that QSimpleDrag installs on the QApplication. It then resends it unmodified(!) after the drag has ended and the drag pixmap window destroyed, causing it to be delivered to the new top-level window. The local coordinates in the unmodified QMouseEvent are local to the drag pixmap window and don't match the window it is delayed-transmitted to. This ends up having fatal, user-visible effects particularly in Qt Quick: QQuickWindow synthesizes a hover event once per frame using the last received mouse coordinates, here: the release posted by QSimpleDrag. This is done to update the hover event state for items under the cursor when the mouse hasn't moved (e.g. QQuickMouseArea:: containsMouse). The bogus event coordinates in the release event then usually end up causing an item near the top-left of the QQuickWindow to assume it is hovered (because drag pixmap windows tend to be small), even when the mouse cursor is actually far away from it at the end of the drag. This shows up e.g. in the Plasma 5 desktop, where dragging an icon on the desktop will cause the icon at the top-left of the screen (if any) to switch to hovered state, as the release coordinates on the drag pixmap window (showing a dragged icon) fall into the geometry of the top-left icon. QSimpleDrag contains a topLevelAt() function to find the top-level window under the global cursor coordinates that is not the drag pixmap window. This is used by the drop event delivery code. This patch uses this function to find the relevant top-level window, then asks it to map the global cusor coordinates to its local coordinate system, then synthesizes a new QMouseEvent with local coordinates computed in this fashion. As a result the window now gets a release event with coordinates that make sense and are correct. Task-number: QTBUG-66103 Change-Id: I04ebe6ccd4a991fdd4b540ff0227973ea8896a9d Reviewed-by: Eike Hein <hein@kde.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | Do not allow empty selectionsBogDan Vatra2018-01-271-0/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | Allowing empty selections leads to strange behavior, it switches from selection handles to cursor handle. Change-Id: Ida69346e2a47b13c92cfd68a555d6b94422bb580 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Support for Q_OS_ANDROID_EMBEDDED and android-embedded build flagsOtto Ryynänen2018-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Embedded Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build embedded Android builds. (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I8406e959fdf1c8d9efebbbe53f1a391fa25f336a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Enable glyph cache workaround for Mali-T880Tero Alamäki2018-01-191-0/+1
| | | | | | | | | | | | | | | Change-Id: I531e57c26e886cd8de09ca860d7e10b05d1a724b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Fix typosJarek Kobus2018-02-131-1/+1
| | | | | | | | | | | | | | | Change-Id: Id625efea998f2b4dce9970b903830dc3b3efcd3d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into 5.11Liang Qi2018-02-108-5/+72
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvarlengtharray.qdoc src/corelib/tools/qvector.qdoc Resolved documentation changes in favor of 017569f702b6dd0, which keeps the move overloads along with its const-ref sibling. Change-Id: I0835b0b3211a418e5e50defc4cf315f0964fab79
| * | | QLineEdit: implement quick text selection by mouseElvis Angelaccio2018-02-036-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a standard feature in GtkEntry widgets or HTML <input type="text"> elements. During a normal text selection by mouse (LeftButton press + mouse move event), it's now possible to quickly select all the text from the start of the selection to the end of the line edit by moving the mouse cursor down. By moving it up instead, all the text up to the start of the line edit gets selected. If the layout direction is right-to-left, the semantic of the mouse movement is inverted. This feature is only enabled if the y() of the mouse move event is bigger than a fixed threshold, to avoid unexpected selections in the normal case. This threshold is set by the QPlatformTheme and a value smaller than zero disables this feature. The threshold is updated whenever the style or the screen changes. [ChangeLog][QtWidgets][QLineEdit] Implemented quick text selection by mouse in QLineEdit. Change-Id: I4de33c2d11c033ec295de2b2ea81adf786324f4b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | Support for LTTNG and ETW tracingRafael Roquetto2018-01-281-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces minimal support for instrumentation within Qt. Currently, only LTTNG/Linux and ETW/Windows are supported. Change-Id: I59b48cf83acf5532a998bb493e6379e9177e14c8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Improve debug formatting of QInputMethodQueryEventFriedemann Kleint2018-01-241-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add more queries, output the query enumeration value and output the hints as flags. Change-Id: Icfc648a8d6e144074455ecebae1b25c3c3e1063e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | QPlatformWindow: add startSystemMove()Alexander Volkov2018-02-042-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be used by custom widgets or for example by the Breeze style from KDE, which allows to drag windows by some widgets. It's important on X11 because _NET_WM_MOVERESIZE requests induced by touch sequences require support from Qt. Task-number: QTBUG-58044 Change-Id: I31c37534555a9050cf361cad85bdef13c2808572 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | doc: Add tests of Q_CLANG_QDOCMartin Smith2018-02-032-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some defined(Q_CLANG_QDOC) uses were added. Change-Id: I5688fee0d0d8f00bb97e3e63bd02a68ddbfdda11 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | | Skip QWSIF::WindowScreenChanged events if the screen is unchangedFriedemann Kleint2018-02-021-0/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WindowScreenChanged events might be reported repeatedly from the QPA backends until the event has reached GuiApplicationPrivate::processWindowScreenChangedEvent() which sets the screen. Ignore events in case the screen is already correct. Task-number: QTBUG-65580 Task-number: QTBUG-62971 Change-Id: Ie5fc9830771e816db942355efbe5a48e829914cb Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | doc: Fix many qdoc warnings, mostly missing return typesMartin Smith2018-01-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed many cases of missing return types in \fn commands. Added a fake GLxxx typedef for a GL type that wasn't there because the GL includes weren't accessible. Also added some fake declarations for a few functions declared in namespace Qt in QtWidgets that must be seen by qdoc in QtCore. Change-Id: Id82476042d0563d32fa85c4ae81a58c1298a468a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Fix remaining qdoc warmings for Vulkan stuffMartin Smith2018-01-184-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several uses of #if QT_CONFIG(vulkan) were modified to for classes QVulkanFunctions and QVulkanDeviceFunctions was added to qplatformvulkaninstance.h, because the include file that contains them doesn't exist when vulkan isn't there. Change-Id: I392202ab5fe9bb4c558a991870e6ebf79254aec0 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Introduce QIcon::fallbackSearchPaths()Alexander Volkov2018-01-152-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... that will be used if an icon can't be found in the current theme. The Icon Theme Specification https://standards.freedesktop.org/icon-theme-spec/latest/ar01s05.html states that unthemed icons must be searched in the base directories, i.e. /usr/share/icons, ... But in practice unthemed icons are installed into /usr/share/pixmaps and this dir is not used as a base dir for icon themes. So it's better to explicitly specify fallback dirs to avoid needless access to the filesystem. Also some KDE application install their own unthemed icons (into /usr/share/<appname>/pics), that can't be found by QIconLoader. With this change it would be possible for them to specify dirs with unthemed icons and thus be displayed correctly in non-KDE environments. [ChangeLog][QtGui][QIcon] Added fallbackSearchPaths() that will be used to find icons missing in the current icon theme. Change-Id: I0dc55ba958b29356a3b0a2123d6b8faa24d4c91e Task-number: QTBUG-33123 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | doc: Add QTouchEvent qualifier to uses of QTouchPointMartin Smith2018-01-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | QTouchPoint is declared inside QTouchEvent, so \fn commands for functions in QTouchPoint must use QTouchEvent::QTouchPoint:: as the qualifier. Change-Id: I1dffe9f43f9f8bddbaa8fab9f77cf17802cf8b26 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-112-15/+18
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/src/hb-private.hh src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/sql/doc/src/sql-driver.qdoc Change-Id: I38f0e82fcd37926cbf3c1915e009a731040d4598
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-091-0/+1
| |\| | | | | | | | | | Change-Id: I840849c072075a69819eb185b20bc42c3de0f825
| | * Avoid providing bad pixelDeltas on X11Allan Sandfeld Jensen2018-01-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With libinput we now get a hardcoded resolution that is unrelated to the hardware. So avoid using that as a real pixel delta and document pixel deltas as being driver specific and unreliable on X11. Task-number: QTBUG-59261 Change-Id: I9fe86d80e7ccd290ed2e4091d7eafa52cb537d34 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Marco Martin <mart@kde.org> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| * | Make QPalette::setBrush() check before detachingGabriel de Dietrich2018-01-041-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting the same brush on the same group and role should not detach nor alter the result of QPalette::isCopyOf(). Task-number: QTBUG-56743 Change-Id: Ic2d0dd757d703b01e8c5d835a8c124b3317653f4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QGuiApplication: Add fontChanged signalKai Uwe Broulik2018-01-112-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the need to install an event filter on qApp just for this. A similar thing was done with setPalette to reduce the number of event filters in e.g. SystemPalette and Quick Controls. [ChangeLog][QtGui][QGuiApplication] Added fontChanged signal Change-Id: Ifa843aa42b91ac63ab17c3b064ac0e764aac77d3 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-041-2/+1
|\| | | | | | | | | | | Change-Id: I644cd82b0d952b7d139e0228bf5017f147db77e7
| * | QtGui/Windows: Fix restoring of changed cursor in restoreOverrideCursor()Friedemann Kleint2018-01-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unconditionally apply window cursors restoreOverrideCursor() also for platforms with override cursor capability in case a cursor was changed while the override cursor was active. Amends b05d1c2ebfebf0f427a92668c0a7b177d0952012. Task-number: QTBUG-65001 Change-Id: I7fd38a27dcf045f2fb48a16abb484342feaab5df Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | | Merge remote-tracking branch 'origin/5.10' into devLars Knoll2018-01-0214-5/+121
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf sc/corelib/io/qfsfileengine_p.h src/corelib/io/qstorageinfo_unix.cpp src/platformsupport/eglconvenience/qeglpbuffer_p.h src/platformsupport/input/libinput/qlibinputkeyboard.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/ios/qiosscreen.h src/plugins/platforms/ios/qioswindow.h src/plugins/platforms/ios/quiview.mm src/printsupport/dialogs/qpagesetupdialog_unix_p.h src/printsupport/dialogs/qprintpreviewdialog.cpp src/printsupport/widgets/qcupsjobwidget_p.h src/widgets/widgets/qmenu.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-12-3012-3/+103
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/win32-g++/qmake.conf src/corelib/global/qglobal_p.h src/corelib/global/qoperatingsystemversion_p.h src/corelib/io/qfilesystemengine_win.cpp src/network/bearer/qbearerengine.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qfusionstyle.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
| | * Teach QPlatformWindow about safe area margins and implement for iOSTor Arne Vestbø2017-12-138-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The safe area margins of a window represent the area that is safe to place content within, without intersecting areas of the screen where system UI is placed, or where a screen bezel may cover the content. QWidget will incorporate the safe area margins into its contents margins, so that they are are never smaller than the safe area margins. This can be disabled by unsetting the Qt::WA_ContentsMarginsRespectsSafeArea widget attribute, which is set by default. QLayouts will automatically use the contents area of a widget for their layout, unless the Qt::WA_LayoutOnEntireRect attribute has been set. This can be used, along with a contents margin of 0 on the actual layout, to allow e.g. a background image to underlay the status bar and other system areas on an iOS device, while still allowing child widgets of that background to be inset based on the safe area. [ChangeLog][iOS/tvOS] Qt will now take the safe area margins of the device into account when computing layouts for QtWidgets. Change-Id: Ife3827ab663f0625c1451e75b14fb8eeffb00754 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Report modifiers correctly in mouse events with evdev and libinputLaszlo Agocs2017-12-123-0/+49
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-60694 Change-Id: I7b1625e5f31e49cd2ab18a83bbd0f65f9b58088d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * Do not allow drag events when window is blocked by modal windowFriedemann Kleint2017-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for QWindowPrivate::blockedByModalWindow in QGuiApplicationPrivate::processDrag(). Task-number: QTBUG-46287 Change-Id: I8f43de8389f34458f9e10b37b94806b47a50d40a Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * iOS: Harden logic for when it's safe to use the graphics hardwareTor Arne Vestbø2017-12-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To fix QTBUG-52493 we tied the exposed state of a window to the application being in the foreground. This has the result of a visible flash of black between hiding the launch screen and showing the first frame of the application, as the application is still waiting for UIApplicationStateActive to begin rendering, which happens after iOS hides the launch screen. According to the iOS OpenGL ES Programming Guide, it should be safe to render GL in UIApplicationStateInactive as well, and even in UIApplicationStateBackground, as long as the rendering finishes before the UIApplicationDidEnterBackgroundNotification returns. To ensure that we catch any bugs in this area, checks have been added that verify that no rendering happens while in the background state. Task-number: QTBUG-63229 Task-number: QTBUG-52493 Task-number: QTBUG-55205 Change-Id: Ib42bedbeddd7479ab0fb5e5b7de9f5805658e111 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>