summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* QSS/MenuItem: only draw checkbox if no item is availableChristian Ehrlicher2019-06-171-37/+23
| | | | | | | | | | | | | QTBUG-66380 introduced a behavior change drawing a checkable menu item with an icon. After this path the checkmark and icon was drawn. Revert this regression so the stylesheet style matches the behavior of all other styles. A checkable item should have two different icons (QIcon::On and QIcon::Off). Fixes: QTBUG-74655 Task-number: QTBUG-66380 Change-Id: I32ac2f397087a1c3d5d07400372109703c00c1ba Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Add neglected connect()s to Q{Date,Time}Edit constructorsEdward Welbourne2019-06-111-2/+4
| | | | | | | | | Pointed out by Daniel Teske. This amends commit c3e1abad4e141e6e9d876e5cff194c473a2654eb. Change-Id: Ia6c6f41bf28e846152f9f86322f20a1b99e57201 Reviewed-by: David Faure <david.faure@kdab.com>
* Document that QHeaderView rendered with themed style might ignore rolesVolker Hilsheimer2019-06-051-1/+4
| | | | | | | | | While this is generally true for widgets, QHeaderView's documentation about how appearance related data roles are respected can be misleading. Fixes: QTBUG-31804 Change-Id: I93c6562e59ecf771d938d282723169202ac15bc2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Q(Plain)TextEdit: Observe color hints from style sheet depending on focus stateFriedemann Kleint2019-05-242-0/+13
| | | | | | | | | | | Ask the style sheet style to adapt the palette in WidgetTextControl::getPaintContext() as is done for QLineEdit. Use the palette color in QPlainTextEdit. Change-Id: I67758716b66feaeac8c2433c2a4d3744cd0d5327 Fixes: QTBUG-72100 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fusion: Fill the rect with base brush when drawing the combobox frameAndy Shaw2019-05-271-1/+9
| | | | | | | | | | | | | | Instead of doing this directly inside the PE_FrameLineEdit as this can be used directly when a stylesheet is set the rect of the lineedit used in the combobox in fusion style is filled directly with the base brush. This ensures it still renders the background correctly when using fusion style, but enables stylesheets to work as it will not override that if the background is set in a stylesheet for a combobox. Fixes: QTBUG-75816 Change-Id: I50a0600b500088ebcf1d70a02f9c74c6040d34d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QMenu size fix - Mark items dirty on screen changeThorbjørn Lund Martsum2019-05-223-6/+12
| | | | | | | | | | | | | It seems like an optimization on the itemsDirty flag caused a bug to be re-introduced. When a popup is shown on a new screen, the itemsDirty must however be set to ensure that new correct sizes are calculated. Task-number: QTBUG-59794 Change-Id: Ifb5c233b1f9d4d38bd0cd7a9a71cc32ad3212f8c Reviewed-by: Morten Kristensen <msk@nullpointer.dk> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Avoid rounding of the size in QGraphicsPixmapItem::boundingRect()Alexander Volkov2019-05-091-2/+2
| | | | | | | Fixes: QTBUG-75458 Change-Id: Ib240ddc0b490ae3c0348b6bfa290ad1f51b1e071 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QCompleter: Fix completion on QFileSystemModelFriedemann Kleint2019-05-211-5/+35
| | | | | | | | | | | | | | | Fix the condition introduced by that determines whether a completion is started on signal QFileSystemModel::directoryLoaded() (introduced by 416ec00e7c859a844a5bcb24c7a31147aed974c / Qt 4). Observe case sensitivity and the native separator and return true for root directories. Task-number: QTBUG-38014 Task-number: QTBUG-14292 Change-Id: Ie425c04d2df256248e84250ba777793a8106a738 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* dockwidgets: Unbreak moving floating dock widgets with custom titlebarSergio Martins2019-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f1033567aa4 improved resize of windows with custom titlebar by adding more margin, but the check was too tight. d2d6c6f7813 tried to fix the regression, but not totally The mode is only set *after* the mouse press. It will always be NoWhere the first time, so that check will always discard the mouse press, making moving the window always fail the first time. Also, if the rect+range contains the press, then surely the mode won't be nowhere once set. There's still room for optimization, like bailing out early it was the right button instead of the left button, but that's out of scope for this bug fix, and also not worth for 5.12 branch. To reproduce the bug, simply: - Run examples/widgets/mainwindows/mainwindow - Click the red button of the blue dock widget, to make it float - Drag the title bar (not too slow). Fixes: QTBUG-66454 Change-Id: I0eebfb932dab95267ebadccd757de11a8bfe419d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Nathan Collins <nathan.collins@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Emit QMenu::aboutToShow() before platform specific codeMassimiliano Gubinelli2019-05-161-2/+2
| | | | | | | | | | | | | Send the aboutToShow() signal to QMenu before synchronising the widgets for the menu items. This fixes a bug where if new QWidgetActions are added to the menu from a slot triggered by the menu's aboutToShow() signal, then such new actions do not shows up correctly on Mac. Other platforms are not affected by the change. Fixes: QTBUG-75826 Change-Id: Ic245d3fbc7ddde6944cca6cdb8e8951380c846ec Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Don't try to retranslate strings for native color dialogsTor Arne Vestbø2019-05-161-0/+3
| | | | | | | | | | | | If the native color dialog is in use we haven't created any of the widgets and will crash when trying to update them. Change-Id: I6c43cc47359110c3b9db7cacb62581446cc6f7a3 Fixes: QTBUG-75858 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Qt Widgets: Document CMake macrosKai Koehne2019-05-162-0/+65
| | | | | | | Task-number: QTBUG-72159 Change-Id: Ib9fdf852583964cf07c4d26e0a6c74f0058e29f1 Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Don't render PE_PanelItemViewRow under tree decoration if style says noShawn Rutledge2019-05-151-1/+2
| | | | | | | | | | | | | | | Fusion style's SH_ItemView_ShowDecorationSelected hint is hard-coded to 1, but in QCommonStyle::drawPrimitive (which QFusionStyle inherits) it only asked its own QFusionStyle::styleHint() before drawing the background that happens to be under the tree row decoration (arrow thingy or +/- symbol). And the style doing the rendering does not know about QStyleSheetStyle so by the time we get to QCommonStyle::drawPrimitive() it's too late to check. Therefore QTreeView needs to avoid calling it in this case. Fixes: QTBUG-73251 Change-Id: I2d0ed4d3b2ee805a5602122273387982caa564f8 Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Make sure QAccessibleTableCell is valid before referenceFrederik Gladhorn2019-05-131-6/+19
| | | | | | | | | | There are some cases (model resets in weird positions) where we would crash due to accessing invalid model indices. Fixes: QTBUG-61416 Fixes: QTBUG-71608 Change-Id: Ibfedcbd921a3145f3e1596ac424a77f2319a5c46 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Reset QWidget's winId when backing window surface is destroyedTor Arne Vestbø2019-05-111-0/+6
| | | | | | | | | | | We already reset it though e.g. QWidget::destroy, but if the backing window is destroyed spontaneously or via another API we need to catch that and send a WinIdChange event so clients who pulled out the original winId will not think the pointer is still valid Change-Id: I8556940ee871e81a51f73daeb2064f95bf41371c Fixes: QTBUG-69289 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QWidgetTextControl: Emit cursorPositionChanged() when handling IM eventVova Mshanetskiy2019-05-071-0/+4
| | | | | | | | | | | | | | | QWidgetTextControl and consequently QTextEdit did not emit cursorPositionChanged() signal when cursor position was changed by a QInputMethodEvent with a QInputMethodEvent::Selection attribute. This is especially important on Android because QAndroidInputContext uses such events extensively to move the cursor and also relies on cursorPositionChanged() signal being emitted by the focus object. If the signal is not emitted, QAndroidInputContext does not notify the virtual keyboard about cursor position change which results in various glitches. Change-Id: I7edd141258c483e6f103adcd6e40049b49c13387 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Accessibility: Improve handling of read-only stateFrederik Gladhorn2019-05-073-2/+15
| | | | | | | | | | | We have been rather sloppy in how read-only versus editable is handled. According to the definition, editable signifies that in principle a widget allows the user to change its text. Read-only means that this ability is (currently) disabled. Task-number: QTBUG-75002 Change-Id: I5d71843abcdaac52f4a60a1abcac2604341f6c96 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* fix compilation with various -no-feature-* optionsNick Shaforostov2019-05-053-1/+9
| | | | | Change-Id: Ic1975db497613e3efe50be4246c167efe10d8e31 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Reduce amount of tracepoints required for event trackingMilian Wolff2019-05-022-14/+10
| | | | | | | | | Encode the consumed/filtered state in the _exit tracepoint and remove the separate tracking of receiver event handling. Combined, this reduces the size of the trace file. Change-Id: Icb3cb2dd47798543905cea450046d6fad559a15b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't pass scope args to _exit trace pointsMilian Wolff2019-04-301-1/+1
| | | | | | | | | | | | | | When we trace a scope, then we pass the scope args to the _entry trace point. There is no need to do that also for the _exit trace points, it just blows up the trace data for no obvious gain. Any decent tracing consumer can easily find the args for the _exit call by matching it to its _entry call. Note that this is standard practice in trace points, and also done like this in the Linux Kernel trace points for example. Change-Id: I273293b0c7e799767acc1960b50ab675fc765a36 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSystemTrayIcon/X11: Create tray icon window when system tray appearsAlexander Volkov2019-04-232-22/+57
| | | | | | | | | | ... and destroy it otherwise. Fixes: QTBUG-61898 Fixes: QTBUG-73459 Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I6bd8f397f7ccdb123f6a60d4fa466f7b0d760dfc Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* QStyleSheetStyle::repolish: only run on direct childrenFrederik Gladhorn2019-04-121-1/+4
| | | | | | | | | | | | | When re-parenting, some widgets change their children. For example QLabel, when set to rich text, will not update, until receiving a polish call, at which time getting a list of all children recursively and then trying to call functions on them will crash, since the children change in the middle of this operation. Fixes: QTBUG-69204 Fixes: QTBUG-74667 Change-Id: I95dd83ebeed14c017e22552ddd47658ae8a09353 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix effects for highdpi graphical itemsAlexander Volkov2019-04-103-6/+9
| | | | | | | | Create a highdpi pixmap as a source for graphical effects. Fixes: QTBUG-74963 Change-Id: Ie144df3dbe61421fb28e639e640857aca6e6320f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Note Q[Plain]TextEdit keeping formatting in some casesKai Koehne2019-04-102-8/+31
| | | | | | Fixes: QTBUG-72427 Change-Id: Ifddabb175c480b64282bd8c8fdb9edab4c7ecf44 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix context loss in QOpenGLWidget upon tlw change with AA_ShareOpenGLContextsLaszlo Agocs2019-04-091-1/+2
| | | | | | | | | | The logic introduced in 2ea90c56 has an issue: it resets (destroy the context and co.) upong TLW change even when AA_ShareOpenGLContexts is set, and that is just wrong and goes against what the docs claim. Fixes: QTBUG-74307 Change-Id: Ib519045c1d9842664cbe602d4e6425660cf638b5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QTableView: don't draw additional grid lines top and leftChristian Ehrlicher2019-04-091-23/+0
| | | | | | | | | | | | | | QTableView drew additional grid lines on the top and left side when the corresponding header was not visible and the ScrollMode was ScrollPerItem. After 8f2bacea41443af8564ff78f284016b6615a001b they were also drawn for ScrolPerPixel for consistency. But they are not needed at all and only create visual artifacts. Therefore remove the drawing of the additional lines completely. Fixes: QTBUG-74706 Change-Id: I5c77d53a2eeefab9b9bfe0efea6439f5afede4ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QTableView: fix Ctrl+End behavior with disabled columnsChristian Ehrlicher2019-04-091-1/+1
| | | | | | | | | | | | | | | | Ctrl+End moves the visual index to the bottom left index. This does not work correctly when the item in the bottom left is disabled. It should be fixed with 7863be311570fa219066df5fe8720d5b92ddb680 but does not due to a typo. Fix the typo by using the newly calculated visualColumn instead the initial column. There are cases where the algorithm still does not work as expected when there are more disabled items but fixing them would add a lot of complexity with no (much) gain. Fixes: QTBUG-72400 Change-Id: Ie90f6b3e41e00f54e826c2b4e7303e85ac1e4115 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QMenu/QComboBox: Extract helper for determining the pop up geometryFriedemann Kleint2019-04-085-24/+30
| | | | | | | | | | Move the code returning whether a popup should use the full screen to QStylePrivate and use for QMenu and QComboBox. Task-number: QTBUG-73231 Change-Id: I1901ecedfa90edf16329ce3b13ef4abea5ab44e8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-081-2/+0
|\ | | | | | | Change-Id: Id60d508c0f25fd5e67be07daafd2d4c56ae73934
| * Drag'n'Drop: fix dnd regressionGatis Paeglis2019-03-261-2/+0
| | | | | | | | | | | | | | | | | | | | DragEnter events always should start with the default state, which is accepted = false. This was a copy-and-paste error introduced by f8944a7f07112c85dc4f66848cabb490514cd28e. Fixes: QTBUG-73977 Change-Id: I34b3ea97c9b4f4fc040a9e6f1befd6124533361d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add missing _exit tracepoints for event handlingMilian Wolff2019-04-052-1/+2
| | | | | | | | | | | | | | | | | | | | | | This allows tools that look for matching `foo_entry/exit` pairs in the trace data to work properly. An unmatched `_entry` would otherwise confuse them, making them think that the call stack is continuously increasing. Change-Id: Idff7f587ea25c46ec86ad623cc82d503db34a194 Reviewed-by: Christoph Sterz <christoph.sterz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Forward declare all types required for compilation with `-trace`Milian Wolff2019-04-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes compilation with `-trace lttng` or `-trace etw`. We need to forward declare QEvent, QImageReader etc., otherwise the types will be unknown while compiling the trace points. In order to handle this generically, the tracegen utility is extended to support a 'prefix text' in the `*.tracepoints` input files. Any text within curly braces will be embedded as-is in the generated file. This can then be used to add forward declarations for the types we need, including potential namespaces and such. Change-Id: I5cb16763ce0fcb48ce3ea4577578d468ff3a4f4b Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
* | Remove superfluous inclusion of qtwidgets-config.priJoerg Bornemann2019-04-041-2/+0
| | | | | | | | | | | | | | Every module already includes its own config. Change-Id: I1ef630092f61f118d79dc9b39ce38f4bdea14f43 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Doc: Use the \nullptr macro instead of 0Venugopal Shivashankar2019-04-022-2/+2
| | | | | | | | | | | | | | | | This enables overriding the macro so that it translates to 'None' in the Qt for Python context. Change-Id: Ib3cecf57eeb0405a1929309b71e9f012a07f11cf Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | QMacStyle - fix PE_InticatorTabClose handlingTimur Pocheptsov2019-04-011-1/+8
|/ | | | | | | | | | | | | for the case a custom style sheet is in use and QStyleSheetStyle replaces the widget (close button) with its parent (QTabBar). We still need this button though to compare against tabButton on a hovered tab. This allows us to have, indeed, native-looking tabs as documented (aka similar to Safari or the "Terminal" application). Change-Id: I53ff78699e705db6d7c7b84774b8e188a1277535 Fixes: QTBUG-61092 Fixes: QTBUG-74689 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Windows: Fix tooltip flicker on GL surfacesFriedemann Kleint2019-03-211-1/+6
| | | | | | | | | | | | | | | | QPlatformWindow::initialGeometry() would assign a default height to the initial geometry of the QRollEffectClassWindow since it has height of 0. This causes the obtained geometry to not match and subsequently a geometry change being sent synchronously. Introduce a new flag QWindowPrivate::resizeAutomatic similar to the existing QWindowPrivate::positionAutomatic to prevent assigning a default size and pass through the geometry as is where required. Fixes: QTBUG-74176 Change-Id: I70c66490838a2c4dfe200ec86094d28bd984dd03 Reviewed-by: Kati Kankaanpaa <kati.kankaanpaa@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix memory leak when unregistering a gesture recognizerAndy Shaw2019-03-192-5/+6
| | | | | | | | | | | | | | When a gesture was unrecognized, then it would add itself to the obsolete gestures hash. This was cleaned up only on application exit, but as the unregister call happens whenever a widget that had registered gestures was deleted then the hash could grow quite considerably. In order to ensure the original intention of the code here, we only call unregisterGestureRecognizer() when there is a QGestureManager in place to call it on. Otherwise it would create a memory leak in itself. Change-Id: I2342f3f737b28be4af7ed531d83f02197eb66c0e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Improve documentation for opaque resize in QSplitterJan Arve Sæther2019-03-182-6/+6
| | | | | | | This also fixes the documentation for QStyle::SH_Splitter_OpaqueResize Change-Id: If8afb52ae300e9735a8bc6b065327f17d67f4323 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Merge remote-tracking branch 'origin/5.12.2' into 5.12Qt Forward Merge Bot2019-03-151-3/+10
|\ | | | | | | Change-Id: I5f9d8090a07056411fb65d7de60eb679d00e99a3
| * Merge 5.12 into 5.12.2Kari Oikarinen2019-02-201-0/+1
| |\ | | | | | | | | | Change-Id: I3a5721aebd3afd8fa08d3f3df6bf61502fa9c347
| * | Fix QSplashscreen positioning on AndroidFriedemann Kleint2019-02-191-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android does not use QPlatformWindow::initialGeometry(), so the underlying assumption of 56e92dfdf255231aff0034d2e197fd096da7f0c0 was wrong. Try to explicitly find a screen and default to primary. Fixes: QTBUG-73794 Change-Id: Iba3e70657a60babfcedf751335ca55cb971a4f99 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | QAbstractItemView: Don't let editor width exceed item width if not neededChristian Ehrlicher2019-03-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The editor geometry was adjusted in RTL but not in LTR mode before Qt5.11. 3ed91da4997cf793742e5bba2adb3dbec9ecd458 fixed this but now all editors are shown with their default size instead adjusting to the item width. This works in most cases but fails for small column widths and e.g. a QDoubleSpinBox. Therefore adjust the size policy for the editors so their default size is ignored and therefore the column width is used. Don't do this for a QDateTimeEdit since this makes no sense to only show a cut of part of the editor. Fixes: QTBUG-74327 Change-Id: Ie526155571bf24a2d8f38e988d8b2af4bfcc92ba Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QAbstractItemView: make v-aligned items texts more user-friendlyChristian Ehrlicher2019-03-081-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 25133a1b77c059e32760f3d288c985183d86da4a fixed the item view text layouting correctly in a technical way. For a vertically aligned text which does not fit into the given rect it is not user-friendly to show some parts of the text. It is better to display the start of it and show an elide marker in the last visible line. Fixes: QTBUG-73721 Change-Id: Ia7453133ea0a229b24196467168c8371585c4d8f Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Document that dialog parent relationship does not imply stacking orderTor Arne Vestbø2019-03-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, and most probably some X11 window managers, the parent/child relationship of the dialog is not possible to propagate to the platform, and the only determining factor of whether or not the windows stack on top of each other is the modal state of the window. Task-number: QTBUG-34767 Change-Id: I8b4b4910e3f905c44e577544fc347dbded373848 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | QListView: Fix Shift+click selection for non-default itemAlignmentAlexander Volkov2019-02-272-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QListView::setSelection() algorithm is designed for items to occupy their cells completely, which is not the case when itemAlignment is used. The middle part of the selection rect goes beyond the column borders and extra items are selected. Use the introduced cellRectForIndex() instead of rectForIndex() to calculate the middle part correctly. Fixes: QTBUG-73684 Change-Id: I4a1e42a056d56e85a16d8ae0ffe18b78d1d6deb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Don't edit the item if we did not get the press event on the same itemAndy Shaw2019-02-261-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | With a QTreeView it is possible that collapsing an item can cause the item under the mouse to be a new one and over the checkbox area for the new item. As a result, a release can cause it to change the check state even though it did not get the press for that item. This ensures that it only allows the edit if it got the press as well. Fixes: QTBUG-61476 Change-Id: I9a0821466afc84c97c9819755ccbacd729f7fbd7 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | Emit returnPressed() signal for the lineEdit embedded in QDateTimeEditKai Koehne2019-02-191-0/+1
|/ | | | | | | | | | | f78842abe429dc9b42fd15dc8e9e842ab72dcf2b added the emission of the signal in QAbstractLineEdit::keyPressEvent(). This patch also emits it for QDateTimeEdit. Fixes: QTBUG-73725 Change-Id: I66d577f5d4b60ad57987b26e7a1c1f20fad47782 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Widgets: Only set WA_WState_ExplicitShowHide via public APITor Arne Vestbø2019-02-123-54/+58
| | | | | | | | | | | Calling QWindow::setVisible doesn't have the same semantics, so we split off QWidget::setVisible into QWidgetPrivate::setVisible and call that instead from QWidgetWindow. Task-number QTBUG-67504 Change-Id: Ie50938d4a1d33ad4b59c742e75e3ca30f1b19399 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix crash when using Qt Virtual Keyboard with QCalendarWidgetMitch Curtis2019-02-121-12/+15
| | | | | | | | | | For some reason, QCalendarWidget gets filtered press events that were intended for Qt Virtual Keyboard's input panel (QQuickView), so we have to make sure that the window is indeed a QWidget - no static_cast. Change-Id: Ibc9dce956918ac50d1fed8231a445b7338aef09c Fixes: QTBUG-72925 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QToolButton: fix handling multi-line textsChristian Ehrlicher2019-02-072-2/+25
| | | | | | | | | | | | The patch to elide the QToolButton text when there is not enough space introduced a regression with multi-line text. Fix it by using the newly introduced common function to elide multi-line text. Fixes: QTBUG-72226 Change-Id: I066ebbd2f360add93406cc29bb4bbbebf599ba42 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>