summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
Commit message (Collapse)AuthorAgeFilesLines
* QHeaderView: Send the StatusTip events to itself if there is no parentAndy Shaw2018-06-141-1/+1
| | | | | | | | | | If there is a parent (typically an itemview) then StatusTip events should be sent to that. However in the case of there not being a parent then the event should be sent to the QHeaderView itself. Task-number: QTBUG-68458 Change-Id: I2a8c11c973210c7adf1bf29443f224f968a357a9 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-05-2917-56/+62
| | | | | | | | | We move QInternalMimeData to a separate file, because this class is used, even if draganddrop is disabled. From now on, include qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData. Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* QTableWidget: fix spelling errorRichard Moe Gustavsen2018-03-231-1/+1
| | | | | Change-Id: Ifd6f116a214d13328ccf0d070ef4517a3b53bf25 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* Item views: Fix 5.11 API review findingsFriedemann Kleint2018-03-142-11/+10
| | | | | | | | | Rename getter QHeaderView::firstSectionMovable() to QHeaderView::isFirstSectionMovable(), turn into a property and fix \since. Change-Id: Ica2ca43d22f3fd78ff63178ba75014807fc9b823 Reviewed-by: David Faure <david.faure@kdab.com>
* QHeaderView: fix inconsistent saved state, ignored during restoreDavid Faure2018-03-071-1/+5
| | | | | | | | | | | | | | The code that updates a section size must also update length, otherwise saveState can end up saving inconsistent state, and restoreState() goes to an early-return, not doing anything. The actual bug was fixed meanwhile because _q_sectionsChanged is called again, which recalculates length. I still see this only as a safety measure, every other code path that changes section sizes updates length right away. Change-Id: I6cc16261692d93b3640afafef600a5bdff8dca0c Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QHeaderView: make use of LayoutChangeHint in _q_sectionsChanged()Christian Ehrlicher2018-03-043-22/+61
| | | | | | | | | When _q_sectionsChanged() is called from e.g. QSortFilterProxyModel the LayoutChangeHint is set which can be used to avoid useless work in this function. Change-Id: I034db3fcc7a5f9ea7ebc0fa3ffd7429edb154eb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QHeaderView: fix indentation in setModel() and clear()Christian Ehrlicher2018-03-031-37/+37
| | | | | | | | | The indentation of large code blocks in setModel() and clear() are not correct. Needed for another change to avoid whitespace changeds in there. Change-Id: I620c8c5e83e98747f5c17469738722cf976fb467 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QHeaderView: Fix crash in layout about to changeThorbjørn Lund Martsum2018-03-011-2/+4
| | | | | | | | | Before there was a risk looking up e.g index -1 if there were no visible sections in layoutAboutToChange. Change-Id: Ic911e4292e8e8c4892fef1c0f34cf7dccaad2bac Task-number: QTBUG-65478 Reviewed-by: David Faure <david.faure@kdab.com>
* QHeaderView: skip dividing by 1, rather pointlessDavid Faure2018-02-281-1/+1
| | | | | Change-Id: I9a63810475d1f17d65e91c1f4d805a7e564ba686 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QHeaderView: Preserve settings on layoutChange with empty modelChristian Ehrlicher2018-02-211-0/+24
| | | | | | | | | | | | | | Do not clear the settings of QHeaderView during layoutChange when the model is empty and the section count did not change. This will not work when a section is moved or a section is replaced with a new one during layoutChange. But since layoutChanged is also called on sorting, this patch ensures that the settings are not cleared in this case. This restores the behavior to the same as before 5.9.4. Task-number: QTBUG-66444 Task-number: QTBUG-65478 Change-Id: I39989cfd45b42e58f49d18ec014d3a941cadb6c9 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QHeaderView: properly restore hidden section size on layoutChanged()Christian Ehrlicher2018-02-211-3/+7
| | | | | | | | | | | During (re)storing the sections within layoutChanged handling, the hidden section size was not properly stored which lead to a section size of 0 when the section was unhided afterwards. Task-number: QTBUG-66413 Task-number: QTBUG-65478 Change-Id: I0b714c7e0530a1eae82b3bb0e0dc80ed576522d0 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Make sure the parent view will have focus when activation is given backAndy Shaw2018-02-151-0/+8
| | | | | | | | | | | | | When the focus is lost on an editor due to the application no longer being the active one then we have to ensure the parent view is going to get the focus when it is returned. Since the editor does not have focus when this check is done we need to manually account for this case by setting it on the parent view as if it would if the editor did have focus. Task-number: QTBUG-62253 Change-Id: I14ac347e9e3a2bfaa8715a45811b17c1c7cf15f8 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-143-27/+74
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * QHeaderView: properly restore section data after layoutChanged()Christian Ehrlicher2018-01-292-26/+73
| | | | | | | | | | | | | | | | | | | | | | | | QHeaderView is doing a complete rebuild of the sections when the layout changed because everything could have happened. But since layoutChanged is also called during e.g. sorting, the old data must be restored when possible. Task-number: QTBUG-65478 Change-Id: I088d4d843cad362b97df6dc5e0dcb9819b13547f Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Fix missing update of QTreeView on setTreePosition()Igor Mironchik2018-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There was missing update in setTreePosition() or better to say update was but in not that part of QTreeView that needed. Now QTreeView correctly updates and paints tree decoration in a new place on changing tree position. [ChangeLog][QtWidgets][QTreeView] Fixed missing update of QTreeView on changing tree position. Task-number: QTBUG-65980 Change-Id: Id79ab8fcb39d511245a551068640684dd2a10cb9 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Fix typosJarek Kobus2018-02-132-2/+2
| | | | | | | | | | Change-Id: Id625efea998f2b4dce9970b903830dc3b3efcd3d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/dev' into 5.11Liang Qi2018-02-104-12/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvarlengtharray.qdoc src/corelib/tools/qvector.qdoc Resolved documentation changes in favor of 017569f702b6dd0, which keeps the move overloads along with its const-ref sibling. Change-Id: I0835b0b3211a418e5e50defc4cf315f0964fab79
| * | QHeaderView: consider Qt::DecorationRole size within paintSection()Christian Ehrlicher2018-02-021-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | When an icon was given through Qt::DecorationRole, the available space for the text was not adjusted which created a graphical glitch. Task-number: QTBUG-62091 Change-Id: I0f20b6de95deed14fb882efde5c81b83ab3e9a7e Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| * | QListWidgetItem/QStandardItem: pass role to dataChanged() signalChristian Ehrlicher2018-01-263-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QAbstractItemModel::dataChanged() gained an optional role parameter with Qt5 which was not filled within QListWidgetItem/QStandardItem setData() functions Task-number: QTBUG-55903 Task-number: QTBUG-63766 Change-Id: I4da9346ef8401cc8633dc4b2ea7d00451d1e3942 Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | QListView: Honor css :first/:middle/:last Pseudo-StatesChristian Ehrlicher2018-02-031-0/+9
|/ / | | | | | | | | | | | | | | | | Properly set QStyleOptionViewItem::viewItemPosition to honor the css Pseudo-States. Task-number: QTBUG-27110 Change-Id: I9b9bb4913210feb665fd9d00a71dc4a953a93606 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | doc: Fix many qdoc warnings, mostly missing return typesMartin Smith2018-01-242-2/+2
| | | | | | | | | | | | | | | | | | | | | | Fixed many cases of missing return types in \fn commands. Added a fake GLxxx typedef for a GL type that wasn't there because the GL includes weren't accessible. Also added some fake declarations for a few functions declared in namespace Qt in QtWidgets that must be seen by qdoc in QtCore. Change-Id: Id82476042d0563d32fa85c4ae81a58c1298a468a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | itemviews: When an index widget gets focus, update the current indexAndy Shaw2018-01-222-0/+21
| | | | | | | | | | | | | | | | | | | | | | By ensuring that the current index follows the focus of an index widget, we can ensure that moving the cursor will happen in the way that is expected from the focused widget. Task-number: QTBUG-27793 Change-Id: Ia36891a94ce41c7d12fba678de23a6f3b69374ae Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-201-0/+3
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Tor Arne Vestbø2018-01-161-0/+3
| |\| | | | | | | | | | Change-Id: I896b0cf54f317c4336cc3d3db319a0b89e421728
| | * Merge remote-tracking branch 'origin/5.9.4' into 5.9Liang Qi2018-01-111-0/+3
| | |\ | | | | | | | | | | | | Change-Id: Ic23e90146470d69060313628562f76a710696bab
| | | * Revert "QTreeView: Make sure QHeaderView is notified on layoutChanged()"Thorbjørn Lund Martsum2018-01-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It caused some sorting issues. This reverts commit 93dabeba9dc5f6cbab60e65b3cc8df5fe48745a9. Change-Id: Ie8c7f2d47885be6626ddb6284474a78dcf09cf33 Task-number: QTBUG-65478 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Sync QItemDelegate::doLayout with QCommonStylePrivate::viewItemLayoutChristian Ehrlicher2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QItemDelegate::doLayout added a margin after the checkbox which is not done within QCommonStylePrivate::viewItemLayout. This created a small but visual difference between using QItemDelegate or QStyledItemDelegate. The additional margin was removed from viewItemLayout somehwere between 4.4 and 4.5 so it was intentional. Change-Id: I2fc3f287fe8b181355edeebec9626c49d85fe74d Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | | QCommonStylePrivate::viewItemSize: fix text height calculationChristian Ehrlicher2018-01-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QCommonStylePrivate::viewItemSize did not adjust the width when the item had a decoration or a checkbox. This lead to a too big width used for the layouting and therefore sometimes the calculated height was too small. Task-number: QTBUG-30116 Change-Id: I4468daa9820b9a8aa00fe959ab9b73fec23cc24e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | QItemDelegate::doLayout: only call QStyle::pixelMetric() onceChristian Ehrlicher2018-01-161-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QStyle::pixelMetric(QStyle::PM_FocusFrameHMargin) was called three times in the worst case but it returns a constant value. Therefore cache this value and call pixelMetric() only once. Since this code is duplicated from QCommonStylePrivate::viewItemLayout() also change it there. Change-Id: I6d5f0a8d2b1373bd36f0520f404e6a3cb0794f12 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | | doc: Add missing template clauses in qitemeditorfactory.cppMartin Smith2018-01-121-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added several missing template clauses to member functions. Change-Id: I95b46de84c9afa74b74fc36818094b0fff41f755 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Liang Qi2018-01-123-0/+9
|\ \ \ \ | | | | | | | | | | | | | | | refs/staging/dev
| * | | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-113-0/+9
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/src/hb-private.hh src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/sql/doc/src/sql-driver.qdoc Change-Id: I38f0e82fcd37926cbf3c1915e009a731040d4598
| | * | | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-093-0/+9
| | |\| | | | | | | | | | | | | | | | | Change-Id: I840849c072075a69819eb185b20bc42c3de0f825
| | | * | Clarify behavior of setData in QListWidget, QTableWidget, and QTreeWidgetKavindra Palaraja2018-01-093-0/+9
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setData()'s default implementation for QListWidget, QTableWidget, and QTreeWidget treats Qt::EditRole and Qt::DisplayRole as referring to the same data. Used the same sentence from QStandardItem::setData for consistency. Task-number: QTBUG-11549 Change-Id: I41d06bdaaa8e7d4a86e24147b3d8222ad7823a6c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | / Add more Q_FALLTHROUGH()Friedemann Kleint2018-01-121-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | Silence g++ 7.X warnings. Change-Id: Id06d06e7e3b5be2cf3934d81f1891da58dea2649 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | QHeaderView: fix visualIndexAt() in rtl-modeChristian Ehrlicher2018-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView::visualIndexAt() did not calculate the correct position in right-to-left mode. This lead e.g. to missing vertical grid lines in QTableView/Widget when scrolling horizontally. Change-Id: Ia50e5cfd7830a6ad8abd17ff79d9fbb33dc4097c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Avoid useless casts to/from uintChristian Ehrlicher2018-01-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove some c-style casts from int to uint which were needed in Qt3 (or earlier?) but nowadays the values are all int. Change-Id: Iecd739c450873adf952a17f635d7fb6825537907 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | QStyledItemDelegate: adjust editor geometry also in LTR-modeChristian Ehrlicher2018-01-061-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The editor geometry was adjusted to a proper size in RTL-mode, but not in LTR-mode. To fix this inconsistency, the geometry is now also adjusted in LTR-mode to make sure the editor has enough space for the min/max values for the given datatype. Task-number: QTBUG-37433 Change-Id: Iff41e854f2fa2104ab5c589d24780facc3ed5815 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QHeaderView: respect min/maximumSectionSize propertyChristian Ehrlicher2018-01-061-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView::resizeSection() did not check if the given section size is inside the min/max property bounds. Also on calling setMin/MaximumSectionSize() the current section sizes were not checked if they are inside the new given bounds. This is a small behavior change when a user is setting the section size via resizeSection() without respecting the min/maxSectionSizes. Task-number: QTBUG-64173 Change-Id: Ia9c9eebf058d60c776ab5f8f8336642013ec553f Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-041-1/+1
|\| | | | | | | | | | | Change-Id: I644cd82b0d952b7d139e0228bf5017f147db77e7
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-041-1/+1
| |\| | | | | | | | | | Change-Id: I3fa5c9e216201bdf7da260c395f65d7fb95cba0b
| | * QTreeView: Fix QTreeViewPrivate::itemAtCoordinate()Christian Ehrlicher2018-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTreeViewPrivate::itemAtCoordinate() did not calculate the correct item when non-uniformRowHeights is enabled and vertical scroll mode is ScrollPerPixel. This results e.g. in an activation of the item above when the click happens on the very first pixel line of an item. Another, more problematic effect was that once a drop happened on the very first line of an item, QAbstractItemViewPrivate::dropOn() calculated the root as the drop index because the visualRect of the calculated item is compared with the drop position which did not match. Task-number: QTBUG-57538 Change-Id: If89571bf0fb76fc01d60ba7139f1d985b49d70db Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | QTreeWidget: fix visualItemRect()Christian Ehrlicher2018-01-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTreeWidget::visualItemRect() returned an invalid QRect when a column was moved and then hidden (or the other way round). The reason was that the logical index returned by QHeaderView::logicalIndexAt() was again passed to QHeaderView::logicalIndex() to create the QModelIndexes needed for QTreeView::visualRect() Task-number: QTBUG-28733 Change-Id: I8676f21bcab8c05c2260b85d483902f18cbf3e24 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | | QItemViews: Add ability to show QJsonValue::Bool/DoubleChristian Ehrlicher2018-01-031-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q(Tree|Table|List)View was able to display a simple QJsonValue::String, but not QJsonValue::Bool/Double. This is an inconsistent behavior which is fixed with this patch. Task-number: QTBUG-65082 Change-Id: I22c2fe2890f11e283cae4f7ea947aa67ff36f367 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Liang Qi2018-01-022-9/+17
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/5.10' into devLars Knoll2018-01-022-9/+17
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf sc/corelib/io/qfsfileengine_p.h src/corelib/io/qstorageinfo_unix.cpp src/platformsupport/eglconvenience/qeglpbuffer_p.h src/platformsupport/input/libinput/qlibinputkeyboard.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/ios/qiosscreen.h src/plugins/platforms/ios/qioswindow.h src/plugins/platforms/ios/quiview.mm src/printsupport/dialogs/qpagesetupdialog_unix_p.h src/printsupport/dialogs/qprintpreviewdialog.cpp src/printsupport/widgets/qcupsjobwidget_p.h src/widgets/widgets/qmenu.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
| | * | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-12-302-9/+17
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/win32-g++/qmake.conf src/corelib/global/qglobal_p.h src/corelib/global/qoperatingsystemversion_p.h src/corelib/io/qfilesystemengine_win.cpp src/network/bearer/qbearerengine.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qfusionstyle.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
| | | * QTreeView: Make sure QHeaderView is notified on layoutChanged()Christian Ehrlicher2017-12-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderViewPrivate::_q_layoutChanged() was not called when used in a QTreeView because it was explicitly disconnected in setModel(). The disconnect was added sometime prio to Qt 4.3, but there the signal was connected to the doItemsLayout() slot. This was correct since QTreeView::doItemsLayout() is calling header->doItemsLayout(). In Qt 4.3.0 _q_layoutChanged() was introduced and the disconnect was adjusted. But since _q_layoutChanged() is doing much more than doItemsLayout() (e.g. restoring hidden sections), functionality was lost. The problem was already observed for Qt 4.6 (QTBUG-18196) but only partially fixed. Task-number: QTBUG-41124 Task-number: QTBUG-54610 Change-Id: Id13a9930d0163812e12a0287016bab9c3aa02068 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | | * QHeaderView: Use correct font for drag'n'drop indicator pixmapChristian Ehrlicher2017-12-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderViewPrivate::setupSectionIndicator() did not honor the font set for the QHeaderView which results in a wrong font in the indicator pixmap. Fix it by using the correct font for the dragged section as it is done in paintEvent() Task-number: QTBUG-65017 Change-Id: I5393c6861073de22f30ffa13e12c5e2cf8aa7776 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | | * QHeaderView: Fix painting vertical headers in rtl modeChristian Ehrlicher2017-12-121-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In rtl mode, the headers were not painted correctly. The style option selectedPosition was not filled correctly and the paint rect needed to be adjusted by one pixel to fit the table grid. Task-number: QTBUG-56520 Change-Id: Ib92d5ab6ff730bba67eca35c83cd638e613f58b9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>