summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
Commit message (Collapse)AuthorAgeFilesLines
...
* Store an unsigned temporary for the internalId.Stephen Kelly2012-09-271-1/+1
| | | | | | | | This is compared later with the internalId() of other indexes, which produces a warning. Change-Id: I57ea248c792db3b49947cc6a8fe989c68b67ff0f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix typo: contais -> contains.Stephen Kelly2012-09-271-1/+1
| | | | | Change-Id: I718b0178ba03fcf15f2962cb6f917efb2da27a04 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* ItemViews: Fix MinGW compiler warningKai Koehne2012-09-271-0/+3
| | | | | | | Fix compiler 'warning: "_WIN32_IE" redefined' Change-Id: I70ada35027a2bab0a6c4f84dd1384028d2afbcc9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* documentation fixesMarcel Krems2012-09-271-1/+1
| | | | | Change-Id: If165933df41e518f5ba6065792676260fd2492b6 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix hover handling in QTreeViewMiikka Heikkinen2012-09-242-14/+12
| | | | | | | | | | | | | | Cached hoverBranch could get invalid if branches were collapsed or expanded programmatically, leading to a crash in some situations. Fixed the logic for updating hovered over branch indicators and also now update hoverBranch when drawing so that it is guaranteed to be up to date there - this fixes issues like hover indicator not updating when the view is programmatically scrolled. Task-number: QTBUG-27158 Change-Id: I5bd1ad76aee512ad78df33959a84ead16886a47c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Implement viewOptions() logic in QListViewPrivate.Stephen Kelly2012-09-242-6/+14
| | | | | | | | | | | | | | | | | | The private method is called in several places in QListViewPrivate, but before this patch, the implementation in QAbstractItemView was called. This meant that the options were not set properly, resulting, for example, in icons in icon mode being laid out in list mode (on the left and small). This is a regression resulting from 8eab9cbce2014ffc6186dd6b6fb73da85956ee86 and 3578e05b293c1cc53582109001b20f02c7a1eeb7. Other views are not affected in a similar way. Change-Id: I753cb99410e367266753eaf2fa43361b9212ab96 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QModelIndex: clean up integer size confusion in the APIMarc Mutz2012-09-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | QAIM::createIndex() took either int or quint32, but QMI::internalId() returned qint64. In the new interface, createIndex() takes, and internalId() provides, integers of type quintptr. This matches the storage size of the void* in the model index and avoids truncation. Remove the createIndex(int, int, quint32) and \obsolete createIndex(int,int,int) overloads. This makes a literal 0 in the third parameter ambiguous now. The solutions have been noted in changes-5.0.0. Change-Id: I0a0ecd8430eaf695129a4d09d14d4e30745485c4 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2250-1200/+1200
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Documentation fixes.Frederik Gladhorn2012-09-211-1/+1
| | | | | Change-Id: I2e234ec4307bbe39359cdfa8b13e86661dad43b6 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Replace QStyleOptionViewItemV? with QStyleOptionViewItemStephen Kelly2012-09-2111-144/+133
| | | | | | | | | | The former are a typedef for the latter in Qt 5. This only touches internal implementation, as the API was migrated long ago. Change-Id: Ided73021ebecc00508e6325c3d988b6c6ad336cd Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove casting of QStyleOptionViewItems to set data.Stephen Kelly2012-09-191-8/+1
| | | | | | | | The correct values are already set inside setOptions, because the multiple versions of QStyleOptionViewItem were squashed in Qt 5. Change-Id: If0faf4b35bbf476e00905905376868814b8b095a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Remove qLowerBound usages from qtbaseGiuseppe D'Angelo2012-09-193-6/+12
| | | | | | | | | Replace them with std::lower_bound; this allows for deprecation of qLowerBound. Change-Id: I536e7338eb85ea6c7c1a5bf23121292767927e0b Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix example includes for qdoc.Frederik Gladhorn2012-09-111-1/+1
| | | | | | Change-Id: Ifa6a99db27ce51529489bf077a839a3107b524d2 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Removing duplicate includesSergio Ahumada2012-09-091-1/+0
| | | | | | | Do not include a header more than once Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fixed the QTreeView expansion/collpasing when animatedThierry Bastian2012-08-291-2/+6
| | | | | | | | | | | | | | | | | | If you had a QTreeView with expandable items, if you tried to expand and while the animation was still running you'd try to collpase the node, the display would be completely broken: the items below that items would not be visible any more except for a fraction of a second when expanding or collapsing it again. The problem is in the fact that when starting an animation the QTreeView stores the state before animating. And it does that even if an animation is already running. So the stateBeforeAnimation becomes AnimatingState and when the animation finishes, AnimatingState is the state that is restored breaking the painting. Unit test is included. Change-Id: I015212c1ed8962e6df705655099a5660f195caf3 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix qdoc link.Frederik Gladhorn2012-08-281-1/+1
| | | | | Change-Id: I65e58351737b5628ac8c5dfe36a14b898076d690 Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* Doc: Fix snippet and example referencing widget examplesAndy Nichols2012-08-231-1/+1
| | | | | | | | Widget examples were moved into a widgets subfolder, but qdoc references were not updated. Change-Id: Id2a4573e723745b9827c664c852807d6116f8f6d Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Make keyboard search work in the current column, not only the first.Stephen Kelly2012-08-221-0/+5
| | | | | | | Task-number: QTBUG-26540 Change-Id: I1c365aeb013f5ddedd0589aa4c4844be759a3882 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix indexAbove and indexBelow to return indexes in the correct column.Stephen Kelly2012-08-221-2/+4
| | | | | | | | They used to always return indexes in column 0. Change-Id: I2cf4239e0a975b37548de00a1deb916fcd88b4c7 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Minor documentation fixes in item views.Shawn Rutledge2012-08-212-9/+8
| | | | | Change-Id: I986662ba48840e0195f0cfd4264e4d5d8b186c51 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Whitespace fixesShawn Rutledge2012-08-212-6/+6
| | | | | | Change-Id: Ibfb48076ad62804344db6e9e97ac90fdcf82dc04 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Fix the doc errors in itemmodels and itemviews.Stephen Kelly2012-08-204-6/+13
| | | | | | | | | Other errors remain, but they appear to be due to missing links to QtCore documentation (a generic error not specific to itemviews). Change-Id: I7b83380c3754c26d3d42be9ef0c0721ce3127562 Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove QProxyModel from qtbase.Stephen Kelly2012-08-204-794/+0
| | | | | | | A copy is placed in uihelpers for anyone who might be using it. Change-Id: I175f7bc5dcbf25a910d28bfd8985579866392938 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Take account of hidden items in QListView when using scrollTo.Stephen Kelly2012-08-201-3/+9
| | | | | | | Task-number: QTBUG-21804 Change-Id: I475166f3f60b1278089baa255ace4e18baeb568e Reviewed-by: Jani Honkonen <jani.honkonen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix a QListViewItem width when spacing is setJani Honkonen2012-08-191-1/+1
| | | | | | | | | | | | | The listitem width was calculated incorrectly because spacing was not considered. This fixes the second part of the reported bug where spacing is set. Added some tests to catch the issue relating to the reported bug. Also added a test to check spacing in general. Task-number: QTBUG-21804 Change-Id: Icc6326bce914264d882a60a9fc0ebe7d2a08dbf6 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix QListWidget scrolling with keys when there are hidden itemsJani Honkonen2012-08-191-3/+11
| | | | | | | | | | If the selected item is scrolled with keyboard keys the selected item will go outside the visible area. The scrolling did not take hidden items into account when calculating the amount to be scrolled. Task-number: QTBUG-21804 Change-Id: I63da0248cec43be464898f9dc8167e739f00ccd0 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Make selectAll() do nothing if the mode is NoSelection.Stephen Kelly2012-08-151-1/+1
| | | | | | | | Task-number: QTBUG-26687 Change-Id: Iaa0197efe64c61505e22e4a63a1f5c012af0bc78 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Use Qt::WindowFlags, not Qt::WFlags.Stephen Kelly2012-08-132-2/+2
| | | | | | | | | The latter seems to date from the Qt 1 days, and such abbreviations are not current Qt style. Change-Id: I83bc8722a309f4ece7e51881590d07b40fbe6bef Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Take scroll position into account when painting drag pixmap.Stephen Kelly2012-08-101-1/+1
| | | | | | | | Task-number: QTBUG-26793 Change-Id: Ic19cb6581cd5838d26713998e152772a5d12da4f Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Only emit the clicked() signal from views if the left button is used.Stephen Kelly2012-08-071-2/+3
| | | | | | | | | | | | This is consistent with QAbstractButton, QCalendarWidget, QDialogButtonBox and QGroupBox (ie, all other widgets with a clicked signal) Task-number: QTBUG-26105 Change-Id: Ieafe988b5c03216796b69a7cd70ac1a03fc12b0a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Ensure that we return an invalid QTableWidgetItem when none is available.Stephen Kelly2012-08-071-1/+1
| | | | | | | Task-number: QTBUG-26195 Change-Id: Iede4f51770bd8c8eab3558137aaf7b1721f25a87 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Do not draw garbage branches if 0px indentation is specified.Stephen Kelly2012-08-071-1/+2
| | | | | | | | | This can't realisitically be unit tested. Task-number: QTBUG-26305 Change-Id: If7f56c44c472ff0ffbda4744b76ed2119bb64bf8 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Use == for button flag test instead of &Stephen Kelly2012-08-071-2/+2
| | | | | | | | QMouseEvent::button() returns Qt::MouseButton, not Qt::MouseButtons. Change-Id: Ib5dc5b3998ed8f442c72e26d1aff62bc4ebcff71 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* replace \key and \gui qdoc commands with \uicontrolJeremy Katz2012-08-012-2/+2
| | | | | Change-Id: I0753305d4fe1ea20417f451766101da1247dfeeb Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* De-inline QItemEditorCreatorBase destructor.Stephen Kelly2012-07-252-1/+5
| | | | | | | | Virtual destructors on public exported API should not be inline. Change-Id: I05bff0412ac97d2d8bd3cf8944f4fff2cb619f54 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QAbstractItemView: don't qRegisterMetaType<QModelIndex>Marc Mutz2012-07-241-1/+0
| | | | | | | | | | QModelIndex is a build-in type nowadays and doesn't need to be registered anymore. Also remove them from the tests. Change-Id: I47029972651c045c880cee86fb292116a29493d5 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix some spelling errorsSergio Ahumada2012-07-111-2/+2
| | | | | | Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QHeaderView - resizeSection improvementThorbjørn Lund Martsum2012-07-052-1/+16
| | | | | | | | | | | | | | | | | This patch improves the manual resizeSection a bit. Before we didn't consider that the program could maybe resize other sections when the user was resizing one section. The main issue with that is that setOffset is so smart that it helps moving the mouse cursor - however it really shouldn't do if the program is trying to change something too. Maybe this won't solve all (possible) problems at once - but it is a fixed needed just to make something work - trying to make anything work without this fix is horrible.... Change-Id: I3cefa375a9b8ee4c1ef1e08ba0900025c671e4c6 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QHeaderView - prevent negative default+minimum section sizesThorbjørn Lund Martsum2012-07-041-0/+4
| | | | | | | | | In 96f1fe8855082017fbbecccdab1eb11fd8c1f870 we agreed that sections with negative sizes did not make sense. Of the same reason default section sizes and minimum section sizes should be not negative. Change-Id: I6a770e7f510d8e2bb90bfd8f38b4fa0566fc137b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Move QStandardItem/QStandardItemModel to QtGuiGiuseppe D'Angelo2012-06-294-3781/+0
| | | | | | | | | | | The dependencies on QFont, QBrush, QIcon are all in QtGui, so there's little sense to still have these classes in QtWidgets. This also copies and pastes a version of QWidgetItemData as QStandardItemData inside qstandarditemmodel_p.h. Change-Id: Ibafc5a30748e7ce0b54753309ae6dc4a797fc20e Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Move the QDataStream operator<< for QPair to qdatastream.hThiago Macieira2012-06-281-0/+2
| | | | | | | | | | QPair is small and is no problem to include from qdatastream.h. However, including QDataStream from qpair.h means including QIODevice and QObject too. Change-Id: I344321e9f68438008ec329a165135c3a346c6058 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Clarified documentation for QStandardItem::parent()Markku Heikkila2012-06-261-1/+3
| | | | | | | | Task-number: QTBUG-18785 Change-Id: I91ee8c3dc10c1484376a17e3f13794038d4a648f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Speedup for QAbstractItemViewPrivate::delegateForIndexABBAPOH2012-06-141-4/+11
| | | | | | | | This fix prevents copying of a QPointer on a stack and adding/removing QMetaObject guards Change-Id: I844c10cede1536a14ad7cd9f007470966619d6d6 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix QListView::scrollTo() when there are hidden rowsJani Honkonen2012-06-141-1/+6
| | | | | | | | | | | | | | | | | This is a cherry-pick of b0601630dd0ddabfaa3b97d042ee02b981d95988 from February QListView does not consider hidden rows when scrolling to an item. If there are hidden rows (or columns) before the selected item then the visual index of an item is not the same as the row index from the model. So scrolling will be off by the number of hidden rows before the selected item. Added a autotest for this also. Task-number: QTBUG-21115 Change-Id: I01b097bce7f163cdb480a71b763c060cc006fdc7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* AbstractItemView editorForIndex/indexForEditor speedupABBAPOH2012-06-131-0/+8
| | | | | | | | | | Frequent calls to editorForIndex/indexForEditor are very slow because of an implicit conversion from QModelIndex to QPersistentModelIndex. This fix allows to avoid unnecessary conversions when there are no open editors (most common case) Change-Id: Ic072880c9f33a43a20b2a61a42c3ba215c5c33cb Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix QTreeView header re-ordering bug on Mac OS.Chris Meyer2012-06-121-0/+7
| | | | | | | | | | | | | | | | | | | | | This is a cherry-pick of 0ba850c7a2dbccb8dd6aa1664679bda6cce95065 When the mouse button is released at the end of a drag, Cocoa may simulate an extra mouse moved event. However, the state of the buttons when this event is generated is already 'no button'. This leads to some failsafe code canceling out of the drag state and when the actual mouse release event is finally processed, the header drag state has already been exited and the header drag fails. This patch disables the failsafe code on Cocoa and makes header dragging work when the mouse goes outside the bounds of the header view. Task-number: QTBUG-14179 Change-Id: Ia9fd1ac79f9e7b4b90d3e160298c53d65fb171d3 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Use a QVector<int> instead of a QSet<int> in itemviews/models.Stephen Kelly2012-06-1212-22/+22
| | | | | | | | | | | | | | The QSet<int> is a more expensive container to use and create, so it should be avoided. This is source incompatible compared to earlier Qt 5 for QAbstractItemView subclasses which reimplement dataChanged, but this patch changes nothing compared to already-present SiC compared to Qt 4. Change-Id: Id95391dfd62a0a7f487a8765790b007badefb937 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix crash in QTreeWidgetItem::sortChildren when adding new item.Markku Heikkila2012-06-081-0/+1
| | | | | | | | | | | | | | | | | | | This is a cherry-pick of 4f388c383e39b598d997e21bd9a4f16d89bd0625 from February Recursive call is caused if user code calls QtreeWidgetItem()::sortChildren and sorting is enbled in QTreeWidget. First call is from user code and second is caused by timer. When timer expires second call is made. This recursion is prevented with QTreeModel::SkipSorting skipSorting() in QTreeWidgetItem::sortChildren(); Task-number: QTBUG-20345 Change-Id: Ibf73e69274423f31397a9e391bfba7d5c4103a3c Reviewed-by: Markku Tapio Heikkilä <markku.heikkila@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove widgets lib dependency on platformsupport.Frederik Gladhorn2012-06-081-2/+4
| | | | | | | | Instead of the dependency add the one needed function as virtual to the QPlatformServices in QtGui. Change-Id: Ia4455f5ac88ec4d0480bd81635cebba62bbd8ac5 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use QPointer instead of QWeakPointer.Stephen Kelly2012-06-051-2/+2
| | | | | | | | The use of QWeakPointer for tracking QObject pointers is to be deprecated. Change-Id: If460ca7f515db77af24030152f4bd56e1a5fae7c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>