summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* QDateTimeEdit: update cursor blinking code to match new APIRichard Moe Gustavsen2017-06-261-2/+2
| | | | | | | | Update old, if-deffed out, code to match changed method signatures. Change-Id: If9751599c9446f8dbd554a41ab97f597258fa1c5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Restrict QStyleHints::showShortcutsInContextMenus() to context menusFriedemann Kleint2017-06-262-2/+10
| | | | | | | | | | Amends c2c3452ba5b4c32d0c2d5df9193bf89986623ab5. Task-number: QTBUG-49435 Task-number: QTBUG-61181 Change-Id: I4de9dcb45a86fc2db07185a4a499a511fb1a1567 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QtWidgets: Change QTLWExtra::window from QWindow to QWidgetWindowMorten Johan Sørvig2017-06-222-11/+15
| | | | | | | | | | | | | Revert commit a1d4e4c9: We’re now using QWidgetWindow API from QWidget code. Add QWidgetPrivate::windowHandle() which returns a QWidgetWindow pointer. Use this function to remove casts where QWidgetWindow API is used. Change-Id: Ie66a69b5c0461f297996118dc907e1d7b3d78df5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Correctly set native widget window visibilityMorten Johan Sørvig2017-06-221-1/+2
| | | | | | | | | | | | | | | | After d7a9e08f, calling QWindow::setVisible(true) is a no-op if the widget is already visible. Use QWidgetWindow::setNativeWindowVisibility() instead to set visibility for the native window directly. “Upgrading” widgets to be native widgets now works again. Change-Id: Id68dd8241f3afe00670c07e30e2b2ade9c150354 Task-number: QTBUG-61006 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Remove support for child NSWindowsTor Arne Vestbø2017-06-211-1/+0
| | | | | | | | | | | | | | | The private feature was only used by QToolBar to solve QTBUG-33082, but the solution doesn't work, and complicates the macOS platform plugin quite a bit. A better solution is likely to use Core Animation layers, which is a direction we're going in anyways. To make it easier to modernize the macOS platform plugin, including moving to using layers, we remove the child NSWindows codepaths for now. Change-Id: I4b19464be3980fd84dd7af8316d4d5e85ba813b1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QStyleHelper: add missing forward declarationsSamuli Piippo2017-06-211-0/+4
| | | | | | | | Fixes build with -no-accessibility. Change-Id: Ia58c11b22f08a51d5978e4a002480d265aa10fbd Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Item widgets: API cleanupsGiuseppe D'Angelo2017-06-203-0/+25
| | | | | | | | | | A few functions ended up in the wrong visibility section. For instance, it should be perfectly fine to call indexFromItem even from non-subclasses. We can't change that in Qt 5, make a note for Qt 6. Change-Id: I277d831ef1a4b3dcae99bef299ea334954d5b0d3 Reviewed-by: David Faure <david.faure@kdab.com>
* Eliminate in/out arguments from QDateTimeParser::parse()Edward Welbourne2017-06-201-0/+1
| | | | | | | | | | | | | | | | Its first two arguments were non-const references that it modified. A copy of the first was already being passed back in the returned struct; and the one caller that wanted the modified value was in fact copying this copy back over the QString it had passed in (that was thus equal already). So passing by value is fine. The second's only change was increment by a field I've just added to StateNode in refactoring parse(); so we can let the caller do that adding, instead. Change-Id: I05abb644f3e5a60f94b03292302dd1bbe996cce9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QLocale::formattedDataSize and consolidate use casesShawn Rutledge2017-06-202-31/+2
| | | | | | | | | | | | | | | It should be easier to translate sizes in bytes to human-readable strings consistently rather than having to repeat this code (and the string translations) in various places. The FileDialog in QtQuick.Controls has a use for this, too. [ChangeLog][QtCore][QLocale] Added QLocale::formattedDataSize() for formatting quantities of bytes as kB, MB, GB etc. Done-with: Edward Welbourne <edward.welbourne@qt.io> Change-Id: I27bca146c3eba90fa7a5d52ef6626ce85723e3f0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix dereferencing non-existent TLW with hidden QOpenGLWidgetLaszlo Agocs2017-06-201-12/+12
| | | | | | | | | Amends 2ea90c56f2924acc5c620ed7c29a48c72a42efd3. Task-number: QTBUG-61280 Change-Id: Iae086a47f5cbe2e423b0831c3cd226507879cbbb Reviewed-by: Mika Salmela <mika.salmela@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QAbstractItemView: add isPersistentEditorOpen()Marc Mutz2017-06-208-8/+71
| | | | | | | | | | [ChangeLog][QtWidgets][QAbstractItemView/QTreeWidget/QTableWidget/QListWidget] Added isPersistentEditorOpen(). Task-number: QTBUG-61139 Change-Id: I74997d9626812fed83591d32c503680575ec0f7c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-1932-975/+87
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/windows/qwindowscontext.cpp src/plugins/platforms/windows/windows.pri src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/doc/src/widgets-and-layouts/gallery.qdoc Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
| * Convert features.columnview to QT_[REQUIRE_]CONFIGStephan Binner2017-06-126-24/+19
| | | | | | | | | | | | | | Side effect: fix of QT_NO_COLUMNVIEW <-> QT_NO_QCOLUMNVIEW inconsistency. Change-Id: I42702ea7b362a4b6fb5dad78ee105e6cbbf8bcf6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Drop dead qfiledialog_embedded.uiStephan Binner2017-06-122-355/+1
| | | | | | | | | | Change-Id: Ia20fe65d08a8a477dc1c56ad5dcd3db5144c25a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * QDialog: Fix typo in documentationhjk2017-06-121-1/+1
| | | | | | | | | | Change-Id: I0cbcd007976a974d7491595b59cc463f6443d4b0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Doc: Update widget style gallery topicLeena Miettinen2017-06-0921-736/+63
| | | | | | | | | | | | | | | | | | | | | | To avoid repetition, remove the individual style gallery topics. Add images of the Styles and Calendar widget examples and use them instead of individual images of each widget. Task-number: QTBUG-5894 Change-Id: I1231824df60e39e8fb89ac2a764e12151636c019 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * QPlainTextEdit: not show place holder when having preedit stringLiang Qi2017-06-081-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-61210 Change-Id: I4891c21fc4e1923b5929defeacab26114c00a7e3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * Help GCC understand that variable is never used unintializedThiago Macieira2017-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | qformlayout.cpp:1982:14: error: ‘role’ may be used uninitialized in this function [-Werror=maybe-uninitialized] The variable role is never used uninitialized because the access is protected by the check for row != -1. The only condition under which QFormLayout::getItemPosition will leave role unset is if it sets row to -1. Since row == -1 ←→ col == -1 ←→ storageIndex == -1, we can simply change the variable that we check here and the warning goes away. Change-Id: Ia3e896da908f42939148fffd14c4ace6e40a808e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Fix crash when calling QWidget::grab() on a QOpenGLWidgetSérgio Martins2017-06-071-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By avoiding unneeded nested QPainters. Crash was: ASSERT: "s" in file /data/sources/qt/qt5/qtbase/src/gui/painting/qpaintengine_raster.cpp, line 2239 s was nullptr because the inner QPainter had called updateState(0), which is then dereferenced by the outer QPainter. Task-number: QTBUG-61036 Change-Id: I7aad648f805f1abac4d38dfbefa2292da8b52af4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Typo-fix: s/looses/loses/gEdward Welbourne2017-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When an archer lets go of the bow-string, she looses an arrow; when the hounds are straining at their leashes and the handler lets go, he looses the dogs. It's archaic usage now; we'd normally say "lets loose", "lets go" or "releases". In any case what was meant here was that something got lost; a widget loses focus or a network loses its connection. Change-Id: Ic1fbe9e1f76185bcb7caf034d6be97ebfeb2e270 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Start supporting purely offscreen QOpenGLWidgetLaszlo Agocs2017-06-082-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to popular demand. It does have it benefits (especially when it comes to convenience) to allow grabbing QOpenGLWidgets even when they are not part of an actual window and are not actually visible. Does not involve much more than dropping the warnings and bailouts when there is active native window (because the QOpenGLWidget/its parents are still hidden). In addition the device pixel ratio from metric() has to be fixed as well. [ChangeLog][Qt Widgets] QOpenGLWidget is now able to render and return its content via grabFramebuffer(), QWidget::grab() or QWidget::render() even when the widget has not been made visible. Task-number: QTBUG-47185 Task-number: QTBUG-61280 Change-Id: Icc2b0b3ce9778a3eb6409d54744238568abb0f0d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-0733-268/+100
|\| | | | | | | | | | | | | Conflicts: src/widgets/widgets/qmenu.cpp Change-Id: I6d3baf56eb24501cddb129a3cb6b958ccc25a308
| * Doc: Remove references to screenshots illustrating different stylesLeena Miettinen2017-06-0122-231/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... from widget class descriptions. Use one screenshot from Windows instead. The styles change and the screenshots become outdated very fast, so it is easier to update just one screenshot now and then. The styles can still be seen in the style gallery topics. The image files will be removed in a follow-up commit after all references to them have been removed. Change-Id: Id326c141f4884a2e4f67a4fe8681d8c65f8b24ba Reviewed-by: Martin Smith <martin.smith@qt.io>
| * Merge remote-tracking branch 'origin/5.9.0' into 5.9Liang Qi2017-05-311-3/+5
| |\ | | | | | | | | | Change-Id: I2d7a3f3a80e6287e135e55b650f74f9a540332bc
| | * QHeaderView: fix visual/logical index corruption when restoring statev5.9.0-rc2v5.9.0David Faure2017-05-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followup to 77a8e90cddcfa1c34518ef846a4838874a7bc0c7 which didn't handle the case where no columns had been moved. visualIndices and logicalIndices are empty until initializeIndexMapping() is called, in which case appending is wrong. As a result, visualIndex(i) would return -1 for the values over those added by read(), and an assert would happen at painting time. The fix is to leave visualIndices and logicalIndices empty if they are empty already, leaving it to initializeIndexMapping() to fill them later if necessary (e.g. when moving a column). Task-number: QTBUG-60837 Change-Id: Ia7e4b9d3122647984acd434dfaa0400df319d065 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| * | QStackedLayout: Fix UB (invalid cast) in qt_wasDeleted()Olivier Goffart2017-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixup of commit b4995eb7491c1b4784a1bf48db834c11c42b8d9d. We can't call QWidgetPrivate::get(w) on a deleted QWidget, because of the call to the member function QWidget::d_func. We can however call QObjectPrivate::get since we still are in the QObject destructor. tst_qstackedlayout now pass without ubsan Warnings. Change-Id: I4e839a97ddbd1cf21435a8fca76523b98a1f7d9b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * | QWidgetWindow: don't give focus to windows that are being destroyedMitch Curtis2017-05-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the referenced bug report, dismissing a QFileDialog while the Qt Virtual Keyboard was in use would result in a crash. Dismissing a file dialog created with e.g. QFileDialog::getOpenFileName() causes it to eventually be destroyed. When this happens, it starts deleting its children. Each child widget's destructor calls clearFocus(). In clearFocus(), there is a block of code that emits QWindow::focusChanged(), passing the result of focusObject() called on that widget's window. QWidgetWindow::focusObject() could end up using itself as a fallback focus object if it had no other focus objects (e.g. children) to use instead, even though it was in the process of being destroyed; as were all of its children. The Qt Virtual Keyboard plugin would then try to use the focus object, even though it was in an invalid state. To fix this problem, we return early from QWidgetWindow::focusObject() if the window is in the process of being destroyed. Task-number: QTBUG-57193 Change-Id: I137cf9415812ce2e0419c0afe8076ce150f248cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | Convert features.splashscreen to QT_REQUIRE_CONFIGStephan Binner2017-05-293-10/+10
| | | | | | | | | | | | | | | Change-Id: Ie46b7c6fb52773dea25c552a77c96d800f471738 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Convert features.lcdnumber to QT_[REQUIRE_]CONFIGStephan Binner2017-05-294-10/+12
| | | | | | | | | | | | | | | Change-Id: Ie99d2ce0a836c27fb882c04ff465e6cdd483d360 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Convert features.movie to QT_[REQUIRE_]CONFIGStephan Binner2017-05-294-14/+16
| | | | | | | | | | | | | | | Change-Id: I838c7305d4649f953c5bb972f1aa51dbb078afe2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | QWidgetEffectSourcePrivate::draw(): Call render() when no shared painter existsFriedemann Kleint2017-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-60231 Change-Id: If07274a01bb9a4b9323865a3e061b3674507fd5b Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | QStyle: deprecate SH_Widget_Animate in favor of SH_Widget_Animation_DurationElvis Angelaccio2017-06-0410-12/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a new SH_Widget_Animation_Duration style hint that applications can query instead of manually hardcoding the duration of an animation. As default value we use 200, which is the value that was already used in QWidgetAnimator. A value equal to 0 means that the animations will be disabled. This also implies that the SH_Widget_Animate style hint is superseded and can be deprecated. The new style hint is configurable with style sheets. [ChangeLog][QtWidgets][Styles] Added SH_Widget_Animation_Duration style hint which deprecates SH_Widget_Animate. Change-Id: Ic3f5e4f7145a89697f28666aeaecabb1f3c5c96f Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QStyleAnimation: Go down to 15 fpsGabriel de Dietrich2017-06-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new implementation of CE_ProgressBarContents in QMacStyle uses NSProgressIndicator, which is noticeably heavier than the previously used HITheme API. Setting the animation frame rate to 20 fps improves things significantly compared to the default 30 fps, but Cocoa seems to update the animation at 15 fps for indeterminate NSProgressIndicator. Going down to 12 or 10 fps may be an option in the future, but it's not compatible with NSProgressIndicator. Change-Id: Ie1e18d7d78d1bd7ea38a12d715a6a7db0e175a29 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Do its best in QComboBox to map completer's indexAlexey Chernov2017-06-011-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add additional code paths to map the index passed by QCompleter in its activated() signal in case when QCompleter's model isn't the same as QComboBox's one. Task-number: QTBUG-52027 Change-Id: I1d74037fccbe19962bb7f242aa7b1c2441aa5d54 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/devLiang Qi2017-05-302-3/+3
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-05-292-3/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/win32-g++/qmake.conf mkspecs/win32-icc/qmake.conf src/platformsupport/fontdatabases/mac/coretext.pri src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: I74a6f7705c9547ed8bbac7260eb4645543e32655
| | * | Use hasFocus() to check if the QTreeView is considered active or notAndy Shaw2017-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When drawing the branches in a QTreeView, it should use hasFocus() to determine if it is the active widget or not. This is how it checks when styling the other aspects of the treeview, so the branches should be done in line with this. Change-Id: Id721401424ad95e9fc7ffbdc991e53b5f7feac01 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | * | Doc: Replace "Macintosh" with something suitable or omit itLeena Miettinen2017-05-231-2/+2
| | |/ | | | | | | | | | | | | Change-Id: I3067bd7e6ae2d6d68d5232a56eaf368a0415876c Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | QGestureManager: use QScopedPointer to hold prototype gestureMarc Mutz2017-05-301-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When registering a QGestureRecognizer, we create a prototype QGesture to ask for it's QGesture::type(). Instead of a manual delete, use a QScopedPointer to hold it. Change-Id: I5cf1ad95864265b7d465b6344751acfb19a16800 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
* | | QGestureManager: use op[] instead of contains() + insert() to ensure an ↵Marc Mutz2017-05-301-4/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | entry exists ... in an associative container. This is more efficient (one lookup instead of two). Change-Id: I07f1ffebb9b27714c0694658366f750752ea438c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
* | Ensure status tips for a headerview section are handledAndy Shaw2017-05-231-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | When the mouse is moved over a header section then if there is a status tip then this should be sent as an event like it would for a typical QAbstractItemView. Also adds a test for the StatusTipRole for the QTreeView itself as well as the header. Task-number: QTBUG-2066 Change-Id: Iaef8d91f1bd621c2463cde2dff4b2291fb037975 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QSplashScreen: make all ctors use the same Qt::WindowFlagsMarc Mutz2017-05-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | One was setting FramelessWindowHint, the other didn't. Settle on setting it. [ChangeLog][QtWidgets][QSplashScreen] All constructors now implicitly set Qt::FramelessWindowHint, not just the (pixmap, flags) one. Change-Id: I5e3919acac80bf31c2c61fbade938ff319a6cea9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | QWizard: move 'initialized' bit into QWizardPageMarc Mutz2017-05-221-15/+14
| | | | | | | | | | | | | | | | | | | | | | ... as suggested by a code comment. This avoids the external bookkeeping using a QSet, and will allow, in Qt 6, when we can port QWizardPage to the NVI idiom, maintaining the bit as part of the initialize and cleanup functions directly. Change-Id: I25a4dbf4c42f2c0286aa1a72ab9c59463d44c5df Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QWidgetWindow: Forward incoming events with their original spontaneous stateTor Arne Vestbø2017-05-201-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The events may come from QPA, as spontaneous events, or from other parts of Qt, as non-spontaneous events. We should keep the state of the original event. Introduces QCoreApplication::forwardEvent() as a wrapper around the opaquely named notifyInternal2. Ideally this would be the behavior of sendEvent, with an enum argument to override the flag, but that ship has sailed. Change-Id: Ib0209f2b99744bd10590c63239ee7a97b60be4fd Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QMacStyle: Replace QAquaWidgetSize with WidgetSizePolicyGabriel de Dietrich2017-05-151-1/+1
| | | | | | | | | | | | | | | | | | No need to have two enums for the exact same purpose. qmacstyle auto-test updated as well. Change-Id: Ia601648191e39c0cbbaa7477143441005ae063c2 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Make QWindow::setVisible() work for widgetsMorten Johan Sørvig2017-05-113-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidget has its own setVisible() code that needs to be run in order to correctly transition widget visibility. It is desirable to be able to show and hide (native) widgets also from the QWindow side, for example from the platform plugin, or from generic QWindow handling code in QtGui. Add a new virtual QWindowPrivate::setVisible() and move the QWindow visibility implementation there. Subclasses can now override this function to add custom code. Make QWidgetPrivate::show/hide_sys() call the QWindowPrivate setVisible implementation instead of the QWindow setVisible public API. Change-Id: I082f174b100659e1221d5898b490f8a9f498abdf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-05-0726-110/+172
|\| | | | | | | | | | | | | | | Conflicts: src/network/access/qnetworkreply.cpp tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp Change-Id: Iadf766269454087e69fb216fc3857d85b0ddfaad
| * Doc: Add information about styling QTableView::indicatorVenugopal Shivashankar2017-05-043-0/+12
| | | | | | | | | | | | | | Task-number: QTBUG-60245 Change-Id: I068d74d3d1d3ffb872ac6fec830367d67b65049d Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * QMenu: Ensure popup() gets the right screen geometryGabriel de Dietrich2017-05-041-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many QMenu related functions end up calling sizeHint() which does call updateActionRects(). Since we try not to update the action rects if no action has changed, we must be careful to call it the first time with the right screen geometry. Other- wise, multi-display setups may get the action rects based on the wrong display. In QMenu::popup(), this can be solved by using the position passed as argument. Incidentally, we were already computing the right display geometry in the same function, only a bit later. The updated position around an eventual push button menu should not change the screen onto which the menu popup will be displayed. Tested with the multiscreen-menus manual test. Change-Id: Id7fc24be6908b4a9d24b8b9c8b8006efe45d69be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Fix warning for -no-feature-graphicsviewStephan Binner2017-05-031-0/+2
| | | | | | | | | | | | | | Change-Id: I3229fccd2f837b8b8b4da2a149d4584cb4a54dab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>