summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Make local symbols of some leaked namesThiago Macieira2018-08-032-17/+18
| | | | | | | | | Unnamed namespaces and static are great tools. Use them. Change-Id: Ie01831ddac5446fdbdeefffd15468b3acb3ced79 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Don't ignore alpha values in grabFramebuffer methodsAllan Sandfeld Jensen2018-08-031-1/+2
| | | | | | | | | Returns an ARGB32_Premultiplied image when the framebuffer is grabbed on a transparent QOpenGLWidget or QOpenGLWindow. Task-number: QTBUG-55245 Change-Id: I4b7778ecc38275be1ed9fb748c77c7e1f6b65a00 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Don't trigger composeAndFlush for native child widgets unless neededTor Arne Vestbø2018-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | The textureChildSeen flag is set on each widget the first time it has a child needing textures, which triggers the composeAndFlush codepath. If a top level widget had a child needing this codepath, but other native children not needing it, we ended up always using composeAndFlush for the native children, since we were checking textureChildSeen of the top level widget. We should check the child widget instead, which will never have the flag set unless itself had children that required composeAndFlush. This matches the logic in findAllTextureWidgetsRecursively, which also checks the child widget and not the top level widget. Done-width: Laszlo Agocs <laszlo.agocs@qt.io> Change-Id: I65064eef41e56d9c1a789a96cedb98b11e8a177a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Merge branch '5.11' into devEdward Welbourne2018-07-312-8/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakebuiltins.cpp src/plugins/platforms/windows/qwindowstabletsupport.h src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Done-With: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I000b0eb3cea2a5c7a99b95732bfdd41507cf916e
| * Doc: Make reference to platform styles version agnosticPaul Wicking2018-07-251-4/+3
| | | | | | | | | | | | | | | | Remove platform/version specific reference to avoid outdated docs. Task-number: QTBUG-64304 Change-Id: Ief9d5db95fa1f865fd826a6426b1621e81bdb6ce Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Reset geometry constraints when removing stylesheetSergio Martins2018-07-171-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | CSS geometry constraints such as "min-height" or "min-width" will set size constraints on the widget. Removing the stylesheet should remove these constraints. Task-Id: QTBUG-69418 Change-Id: I1008e4390281c90112303d72dd7d59a8acddfcd9 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMacStyle: Remove handling of defunct _q_styleObjectWindow propertyTor Arne Vestbø2018-07-302-9/+0
| | | | | | | | | | | | | | | | | | | | It was supposed to be used in Qt Quick Controls 1, for the desktop style, but the followup patches in QQC1 never landed, and QQC1 is now deprecated. Change-Id: Iceefd523fc02a9e48b986dc33bb13a41804dd199 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | QTabBar: fix mixed up left and right css pseudo classesChristian Ehrlicher2018-07-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The pseudo classes left and right for QTabBar were mixed up. This resulted in the fact that the east (=right) tab position was selected with QTabBar::tab::right and the west with ::left [ChangeLog][QTabBar][QTabBar] fixed mixed up css pseudo class for left and right Task-number: QTBUG-18146 Change-Id: I9f485f21c0a1c54bfac757a6f530aeeeef9b08bc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Inline deprecated QTest::qWaitForWindowShownTor Arne Vestbø2018-07-202-7/+2
| | | | | | | | | | | | Change-Id: Ie8c3975643b9d7e60caf9de4dd3eaa13066a1028 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Remove strange icon highlight for active menu itemThorbjørn Lund Martsum2018-07-181-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows and macOS do not highlight the icon for an active menu item. It requires quite a few kludges in styles and/or stylesheets to make it behave and we simply should not highlight this icon. [ChangeLog][QtWidgets][QMenu] Removed icon highlight when a stylesheet was applied the application. Task-number: QTBUG-69199 Change-Id: I35c5b255766254d11312d7f86c625b811d1dfd64 Reviewed-by: Morten Kristensen <msk@nullpointer.dk> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Thiago Macieira2018-07-175-10/+12
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-175-10/+12
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbintegration.cpp Conflicts git missed: src/plugins/platforms/qnx/qqnxglcontext.cpp Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
| | * QCalendarWidget: update the year label correctly on locale changeEirik Aavitsland2018-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The year label in the header would show an unlocalized year number. Fix by setting it equal to the year editor's correctly localized string. Task-number: QTBUG-69038 Change-Id: I87148c607b8fb498c57bcf59bc175154c9e445d1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * QLineEdit: Fix behavior of DeleteStartOfWord keyAlexander Volkov2018-07-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | DeleteStartOfWord key behaves like Delete key when the cursor is at the beginning of the line. Do nothing instead. Task-number: QTBUG-65855 Change-Id: I56402961b44ec6fe3a382df68a76db36891c4522 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Doc: Remove redundant \codePaul Wicking2018-07-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The preceding snippet contains the same line of code. It is unclear why this line is repeated, and it does not seem to serve a purpose. This patch removes the line of code and the QDoc command used to set it apart from the preceding snippet. Task-number: QTBUG-56772 Change-Id: I400b22aa75ee4542bfb67f7e47e3c31c577a39e5 Reviewed-by: Martin Smith <martin.smith@qt.io>
| | * Doc: Explain emission of QAction::changed on calling QAction::togglePaul Wicking2018-07-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend description of QAction::checked() and QAction::toggled(), as it is not clear from the documentation that calling QAction::toggle causes the emission of a QAction::changed signal. Task-number: QTBUG-68213 Change-Id: I5afa4d9a6e6f001dff81271d1e34d0c515da3c24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Show the toolbutton's menu in the right place on multiple screensAndy Shaw2018-07-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a screen is positioned to be above another, then the toolbutton menu could be shown on the wrong screen if it was deemed to not fit below the button the same screen. This ensures that it shows it on the right screen when there is sufficient space to do so. Change-Id: Ia626b28f74c1931904ff5b30cca17e63914d3c79 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * QSplashScreen: Pass the layout direction set on widget to the painterAndy Shaw2018-07-101-0/+1
| | | | | | | | | | | | | | | Change-Id: I6adc9f6fd77b6e9f9387393884e13285f4452018 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Remove left-over commentFrederik Gladhorn2018-07-161-2/+0
|/ / | | | | | | | | | | | | This is private API and the protected does hardly matter. Change-Id: I8e5c99db16d521d47eb9a5fb57a6519301d63a9b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | testlib: Move qtestsystem helpers to their respective modulesTor Arne Vestbø2018-07-163-2/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | Having the helpers in each respective module lets us implement the helpers using private APIs without forcing the test to add private dependencies. It also makes it easier to test Qt using a third party testing framework (for running the test suite), while still using the helpers for ensuring tests behave expectedly. Change-Id: I2a6ce24526ed345f3513548f11da05c7804c203f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add QStyle::SH_SpinBox_StepModifier style hintNathan Collins2018-07-124-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows the developer to pick which keyboard modifier increases the number of steps a QAbstractSpinBox takes when the user interacts with it. The modifier can be either Qt::ControlModifier (default), Qt::ShiftModifier or Qt::NoModifier. Qt::NoModifier disables the step modifier. Note that on macOS, Control corresponds to the Command key. Holding the modifier increases the step rate when: - scrolling; - pressing the up/down keys; - pressing the spin box up/down buttons. [ChangeLog][QtWidgets][QStyle] QStyle::SH_SpinBox_StepModifier allows the developer to pick which keyboard modifier increases the number of steps a QAbstractSpinBox takes for the following interactions: scrolling, up/down keyboard keys and the spin box buttons. The Qt::ShiftModifier can now be used, or the feature can be disabled using Qt::NoModifier. Previously, only Qt::ControlModifier could be used as the modifier. Change-Id: Ib5518127e86a8f67798a9a1d6e860c6e35896e6f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Fix build with '-no-feature-action' configurationValentin Fokin2018-07-126-0/+28
| | | | | | | | | | | | | | Task-number: QTBUG-68353 Change-Id: Ia949e4a72a363df5fba86504e5f7e3ce8a3ad347 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QSystemTrayIcon/X11: Move platform-specific calls to the xcb pluginAlexander Volkov2018-07-101-24/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Detect the tray icon window in the platform plugin by the object name. This way we don't need QXcbWindowFunctions::requestSystemTrayWindowDockIdentifier(). - Get rid of unused calls QXcbIntegrationFunctions::xEmbedSystemTrayVisualHasAlphaChannel() and QXcbWindowFunctions::setParentRelativeBackPixmap(). - Mark the tray icon window as embedded to be able to get the correct result from QWindow::mapToGlobal(). It allows to drop QXcbWindowFunctions::systemTrayWindowGlobalGeometry(). This change allows to remove the intermediate level between the QSystemTrayIconSys widget and the xcb plugin. The code looks clearer. Change-Id: I7d067131287a6dec162b36f0bddc8cb518aaa38c Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | xcb: Fix artifacts on the tray background with lock screensAlexander Volkov2018-07-101-42/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current method of painting the tray icon with 24 bpp visuals we grab the window's background once on the first show and then use it in all paint operations. This leads to a wrong background if an application shows the system tray icon when the lock screen is active. We can avoid this by painting with XRender when it's available. This change introduces QXcbSystemTrayBackingStore and moves the selection of a suitable painting method from QSystemTrayIconSys into it. In addition the visual for the window is selected according to the system tray specification and the platform window for the tray icon is created without needless OpenGL and Vulkan support. Task-number: QTBUG-55540 Change-Id: Ib3ca42bc02dcbdd4ccfe5d6e23f870ef22f0d25a Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | QAccessibleTabButton: fix isValidFrederik Gladhorn2018-07-082-1/+9
| | | | | | | | | | | | | | | | | | | | | | The button interface is faking everything to represent the buttons when it comes to accessibility, since they are not represented by a QWidget. When the parent TabBar is in its destructor, isValid should return false to prevent accessing it. Task-number: QTBUG-69283 Change-Id: Ifedf3fa45f9106723afb0b04922b071a3c5467c3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-07-027-19/+46
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: Mårten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
| * QMenuBar: Account for displays that are above 0x0Andy Shaw2018-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If a display is placed above a primary screen which has the top left set to be 0x0, then menus that are defaulting to go up can still be displayed on that screen when the menubar is placed on the bottom of it. This ensures that this is the case and also adds a manual test to aid verification of it in the future. Change-Id: Ib657ccdc1aabfe1586c72585c087ac80a6c632c2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Return a correct filter from QFileDialog::selectedMimeTypeFilter()Alexander Volkov2018-06-271-13/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFileDialog::selectedMimeTypeFilter() returns either an empty filter in the case when a platform file dialog doesn't implement mime type filters, or initiallySelectedMimeTypeFilter() in the case of Qt's file dialog. In both cases the result is incorrect. Make it return a mime type filter corresponding to a selected name filter. As a result, tst_QFiledialog::setMimeTypeFilters() has to be fixed: QFileDialog::selectMimeTypeFilter() can't select a name filter for an invalid mime type, and "application/json" is not supported by RHEL 6.6, so replace it by "application/pdf". Change-Id: I58d3be860a9b5e8a72cba86d74b520178115a812 Reviewed-by: David Faure <david.faure@kdab.com>
| * Fix interaction with the menu bar on touchscreensAlexander Volkov2018-06-251-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore synthesized mouse move events whithout the left mouse button pressed. We receive such mouse move event on touch before the mouse press event, it causes the menu to show and then the subsequent mouse press event closes the menu. Also don't propagate mouse events after closing a popup to another popup, because they may close the latter one. Change-Id: I50a2d9b57da63d33ffe416161a09f1696d65c88f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Doc: Add missing full stops in briefsPaul Wicking2018-06-212-2/+2
| | | | | | | | | | | | Task-number: QTBUG-68933 Change-Id: I3f2a9f8c562f9a44bb32bddd31d75abbfe6de04d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * QHeaderView: Send the StatusTip events to itself if there is no parentAndy Shaw2018-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | If there is a parent (typically an itemview) then StatusTip events should be sent to that. However in the case of there not being a parent then the event should be sent to the QHeaderView itself. Task-number: QTBUG-68458 Change-Id: I2a8c11c973210c7adf1bf29443f224f968a357a9 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Merge 5.11 into 5.11.1Oswald Buddenhagen2018-06-073-1/+6
| |\ | | | | | | | | | Change-Id: I28f48e980a9e23ddde5251608dd9d1d83df65392
| * | Don't set the wasDeleted flag in ~QWidgetLars Knoll2018-06-072-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting it too early can cause issues, as we are still doing lots of work here as e.g. calling hide() on children. But the flag is required when we delete the declarative data, so set and reset it when destroying that data. Amends c579f49e2a80a55a4004ff8e5b2ee76bda146387 Task-number: QTBUG-68637 Change-Id: I7ed35828c26912aa6d703ba6025e46b7911353fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Tracepoints: add tracing for QEventsGiuseppe D'Angelo2018-06-283-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tracepoints in all the main codepaths for event handling: * QEvent ctors/dtor * QCoreApplication::postEvent, sendEvent and sendSpontaneousEvent * QCoreApplication / QApplication::notify, and around the handling of event filters as well I'm switching the name of the tracepoints themselves to have the very same casing of the functions in Qt's own source code, this improves readability a lot. The pre-existing ones will be changed in an upcoming patch. Change-Id: Iae2ba2bfdd76a82c85445bb5b86434e910427a70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | QTableView: update editor geometries directly after scrollbars are adjustedChristian Ehrlicher2018-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTableView::doItemsLayout() updated the scroll offset for the vertical header after layouting was done. Since the scroll offset affects the viewport of the editors, the adjustment was done too late. Therefore we update the scroll offset right after the scrollbars are set inside QTableView::updateGeometries() [ChangeLog][QtWidgets][QTableView] Fixed calculating geometries for editors Task-number: QTBUG-48244 Task-number: QTBUG-49548 Change-Id: I3b057764cf99d42d861928a1c73277d34b440f9a Reviewed-by: David Faure <david.faure@kdab.com>
* | | QTreeView: speedup expanding items via keyPressEvent/asteriskChristian Ehrlicher2018-06-251-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expanding items with asterisk is done with expand(QModelIndex) which in the end calls layout() which is very slow and useless until all items are expanded. Therefore delay the relayouting until all items are expanded. [ChangeLog][QtWidgets][QTreeView] Speedup expanding items when pressing asterisk Task-number: QTBUG-39486 Change-Id: Ieb798fc22e9fa0dcac4bb92de7e3ed3ebb9d1c38 Reviewed-by: David Faure <david.faure@kdab.com>
* | | QCommonStyle: properly elide last visible lineChristian Ehrlicher2018-06-251-40/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite QCommonStylePrivate::viewItemDrawText() to be able to elide lines which are too long and the last visible line. The painting is now done in one pass instead of two and lines which are not visible due to a size constraint are not painted at all. [ChangeLog][QtWidgets][Itemviews] Fixed eliding of multi-line items Task-number: QTBUG-12129 Task-number: QTBUG-14949 Task-number: QTBUG-57891 Change-Id: I3a41938e442663ecd7e5ca56bf6bbd857edafb7d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | widgets: fix QWidget::save/restoreGeometry()Gatis Paeglis2018-06-251-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidget::restoreGeometry() is calling QWidget::move() with restoredFrameGeometry, which internally calls setGeometry() and sets positionPolicy = QWindowPrivate::WindowFrameExclusive, which is invalid: restoredFrameGeometry is WindowFrameInclusive geometry. QPA plugins rely on correctly set policies when interpreting x,y. QWidget::move() was not designed for this AFAICT, so making it to accept frame geometry is no-op. It is widely used legacy code, changing it could cause regressions. Save/restore API was introduced in Qt 4.2, at that time we did not have APIs like QWindow::setFramePosition(), so its unclear why geometry() was not stored instead. The documentation also is somewhat unclear: "[..] save the geometry when the window closes [..]" Frame or client geometry? It does not specify. And from the code we see that frame geometry was passed as client geometry, not making the original intention clearer. Besides that, restoreGeometry() is full of other undocumented assumptions where to place windows and when to fail (fortunately its easy to write your own save/restore logic). Added a Qt 6 note in the source code. What this patch changes: Now we store geometry() in saveGeometry() and use that value in restoreGeometry() by setGeometry(). This does not cause any behavior difference in window positioning (tst_QWidget::saveRestoreGeometry still works). Geometry restored from data saved with earlier versions of saveGeometry() might be positioned at: x + leftMargin, y + topMargin. This patch makes tst_QWidget::saveRestoreGeometry to always fail instead of being flaky. Blacklisting for XCB instead of selected distros. Also enabled excluded code paths for XCB on tst_QDockWidget::restoreDockWidget(). It does not seem to be flaky, maybe it was in 2015, but lot of things have changed since then. Task-number: QTBUG-66708 Change-Id: Ic86a6fd091e2c71b7550b2f476386da704253cd4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | widgetwindow: send DragMove for every DragEnterGatis Paeglis2018-06-252-47/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as specified in the documentation. This was a regression from Qt4 and can cause mouse cursor flickering durig dragging on e.g. custom widget where some areas of the widget do not accept drag-and-drop. Task-number: QTBUG-67155 Change-Id: Iaa6f9407181931ed8e3d6a8fec13fd59d3c8625d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | QListView: do not delete item on internal moveChristian Ehrlicher2018-06-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an internal DnD occoures in IconMode, the item is moved to it's new place but the logic in filterStartDrag() has no clue about the fact that an internal move happend. Therefore the item gets deleted. Fix it by changing the event's drop action to Qt::CopyAction to avoid the deletion as it is done within QListWidget DnD code. [ChangeLog][QtWidgets][QListView] Do not delete item on internal move. Task-number: QTBUG-67440 Change-Id: I873d3c9fa76e107e108d9af0dcf8cecd1e18a18f Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | Add ObjectMode coordinate mode to QGradientEirik Aavitsland2018-06-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ObjectBoundingMode coordinate mode of QGradient allows specifying the gradient coordinates relative to the object being painted. But if the gradient brush also has a transformation, that transformation is applied in the logical, not object, coordinate space. That behavior is counterintuitive. However, changing it now would break existing code. Instead, we introduce a new coordinate mode enum with the expected behavior, and document the old one as deprecated. This prepares to fix the bugs below in qtsvg, by making it possible to specify the same behavior in Qt as SVG has. [ChangeLog][QtGui][QGradient] Add ObjectMode coordinate mode [ChangeLog][Important Behavior Changes] QDataStream version bumped up to 18 to account for changes in the serialization of QGradient. Task-number: QTBUG-59978 Task-number: QTBUG-67995 Change-Id: I8820a2555359812f3e1a46e37d6ac2cc29a2091d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | QToolbar: Un-hide the QLayout::indexOf non-virtualThiago Macieira2018-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Breaks the build with QT6_VIRTUAL qtoolbarlayout_p.h:99:9: error: 'QToolBarLayout::indexOf' hides overloaded virtual function [-Werror,-Woverloaded-virtual] Change-Id: I6efb28c3145047559ec0fffd15386c39739b42f9 Reviewed-by: David Faure <david.faure@kdab.com>
* | | Fix warning that QRegion::rects() is deprecatedThiago Macieira2018-06-181-1/+2
| | | | | | | | | | | | | | | | | | | | | Since we do need a container so we can sort, use std::back_inserter. Change-Id: I6efb28c3145047559ec0fffd153880918eb47184 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | QTreeWidget: Keep items hidden even if their parents are reparentedAndy Shaw2018-06-153-10/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an item is explicitly hidden, then it should stay that way even if its parent is reparented. The item itself needs to be explicitly shown for it to be made visible. Task-number: QTBUG-54843 Change-Id: I0c6eea9a936f82d5874e3246292bd16365440411 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Add itemAlignment property to QListViewAlexander Volkov2018-06-083-5/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property allows to change the default behavior in which list items occupy the entire width of their column. Setting it to Qt::{AlignLeft,AlignRight,AlignHCenter} will reduce their widths to the minimum values, thus allowing to have intermediate free space. Then the user will be able to begin selections by mouse from this space. [ChangeLog][QtWidgets][QListView] Added itemAlignment property. Task-number: QTBUG-56606 Change-Id: Iae55c251379be4e45d0c0d69175ff4388b5785b4 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-06-0848-149/+175
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * \ \ Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-0748-149/+175
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/kernel/qeventdispatcher_cf.mm src/gui/kernel/qguiapplication_p.h src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/qioseventdispatcher.mm src/plugins/platforms/windows/qwindowsdrag.h src/plugins/platforms/windows/qwindowsinternalmimedata.h src/plugins/platforms/windows/qwindowsmime.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
| | * | Fix build for Android with android-clang in r17Liang Qi2018-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-67464 Change-Id: Ib971a5da82b31bce9ac1c9ac623ad7d5302cfaec Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Fix building with -no-feature-dirmodel -no-feature-filesystemmodelJoni Poikelin2018-06-041-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I7ab90043b2bf6ee41412480f72eb701230cecb38 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * | QAbstractSpinBox: Add more documentation cross linksAndre Hartmann2018-06-041-0/+4
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stepUp() and stepDown() already linked to stepBy(), so add the reverse too. keyPressEvent() talks about stepBy() too, so add it to the cross reference. Change-Id: I22c841821331eaed9607cfb2807dcf0e2886d952 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>