summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* QLayoutItem: make QLayoutItem::widget() const in Qt6Christian Ehrlicher2019-11-274-6/+31
| | | | | | | | | | | QLayoutItem::widget() should be const since it does not modify the class. Since this can not be done within Qt5 in a binary compatible way, change it for Qt6. Fixes: QTBUG-41997 Change-Id: I9211eb1c36a5bc4f06ab417a9df790ebedb7fcda Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QtWidgets: Fix warnings about providing function for DESIGNABLE in property ↵Friedemann Kleint2019-11-265-18/+12
| | | | | | | | | | | | | | | | | | | | | | | declaration Set them to be designable by default, fixing: kernel/qaction.h:66: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. kernel/qwidget.h:178: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. kernel/qwidget.h:179: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. kernel/qwidget.h:180: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. kernel/qwidget.h:181: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. kernel/qwidget.h:182: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. kernel/qwidget.h:204: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. widgets/qabstractbutton.h:67: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. widgets/qgroupbox.h:60: Warning: Providing a function for DESIGNABLE in a property declaration is deprecated and will not be supported in Qt 6 anymore. The toolbar properties were not caught by the warnings, but it appears the checks do not work; the properties are designable when parented on a non-QMainWindow parent. Change-Id: Ib7dfb878ba593f2dfa05b85db2c384bf3d860e46 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* qtestsupport_widgets.h: Fix syncqt warningFriedemann Kleint2019-11-261-1/+1
| | | | | | | | Fix include, removing: QtWidgets WARNING qtbase/src/widgets/kernel/qtestsupport_widgets.h includes qtwidgetsglobal.h when it should include QtWidgets/qtwidgetsglobal.h Change-Id: I3dc608cba48e9ae36b0683a94a4bf411e23f5136 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QComboBox cleanup: use member initialization and nullptrChristian Ehrlicher2019-11-262-78/+52
| | | | | | | | | | | Cleanup QComboBox private classes: - rearrange members to avoid unneeded padding - use nullptr - remove unused functions - don't print warnings about own deprecated functions Change-Id: I350d1c63602e32cf4b45549bc35cf1538dbbe8f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QList/Table/TreeWidgetItem: Allow reseting values by passing the default valueChristian Ehrlicher2019-11-226-15/+28
| | | | | | | | | | | | | | | | | | The convenience functions setBackground(), setForeground() and setSizeHint() a default constructed value as 'reset'. This means a default constructed QBrush or QSize is returned in the data() function which leads to an unexpected background or forground color or size hint. Therefore check if the passed value is a default constructed value and set an empty QVariant instead which. [ChangeLog][QtWidgets][ItemViews] The convenience views QList/Table/TreeWidgetItem now treat a default constructed QBrush or QSize as an empty QVariant which allows to reset the values set to it's default values. Task-number: QTBUG-76423 Change-Id: I840570bbad3e5fd8c5b4b58903b4fd0066dbdeb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Avoid initializing QFlags with 0 or nullptr in further casesFriedemann Kleint2019-11-229-37/+27
| | | | | | | | | Amends qtbase/af2daafde72db02454d24b7d691aa6861525ab99. Where applicable, port over to member initialization, thus also fixing nullptr warnings. Change-Id: Iaaf2dbbbcf2952253390b8839fd15a1b17be32c0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Deprecate constructing QFlags from a pointerAllan Sandfeld Jensen2019-11-2046-74/+72
| | | | | | | | | This was used to support QFlags f = 0 initialization, but with 0 used as a pointer literal now considered bad form, it had been changed many places to QFlags f = nullptr, which is meaningless and confusing. Change-Id: I4bc592151c255dc5cab1a232615caecc520f02e8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-202-6/+14
|\ | | | | | | Change-Id: Ic4ffd206bdd3ed68fd3d21a93818923e8d3a1e7a
| * Doc: improve Using Model Indexes in Model View Programming guideSamuel Gaist2019-11-192-6/+14
| | | | | | | | | | | | | | | | | | | | | | The current example using QFileSystemModel doesn't take into account the asynchronous nature of that model. This puts people on the wrong path on how to use it. This patch improves the snippet as well as the explanation steps. Change-Id: I5c7a3c19aad48847f0b965b5eb69b492d6263f51 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-191-1/+1
|\| | | | | | | Change-Id: I4e5c8a1fcef443c3383e207102f21d41000ff322
| * QLineEdit: Fix End key for input masksDaniel Teske2019-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider this simple example: QLineEdit edit; edit.setInputMask( "9-9-9-9-9-9" ); edit.show(); Without any input, m_text will contain: " - - - - - ". text() removes the input mask's mask characters from that and returns " ". A string with 6 spaces. Thus currently the End key jumps to position 6, which is in the middle of the string. Using m_text the End key jumps to the actual end. [ChangeLog][QtWidgets][QLineEdit] Fixed End key in combination with certain input masks. Task-number: QTBUG-16187 Task-number: QTBUG-20414 Change-Id: Ibb30a1dfa2f78103611b5afc9971dc43e8bdcc4a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QComboBox: add property placeholderTextChristian Ehrlicher2019-11-153-6/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QComboBox had no option to tell the user that he must select an item - there was no placeholder text like e.g. in QLineEdit. This feature is widely used in html forms so we should support it also. Therefore add a new property 'placeholderText' to specify a text which should be shown when the current selected index is invalid. [ChangeLog][QtWidgets][QComboBox] QComboBox got a new property 'placeholderText' Change-Id: If6dac45c9f43455474e267907b0b0d893301c611 Fixes: QTBUG-1556 Fixes: QTBUG-2776 Fixes: QTBUG-77141 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2019-11-153-14/+27
|\ \
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-153-14/+27
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/rhi/qshader.cpp tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp Change-Id: I1c4ae718eb3592a0a0a90af9d11553f3ab68cad5
| | * QTreeView: make sure to not ask the old model during setModelChristian Ehrlicher2019-11-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Within QTreeView::setModel() the header might emit columnCountChanged which then tries to update the geometries based on the old model which is wrong. Fix it by setting geometryRecursionBlock to true so QTreeView::updateGeometries() will not ask the old model for it's data. Fixes: QTBUG-75982 Change-Id: Ia0dd36cd7c6c5347fbc285deac43da6941accbe7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Fix rendering of markdown in QLabelEike Ziller2019-11-132-14/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 65314b6ce88cdbb28a22be0cab9856ec9bc9604b there is a TextFormat for MarkdownText, and QWidgetTextControl supports that, but QLabel does it in its own way and sets plain text or rich text on the text document itself. Add a code path for MarkdownText there. [ChangeLog][QtWidgets][QLabel] Markdown is now a supported textFormat for QLabel. Fixes: QTBUG-79766 Change-Id: Ib9370ef300089af2c4d6070e545c5470f32833a8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * QTableWidget: Fix -Wdeprecated-copy warningAlbert Astals Cid2019-11-122-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In file included from ../../include/QtCore/qlist.h:1, from ../../include/QtCore/../../../qtbase_dev_de_verdad/src/corelib/kernel/qobject.h:49, from ../../include/QtCore/qobject.h:1, from ../../include/QtCore/../../../qtbase_dev_de_verdad/src/corelib/kernel/qcoreapplication.h:46, from ../../include/QtCore/qcoreapplication.h:1, from /src/widgets/kernel/../../gui/kernel/../../corelib/global/qt_pch.h:66, from /src/widgets/kernel/../../gui/kernel/qt_gui_pch.h:48, from /src/widgets/kernel/qt_widgets_pch.h:48: ../../include/QtCore/../../../qtbase_dev_de_verdad/src/corelib/tools/qlist.h: In instantiation of ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = QTableWidgetSelectionRange]’: ../../include/QtCore/../../../qtbase_dev_de_verdad/src/corelib/tools/qlist.h:614:13: required from ‘void QList<T>::append(const T&) [with T = QTableWidgetSelectionRange]’ /src/widgets/itemviews/qtablewidget.cpp:2416:71: required from here ../../include/QtCore/../../../qtbase_dev_de_verdad/src/corelib/tools/qlist.h:471:35: warning: implicitly-declared ‘constexpr QTableWidgetSelectionRange& QTableWidgetSelectionRange::operator=(const QTableWidgetSelectionRange&)’ is deprecated [-Wdeprecated-copy] 471 | else *reinterpret_cast<T*>(n) = t; | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /src/widgets/itemviews/qtablewidget.cpp:40: /src/widgets/itemviews/qtablewidget.h:52:24: note: because ‘QTableWidgetSelectionRange’ has user-provided ‘QTableWidgetSelectionRange::QTableWidgetSelectionRange(const QTableWidgetSelectionRange&)’ 52 | class Q_WIDGETS_EXPORT QTableWidgetSelectionRange | ^~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: Iad959315ad374ef288f5fffd15d6876cb63bce8e Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 127ed7e6e0f8939861cce7349e28a1dec9a7d6ed)
* | | Take widget content margin into account for menu bar size calculationSamuel Gaist2019-11-152-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The menu bar size calculation didn't take into account the margin of the layout content which makes said menu bar sticking out of the widget. This patch includes the margin to ensure the menu bar has the correct size. Fixes: QTBUG-76585 Change-Id: Ia2c163137fa2889f4028ee3b31766b2747d97b72 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | | QStyleSheetStyle: add new property to QPushButton: iconRichard Moe Gustavsen2019-11-142-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is currently no proper way to change the icon of a pushbutton from css. But there is a need for doing so (QTBUG-2982), and the typical work-around is to instead use the css property 'qproperty-icon'. But setting qproperties from the style is not a good idea in the first place, since it modifies the state of the widget it draws. Moreover, such properties are only set once (in QStyle::polish()), and will not have any effect on pseudo states, like hover. To close this gap, this patch will add a css property 'icon' that can be set on a QPushButton. This property will follow normal css cascading, and respect pseudo states, equal to any other css property. [ChangeLog][QtWidgets][QStyle] You can now set the CSS property 'icon' on a QPushButton to override which icon to draw. Fixes: QTBUG-79137 Change-Id: Ie7e0b0fa4f19471f51108cd4ca931356219d562e Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | QShortcut: add pmf ctor overloadsChristian Ehrlicher2019-11-142-4/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide pointer to member function overloads for the QShortcut ctor. The ctor with two functors but no contexts is not provided since it creates ambiguousness. [ChangeLog][QtWidgets][QShortcut] QShortcut ctor has now pmf overloads Fixes: QTBUG-77816 Change-Id: Ic9a759cde5150dbb94c2fd351b88ee8e447e0852 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Honor alpha for SH_Table_GridLineColorChristian Ehrlicher2019-11-145-5/+5
|/ / | | | | | | | | | | | | | | | | Make sure to honor the alpha channel for the color returned by SH_Table_GridLineColor. Fixes: QTBUG-74909 Change-Id: If9688329e5e2ab41833dfeb7e6292fdfcbf63aa1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Make sure the metatypes are installed in prefix buildsUlf Hermann2019-11-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | The JSON collection step has to be target_predeps in order to be executed if the only place its output is referred to is INSTALLS. Furthermore, some CONFIG options clear the INSTALLS variable. Therefore, we need to add the metatypes CONFIG entries after those. Change-Id: I4694ab1d82c13cb4e3886c1722a03255d14b7f29 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Make QObjectPrivate::threadData a proper atomicGiuseppe D'Angelo2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QObjectPrivate::threadData used to be a QThreadData *, and was read and written from multiple threads without proper synchronization. As an example, it was read from QCoreApplication::postEvent and written from QObject::moveToThread, therefore causing UB. Port threadData to a proper atomic, removing the races. Fix all usage points. In general, QObject is documented to be simply reentrant, not thread-safe, and certain bits (e.g. timers, moveToThread) are not even reentrant. The reasoning therefore is that a given QObject's threadData is not supposed to be touched by multiple threads without some synchronization happening elsewhere, and therefore relaxed loads should be sufficient. As drive-by change: refactor QCoreApplication::postEvent. It was particularly subtle, because it had a loop using a volatile to cope with the possibility of the receiver object switching thread while we tried to lock its thread's event queue. However, volatile does not achieve any synchronization, so drop it, and refactor the algorithm using better locking primitives. Put this algorithm in a common place, and also reuse it from removePostedEvents, which was lacking any synchronization. Change-Id: Icc755f7eb418ff54b33db4bdd87fd8eaf4e82c7a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-085-6/+24
|\| | | | | | | Change-Id: I963b5f48b5d6f3500ca379fbd7f1a4290b570175
| * Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Qt Forward Merge Bot2019-11-064-5/+23
| |\
| | * Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-11-064-5/+23
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/features/mac/default_post.prf src/corelib/tools/qsimd_p.h src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm util/qfloat16-tables/gen_qfloat16_tables.cpp Change-Id: If48fa8a3bc3c983706b609a6d3822cb67c1352a4
| | | * Doc: Add notes about Qt Style Sheets taking precedenceLeena Miettinen2019-10-312-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...over setting properties on individual widgets. Task-number: QTBUG-28675 Change-Id: Ic7bfd723ed8970112a9892727170d3bacaa1903f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | | * Ensure that child windows are visible again when showing their parentAndy Shaw2019-10-292-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a window is closed, then it will cause the child windows to be closed as well as a result. Therefore in order to ensure that they are shown again as a result, we need to remove the WA_WState_ExplicitShowHide attribute if the widget was not already hidden before. This enables us to test for this attribute when calling showChildren(), so that if the window has a windowHandle then we can make sure that this widget is shown again. Fixes: QTBUG-73021 Change-Id: I1186242b889899dfcd38d782a67567348e2055ee Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * | | QAbstractItemView: don't toggle selection on mouse move on some indexChristian Ehrlicher2019-11-061-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In single selection mode, the current selection toggled when the user pressed the left mouse + Ctrl key and then moved the mouse over the item. This was introduced with 28a21d98ef8d880a6dd86ee19dd803424bb5eae1 which added the possibility to deselect an item in single selection mode. Fix it by adding a check if the event was a mouse move event and use the old codepath for it. Fixes: QTBUG-77353 Change-Id: Id845ada302c92646885dfd966721b00d940f1260 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | Don't insert multiple names for the same roleLars Knoll2019-11-052-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make a lot of sense to have two names for the same role. Use 'fileIcon' exclusively for the Qt::Decoration/ FileIconRole. Change-Id: Icaa46ba4aa61efc56ba007a14bab5e59ea26cd35 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-011-1/+1
|\| | | | | | | | | | | Change-Id: Ic13ef00d76c81295076bb2432576db70ec84fe29
| * | Turn a local QHash into a QMultiHashMårten Nordheim2019-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 972a0402be4d7aed0ebbd0ff56b5018cda01599d was merged before one of its parent patches which changed this QHash into a QMultiHash. So in 5.14 it would overwrite values instead of adding new entries. No idea if it has caused or will cause any regressions. But it was an accident so let's fix it. Amends 972a0402be4d7aed0ebbd0ff56b5018cda01599d. Change-Id: I6623b0b7924024df148d5c83bcbb612f3e595f56 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-302-2/+8
|\| | | | | | | | | | | Change-Id: Ib4df563fc7b1f7c40f425e0e71180d9517a672be
| * | Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Qt Forward Merge Bot2019-10-291-2/+2
| |\ \
| | * | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-281-2/+2
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/serialization/qjson_p.h Change-Id: I83cea141a4de8b3998478bfded84ca9029f7a2a9
| | | * QColorDialog: Fix memory leak when picking screen colorsFriedemann Kleint2019-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass the dialog as parent to the event filter class in QColorDialogPrivate::_q_pickScreenColor(). Fixes: QTBUG-53469 Change-Id: I9110c19a8f49a545a0fbf7cfdb3ded70fea4dcce Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
| * | | QGraphicsItem: disable deprecated warnings during compilationChristian Ehrlicher2019-10-281-0/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | The previous commits which deprecated the function forgot to add QT_WARNING_PUSH/QT_WARNING_POP around the affected code. Change-Id: I042a2bcd40afe2e5fe517954be26a02fd048b563 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-261-14/+21
|\| | | | | | | | | | | Change-Id: I208a36bf1c88c8291baaa5ca8fe8e838bc9d7aea
| * | Specify year in month name lookups for QCalendarWidgetEdward Welbourne2019-10-251-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler didn't complain at a QLocale::FormatType values being passed for the int year parameters of the month-name functions, which all have a default for their final QLocale::FormatType parameters. So we didn't notice that the year parameter was missing until the bug was reported. Removed some code duplication by giving QCalendarModel a monthName() method. Reworked QCalendarMonthValidator::text() to avoid repeated calendar calculations (and use fewer braces). This commit amends commit 2dee00621632ab8acd0b3d59bdba264afe2f32c1 Fixes: QTBUG-79495 Change-Id: Iad48c3b648a0139ab43511e6fb4e6a8f63a0495f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-256-24/+41
|\| | | | | | | | | | | Change-Id: Iebedaa967a263854f18cd403ce007d7965f26d2b
| * | QTableView: properly deselect row when column 0 is hidden/not visibleChristian Ehrlicher2019-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the first column is hidden or not visible in the current viewport, it is not possible to deselect the current row. Fix it by passing the correct column to QItemSelectionModel::selectedRows() when testing if the current index is selected. Fixes: QTBUG-79092 Change-Id: I9d8082d2b29ad2f799156aee910c6ff6e3217771 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-245-23/+40
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qstandardpaths_unix.cpp src/corelib/tools/qsharedpointer_impl.h tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: Iae95c5778dc091058f16f6db76f04a0178a9e809
| | * Doc: Correct snippet about customizing QMenuBarNico Vertriest2019-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-79129 Change-Id: I1f8da3b429ab8543ca1f0b7079d0f50bbeea8eb5 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Fix QGraphicsScene::update() performanceAndre de la Rocha2019-10-112-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A previous fix has caused a performance degradation while adding a check for avoiding adding duplicated rectangles to the update list. This patch fixes it by using a std::set instead of a QList, avoiding duplication while using an O(log N) operation, instead of the O(N) used before. Fixes: QTBUG-77952 Change-Id: Ifa9fbf110e0bad60ee02a42d91281981fd98ceab Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Drag'n'Drop: fix crash when widgets are destroyed during event handlingVolker Hilsheimer2019-10-101-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Widgets might be destroyed when handling a dragMoveEvent, in which case the following code will operate on dangling pointers or null pointers. Use a QPointer to watch for the original event receiver to disappear, and add the necessary checks for the objects we deliver events to being null. Change-Id: I4ca2f182540ae21113f4bea4e5c569e983cc58bf Fixes: QTBUG-78907 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * Item views: fix regression causing unexpected widget overlappingEirik Aavitsland2019-10-101-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A certain geometry adjustment was (practically) introduced in Qt 5.11, and caused very surprising behavior, where item widgets will often overwrite neighbouring cells. This has resulted in a number of bug reports. Since the adjustment has such serious side effects, and does not seem to be relevant any longer for the issue for which it was intended, remove it here. More details: From early Qt 4 times, QStyledItemDelegate would do some automatic expansion of the geometry of editor widgets - but only if the layout was RightToLeft. Hence, the effect of it was rarely seen. QTBUG-37433 did, for Qt 5.10, and complained about it. However, the resulting code change did not remove the adjustment, but instead extended it to apply to the normal LeftToRight layout also. Hence, more users experienced it, and reported it as a regression. Also, now in Qt 5.13, it seems Qt has changed in other ways, and the geometry adjustment no longer seems to help (or indeed make any difference to) the original case in QTBUG-37433. Fixes: QTBUG-78495 Fixes: QTBUG-76011 Fixes: QTBUG-68476 Change-Id: I4a4e873969eb1d89843f98fc63d90371207515d1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-222-11/+12
|\| | | | | | | | | | | Change-Id: Ic062a5bd62621877b17cc0d47303b3c879241385
| * | docs: clarify usage of css 'qproperty' in stylesheetsRichard Moe Gustavsen2019-10-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Clarify that the qproperty properties will only be evaluated once. Fixes: QTBUG-2982 Change-Id: Ie294ced118f740c7378c62c0b5a4924d5628e118 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * | Propagate application termination requests through QPATor Arne Vestbø2019-10-191-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having each platform plugin deal with application termination in their own weird ways, we now have a QPA API to signal that the system requested the application to terminate. On the QGuiApplication side this results in a Quit event being sent to the application, which triggers the default behavior of closing all app windows, and then finally calling QCoreApplication::quit(). The quit event replaces the misuse of a close event being sent to the application. Close events are documented as being sent to windows. The close events that are sent to individual windows as part of the quit process can be ignored. This will skip the final quit() of the application, and also inform the platform that the quit was not accepted, in case that should be propagated further. In the future the logic for closing windows should be unified between the various approaches in closeAllWindows, shouldQuit, and friends. Change-Id: I0ed7f1c0d3f0bf1a755e1dd4066e1575fc3a28e1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-182-0/+2
|\| | | | | | | | | | | Change-Id: I4fbbf100b673ab100997dbf2f42bf195dc3c050f