summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
...
* Delete QWhatsThis() and QToolTip()Marc Mutz2012-10-223-7/+2
| | | | | | | | | | | | | | | These classes are not supposed to be instantiated. QToolTip() already was declared, but not implemented. This patch just adds Q_DECL_EQ_DELETE for better diagnostics on C++11. QWhatsThis() was implemented, but appears to be unused. Since it was private to begin with, successfully compiling QtWidgets is a sufficient test. Change-Id: I698ece8f0eebbcdac7be98456dd42197b758a825 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QDateTimeEdit: don't throw off auto-indentionMarc Mutz2012-10-221-3/+2
| | | | | | | | Reformulate #ifdef'ery involving {}s so as not to throw off auto-indention of code editors due to unbalanced {}s. Change-Id: I0f9858c78d0b6d923de75ca45c7d65ce3fa53e50 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix integer overflow in QSpinBox.Stephen Kelly2012-10-221-2/+17
| | | | | Change-Id: Ic204d42fbdffc44576f7e76132bc53621e836299 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Emit cursorPositionChanged in private slot.Frederik Gladhorn2012-10-221-2/+2
| | | | | | | | Since the private slot is already there and used, it might as well emit the signal and save us one connection. Change-Id: I899df74c20f8c2b7875a0f9d0a04465c5dc48bde Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Bring back accessibility for plain text edit.Frederik Gladhorn2012-10-221-0/+6
| | | | | | | | | | This ports 282951bc6c7ddb607fb7ebf61eb8de9acf3da77f aka Change-Id: If0269a49b9fcd1b3e9fcfd32fac912560df28f21 to Qt 5. Change-Id: I46f1d4947d90688b598993f76330e2e10aeca950 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Mac: Adapt scrollbar fadeout animation for QStyleAnimationGabriel de Dietrich2012-10-192-2/+11
| | | | | Change-Id: I39f1089e8d6ba1bb412d33aa4ebc0971aba52681 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QStyleSheetStyle: kill more dependencies to QWidgetJ-P Nurmi2012-10-191-10/+12
| | | | | | Change-Id: I5e58ec68c5d20fd7b201c83743f9d284e7c4dc52 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* remove explicit load(qt_build_config)s from the librariesOswald Buddenhagen2012-10-191-2/+0
| | | | | | | .qmake.conf (and previously .qmake.cache) already does that for us. Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix excess enter/leave event generation for native widgetsMiikka Heikkinen2012-10-191-2/+25
| | | | | | | | | | | | | | | | | | | | | | Native widgets have a native window each, so QPA plugin sends enter and leave events for associated QWindow whenever mouse cursor moves from one widget to another. QWidgetWindow had no context to interpret these events as moves from one widget to another, since they were sent separately. This resulted in leaves and enters for each widget in parent chain, when only the bottom child should have gotten them. Fixed by peeking into window system message queue when handling leave in QWidgetWindow and retrieving the entered window from queued enter event. Also provided a convenience function that QPA plugin can use to ensure both leave and enter events are in the event queue when moving from one QWindow to another. Task-number: QTBUG-27550 Change-Id: I74fec0ac90f6848495c2392c5f7e41624ad8aea2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QStyleSheetStyle: QObject-based style & render rulesJ-P Nurmi2012-10-192-97/+101
| | | | | | | | | The goal is to cut as many QWidget dependencies as possible and make stylesheets eventually work for the desktop components. Change-Id: Ib4aa47af07379fc39fd6df1961e113d03df6df35 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fixed inconsistent QPainter fill rules for aliased painting.Samuel Rødal2012-10-192-0/+13
| | | | | | | | | | | | | | | | | | | | | | Qt 5 is the time to get rid of all the old inconsistencies in the raster paint engine caused by trying to preserve the old X11 based coordinate system where (0, 0) is in the center of the top-left pixel instead of the upper left corner of said pixel. However, this was only adhered for line drawing and path / rect filling, and not for image or pixmap drawing and not at all when doing antialiased painting. By defining the antialiased coordinate system as being the right one and letting the aliased fill rules follow from that we finally end up with some consistent behavior that doesn't lead to surprises and workarounds in application code. It is still possible for applications to get the old behavior by setting the QPainter::Qt4CompatiblePainting render hint. This should make porting easier for the few cases where an application relies on the aliased fill rules we used to have in Qt 4. Task-number: QTBUG-27500 Change-Id: If86b95e77d838ec83033d64af86632b9a73c74a9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make sure uints remain uints when editing in itemviews.Stephen Kelly2012-10-191-1/+32
| | | | | | Task-number: QTBUG-22974 Change-Id: I07428862c4dffc629f868f3010f663eb655922d0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Correct accessibility index handling in QListViewJosé Millán Soto2012-10-191-3/+3
| | | | | | | | QListView::currentChanged and QListView::selectionChanged changed to use 0-based indexes instead of 1-based indexes. Change-Id: Ie618970c9a37ec76156dbfab2e86685c3c8f374c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Introduce new style FusionJens Bache-Wiig2012-10-189-136/+3990
| | | | | | | | | | This is a new non-native style for Qt. It is intended as a replacement for the now aging Plastique and Cleanlooks styles. Change-Id: I30c0518a69e4e3b8b2b05ee7d84c3a5a1f307578 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Modified vertical alignments of simple widgets on OSXTero Ahola2012-10-181-7/+7
| | | | | | | | | | | | | Adding QCheckBox, QComboBox, QLineEdit etc. into an HBox layout or grid layout makes the layout look like a snake's trail. Fixed the positioning of these widgets to make the layouts visually more appealing. Updated qmacstyle auto-test accordingly. Task-number: QTBUG-13635 Ammended-by: Gabriel de Dietrich Change-Id: I89461f9aad68ea8488070ed06257b9b8e7f493c5 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Remove dependency on QWindowsStyle in QGtkStyleJens Bache-Wiig2012-10-184-84/+115
| | | | | | | | | Now that we no longer re-use the animation code in gtk, it is time to remove this strange dependency. Change-Id: Ib672a9b110dfba08d79b8654e572994007675957 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Bring back Mac dependent code in QBoxLayout, QGridLayoutGabriel de Dietrich2012-10-182-3/+3
| | | | | | | | | We also made an accessibility auto-test more stable, so that it would not be influenced by this patch. Task-number: QTCREATORBUG-7966 Change-Id: I6ce4e2361c8847aee5dd1cf5664c29cd2d83e38d Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Mac: Fix QLineEdit shadowGabriel de Dietrich2012-10-181-3/+0
| | | | | | | | The cursor is still rendered 1px too low, but probably needs to be fixed in QTextLayout. Change-Id: Ie56c7140898b941c8d896f503ce1934d0d681a4d Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Improve branch indicators in common styleJens Bache-Wiig2012-10-183-72/+13
| | | | | | | | | | | | | | The branch indicators in common style was painted based on motif style, effectively making it useless. Since most styles inherit from Windows style, I moved that into common style. It was already duplicating most of the code used in commonstyle. Change-Id: I1a383d90254bb97aebc038fa058ec0f225cf9dab Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix potential crash in QStyleAnimation::updateCurrentTime()J-P Nurmi2012-10-171-9/+11
| | | | | | | | | A parentless/targetless QStyleAnimation calls updateCurrentTime() from QAbstractAnimation constructor. Avoid the potential crash even if it's not a valid use case for QStyleAnimation. Change-Id: I9cd263d105c8ea4b5cbabac9a7680991745ccd95 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Styles: revise indeterminate progress bar animationsJ-P Nurmi2012-10-1713-207/+76
| | | | | | | | | Remove dependencies to QProgressBar where possible. This makes it possible to animate for example QQuickItem based progress bars (read: the desktop components). Change-Id: If208506702365895576238c24191b8d70b90841c Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QGraphicsObject: handle QEvent::StyleAnimationUpdateJ-P Nurmi2012-10-172-0/+15
| | | | | Change-Id: I8545d6f26e2c2398e750b0b85ba87892a2e376ae Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-172-75/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set the window state if it can, and return the actual window state back. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowState would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window state upon creation). As such, the window state might be left unsynched with the platform window. This patch suggests removing the return value from QPlatformWindow::setWindowState. This will at least be consistent, so that setting/getting state would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported/actual window state. Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Bring back MacSizeChange eventGabriel de Dietrich2012-10-1716-20/+40
| | | | | | | | | | This ensures WA_MacNormalSize & Co. work (almost) properly. Task-number: QTCREATORBUG-7966 Change-Id: Ib03b5c0f163409e2bc387f6cf9b56c72c43caec7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QFileInfoGatherer: remove m_resolveSymlinks for non-Q_OS_WINMarc Mutz2012-10-172-3/+11
| | | | | | | | | | | | | For some reason, m_resolveSymlinks was never set to true for non-Windows systems. The constructor set it to false and the setter was only implemented for Windows. So remove the member and code that is only executed if it is set to true, except on Windows. Change-Id: I386e980688a603475a413e2ef3628d0754778c5c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Clarify ownership of scene in QGraphicsView::setScene() docs.Mitch Curtis2012-10-161-0/+2
| | | | | Change-Id: I550a02bce0633884ee1ffe2321c6462a34194f89 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QComboBox: mention insert policy in context of editable propertyMark Brand2012-10-161-1/+4
| | | | | | | | This makes it a little bit easier for the reader to discover what editable combo boxes are about. Change-Id: I60ce571f01e32d4cacb4718b42a8e12884bd1c13 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix incorrectly scaled constants on MacJens Bache-Wiig2012-10-161-0/+5
| | | | | | | | | | | | | This fixes several scaled constants on mac that are inherited from commonstyle. (such as toolbutton arrows) It is probably easiest to see when running Windows style on mac. The problem was that the code assumed a default dpi of 96 would be used on all platforms. Change-Id: I83789589009b268dcb1d96629c3ec9e8f968a891 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add QObject* QStyleOption::styleObjectJ-P Nurmi2012-10-162-4/+17
| | | | | | | | | The object is used, amongst other things, as a target for sending style animation updates. Change-Id: Ic210e7ae2111bc08b70331a3a2030a494919a06d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix setting custom cursor for widgets and windows before showing themMiikka Heikkinen2012-10-161-0/+3
| | | | | | | | | | | | If custom cursor was set before the window was created, it didn't actually get set, and in some cases even caused a crash. Fixed by making sure the cursor is correct when showing widget/window. Task-number: QTBUG-27535 Change-Id: I3bc946a9c406c96af5b86869a3a54893f8980aba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QPA: Introducing QPlatformTheme standardPixmap(), fileIconPixmap()Gabriel de Dietrich2012-10-166-462/+118
| | | | | | | | | | | | | | | | | | | | The basic idea is that the platform theme is now responsible for providing the pixmaps for the given standard name, or any file or directory. Then, the QStyle implementation should query the platform theme for the pixmaps, and build the icons accordingly using ThemeHint::IconPixmapSizes. Same thing for QFileIconProvider. This also opens future support for getting platform dependent pixmaps in QtQuick components. Also includes the implementation for the Cocoa (QCocoaTheme) and Windows (QWindowsTheme) platform plugins. Task-number: QTBUG-27450 Change-Id: I4e8406585d970a9af481be10f6643cf0abbc38a3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Add HasFrame feature to QStyleOptionTabJens Bache-Wiig2012-10-163-2/+19
| | | | | | | | This makes it possible for styles like Fusion to draw tabbars different when they have a frame. Change-Id: I1bb21198c0c3caf44c757f6f39310bf2509054bf Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Introduce (private) QStyleAnimationJ-P Nurmi2012-10-1620-377/+475
| | | | | | | | | | | | | | | | QStyleAnimation handles style animations in a generic fashion by sending StyleAnimationUpdate events back to the animation target instead of calling QWidget::update() directly. This decouples style animations from widgets and makes it possible to run style animations for QQuickItems (ie. the desktop components). The next step is to add "QObject* QStyleOption::target" and use that everywhere instead of the widget pointer passed to various QStyle methods. Change-Id: Ib963c54872805fc3f0123ff922f82c9962a68b90 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Cocoa: Speed up fading out scroll bars.Christoph Schleifenbaum2012-10-152-16/+18
| | | | | | | | This patch replaces QDateTime usage with msecs since epoch to calculate scroll bars opacity. This eliminates lots of QDateTime::msecsTo calls. Change-Id: Ic0c26806660c192c5fc6de0dafd86b4200e3cb4c Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QDockWidget: Enable framestrut events when undocked by doubleclick.Friedemann Kleint2012-10-151-1/+1
| | | | | | | | | Task-number: QTBUG-26296 Change-Id: I2821a99add238d2a2cb5b6788d689a48e050e74a Reviewed-by: Markku Tapio Heikkilä <markku.heikkila@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Make QFileDialogs more accessible.Frederik Gladhorn2012-10-151-5/+20
| | | | | | | | | Update the file dialog's ui file. Add accessible name and description to the list views. Fix the tabbing order to be more logical. Change-Id: Ib71214e1f2aef4f9c9bfa747ba5a8c452b18fa22 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Improve Qt::WA_UnderMouse accuracyMiikka Heikkinen2012-10-151-0/+7
| | | | | | | | | | | | | | | | Qt::WA_UnderMouse is set/cleared when widgets get enter/leave events. When there is a popup active, Qt::WA_UnderMouse should always report false, but this was not happening, because existing state was not cleared when popup was opened. Dispatch a leave event for last mouse receiver when a popup is opened to update the Qt::WA_UnderMouse state. This is roughly equivalent to what happens on Qt4. Task-number: QTBUG-27478 Change-Id: I7739e75727213e748ab2f42f1027d32325d89fb0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QComboBox::currentText: correct documentationMark Brand2012-10-151-3/+6
| | | | | | | | | | | | The documentation previously neglected the fact that the current text can be provided by the embedded QLineEdit if the combo box is editable even if there is no selected item. Change-Id: If40868c1633af7ce81b437d29e1da3fd4fefafb0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Adam Light <aclight@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* QCommonStyle: Reduce code duplicationKonstantin Ritt2012-10-141-39/+23
| | | | | | | | | | by re-using viewItemTextLayout() helper function. Also use QTextLayout(QString, QFont) c-tor which is a bit faster than using setText() + setFont() setters. Change-Id: I0d09ba43bad2296e932f49fcb9cfd28f42c1f95d Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Notify accessibility events in QAbstractItemViewJosé Millán Soto2012-10-131-35/+35
| | | | | Change-Id: Idd713dc3bc3e817529968384edd0418e151f0e5b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Update qfiledialog ui to new style.Frederik Gladhorn2012-10-131-82/+83
| | | | | | | | | | Simply opened and saved in designer. No changes otherwise. Due to designer adding deprecated property margin, reverted parts manually. Change-Id: I5edbf82126606e224da4d0d51baeedb13b39bd83 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Link to Item Views Puzzle Example in QListView docs.Mitch Curtis2012-10-131-1/+1
| | | | | Change-Id: I75972727077fa1aa1ec66995c4d0ea67057d283b Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
* Do not accept key events if a widget is disabledOliver Wolff2012-10-131-1/+3
| | | | | | | | | | | | | | | The disabled state was handled in qapplication_xxx.cpp before. As the platform integration only knows about windows and not widgets the state check is now done in qwidget. This commit just adds key events to the list of events which are ignored if the widget is disabled. This list also contains mouse events for example. Task-number: QTBUG-27417 Change-Id: I55949e1c1aaa992ba71df51c5b5e8177ec6f1e86 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Remove unused private headerJens Bache-Wiig2012-10-131-82/+0
| | | | | | | | This was a leftover after removing motif style from the repo. Change-Id: I98d47a9443ffce2be34d73e779a0787c0b68913f Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Doc: Removed references to stale links.Jerome Pasion2012-10-131-13/+10
| | | | | | | The links are from the qt-webpages.qdoc and no longer exist. Change-Id: I8329032215fa77811117e2767bae745795b209cb Reviewed-by: Martin Smith <martin.smith@digia.com>
* QGtkStyle: fix a warningMarc Mutz2012-10-131-1/+0
| | | | | | | | | | | | | | | Commit c0893962ef94f12594f936ef2a50db6d0328eca0 added two definitions of a variable named gtkToggleButtonStyle in nested scopes. Because of name lookup rules, the second one wasn't initialised with the first one, but with itself. This leaves the second gtkToggleButtonStyle uninit'ed. Simply remove the surplus declaration, leaving the name to the original declaration. Change-Id: I2269e1093f54643ff4dce27b39cc033db6697782 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Qt Widgets: Added a landing pageJerome Pasion2012-10-114-12/+150
| | | | | | | | | | -Landing page which lists articles in the module, including: -Graphics View, Model/View, Style Sheet, and widget galleries -Renamed some titles and a whitespace fix. Change-Id: I84be14d9a425ef380162e9a55ce2742c6812f510 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
* Modularize documenation buildTor Arne Vestbø2012-10-102-4/+2
| | | | | | | | | | qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global includes, instead of using relative paths. Qt modules will automatically get a doc target that builds and installs into the right place (including supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module). Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QGtkStyle: use gtk_widget_get_style()J-P Nurmi2012-10-103-99/+118
| | | | | | | | Do not access GtkWidget::style directly, it doesn't exist in GTK3. Change-Id: I947776848f5dd64011a40446fcdb9079f295f182 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix a regression with regards to hfw behavior in QStackedWidgetJan Arve Saether2012-10-101-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression because we made QStackedWidget actually support heightForWidth in 4.8. This was done with change 4780f94e391b5e881497c5228661dead42c821fa. The problem was that heightForWidth was not calculated correctly because some of the pages were hidden. The hidden pages were actually not contributing to the hfw of the QStackedWidget at all. This again caused the QStackedWidget to change its heightForWidth() value when the current tab changed, which again could cause "jumps" in the UI when switching tabs (as demonstrated in the task). The problem was that the patch relied on calling QWidgetItem::heightForWidth(), and this function would return -1 if the widget was hidden. However, QWidget::heightForWidth() does not have this magic and returns the proper hfw value regardless of its visibility. One could argue about the correctness of this patch, but since QStackedLayout::sizeHint() disregards QWidgetItem::sizeHint() (it asks the widget directly), we do the same in QStackedLayoutHFW::heightForWidth() for consistency. In addition, QStackedLayout enforces that only widgets can be added to it, and you cannot add your own QLayoutItem subclasses to it: qWarning("QStackedLayout::addItem: Only widgets can be added"); Task-id: QTBUG-24758 Change-Id: I349cf8f4215e4581ea237ef773d53dcdf3db176b Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>