summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtreeview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QTreeView - improve ItemNeverHasChildren slightlyThorbjørn Martsum2013-03-281-0/+2
| | | | | | | | | | | | | QTreeViewPrivate has a private function hasVisibleChildren that returns if an index has visual children. This can (and should) check the ItemNeverHasChildren flag. That will likely be an performance improvement and it will ensure consistent behavior in error-situations. (The flag will then always overrule even if the model is inconsistent) Change-Id: Ied37daf56c39daccea1cb4f5cc555d5cdbc7d971 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix license headers stating QtGui for QtWidgets files.Jake Petroules2013-03-191-1/+1
| | | | | Change-Id: I0ca49e3e1f9f603f0b0f7f3553e854b871efe303 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make qaccessible2.h internal.Frederik Gladhorn2013-03-141-1/+1
| | | | | | | | | | | This should have been done right from the start, instead we only made the documentation internal. Also remove the classes from the BIC data. Change-Id: I238a7a7cc5d26980b23931c78e7e5a4477d46920 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Giuseppe D'Angelo2013-02-171-1/+1
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-141-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| | * When expanding up the tree, there is no need to expand above root.Stephen Kelly2013-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The index set by setRootIndex is the root of the visible part of the model. Expanding more than that is not needed. Change-Id: I0015e313ef046ff63c67338c4f00c37e1aa71ca7 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | QMetaMethod is needed in qtreeview.cpp even without accessibility.Samuel Rødal2013-02-131-1/+1
|/ / | | | | | | | | | | | | Change-Id: I195c4d591a1908e17ad45338d6b9a19b8948b804 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | QTreeView - optimize. Do not do signals-work if signals are blockedThorbjørn Lund Martsum2013-02-021-20/+28
| | | | | | | | | | | | | | | | There is no need to do any kind of work with emitting signals if signals are blocked. Change-Id: Ic352ba157fd89bbd36c650edd809a2ea91bcdd5f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | QTreeView::expandToDepth - add missing emit of expanded and collapsedThorbjørn Lund Martsum2013-02-021-0/+20
| | | | | | | | | | | | | | | | | | | | | | Just like other functions this function should emit expanded and collapsed. A part of fixing Task-number: QTBUG-8176 Change-Id: I6d801f61e6f0cb8836634cc52f0be2b610f6c728 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | QTreeView - emit collapsed in collapseAll()Thorbjørn Lund Martsum2013-01-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | When we call call collapase we emit collapsed. Therefore it should also be emitted on collapseAll() This partly solves: Task-number: QTBUG-8176 Change-Id: I20c1388fcbbb60d12debb4a0b3b0d9fed41e2563 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | QTreeView - emit expanded on expandAllThorbjørn Lund Martsum2013-01-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | When we call QTreeView::expand expanded is emitted. For the same reason we should emit expanded on expandAll() This partly solves: Task-number: QTBUG-8176 Change-Id: Ie85e724eec50980c68f626ec47dec5c1e08cc085 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Add the Qt::ItemNeverHasChildren flag and use it in QTreeView.Stephen Kelly2013-01-291-2/+6
|/ | | | | | | | | It can be used to determine whether expand() should really expand. Change-Id: If79d8c295a4ca1356e60051682b227524a065126 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fixed typo 'collasping' in QTreeView documentationThorbjørn Lindeijer2012-12-281-1/+1
| | | | | | Change-Id: Ib49c3500c4b3a40a7eaf17404cecc2c38de90530 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Accessibility indexes are no longer 1-based.Frederik Gladhorn2012-12-181-5/+5
| | | | | | | | | | The updates for focus/selection in QTreeView were still adding +1 as it was required in Qt 4. Task-number: QTBUG-28174 Change-Id: Ib9fea7e20d431a0ef0db18494e7bdda06a0646b0 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QtWidgets docs: use WinVista screenshots instead of obsolescent WinXPJ-P Nurmi2012-12-061-2/+2
| | | | | Change-Id: Ic7fd291d4ce4468ae12cf5dd102fbcc45387dd87 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QtWidgets docs: use Fusion screenshotsJ-P Nurmi2012-11-281-2/+2
| | | | | | | | The Plastique style no longer exists in QtBase. All the references have been updated to Fusion, and the obsolete screenshots have been removed. Change-Id: I771a9ecf23b82965c7b3c41a40945cf051cb5f3a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Qt 5.0 QTreeView. Prevent manual moving of the first sectionThorbjørn Lund Martsum2012-11-021-0/+2
| | | | | | | | | | | | | | | | | | This prevents the user of moving the leftmost column. There will be no API to allow move of the tree-structure. It is very weird to do that, so it shouldn't be a problem. In case it is a big problem somewhere it can be hacked with: QTableView unused; unused.setVerticalHeader(tree->header()); tree->header()->setParent(tree); unused.setVerticalHeader(new QHeaderView(Qt::Horizontal)); Task-number: QTBUG-332 Change-Id: I3a251c8d0fd472ec0ad7edb20a7f3e00af7e0da8 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Strip trailing whitespace in itemviews.Stephen Kelly2012-11-011-1/+1
| | | | | | | | | | | Using git ls-files -z | xargs -0 sed -i 's/ \+$//' in the relevant directories. Change-Id: I861ef9952fb32ed2db9ec8b67864ec7d0d61f0f2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* 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>
* Fix hover handling in QTreeViewMiikka Heikkinen2012-09-241-13/+11
| | | | | | | | | | | | | | 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>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | 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>
* Replace QStyleOptionViewItemV? with QStyleOptionViewItemStephen Kelly2012-09-211-23/+23
| | | | | | | | | | 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>
* 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>
* 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>
* 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>
* 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 a QVector<int> instead of a QSet<int> in itemviews/models.Stephen Kelly2012-06-121-1/+1
| | | | | | | | | | | | | | 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>
* Eliminate QTreeWidget drag crashJiewen Wang2012-05-281-1/+1
| | | | | | | | | | | | | In QTreeViewPrivate::adjustViewOptionsForIndex() wrong index had been used when referencing to array of viewItems. Variable row is set to the index of the QModelIndex, however it is not as same as the index in viewItems[] when there was hidden item in treeWidget. Index of viewItems[] should be used here. Unit test is added as well. Change-Id: Idc7eda979e7d09c5a07bd6dffd92b7abbac10e67 Task-Id: QTBUG-25333 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Itemviews: compile with QT_STRICT_ITERATORSThiago Macieira2012-05-261-2/+2
| | | | | | | Just a few mixed up iterators. Change-Id: I19f62457ee24bc844fadd182ba61866e259e9636 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Doc: Fix \sa usageMarius Storm-Olsen2012-05-111-3/+3
| | | | | | | | | Ensure comma between elements (757 missing), single space and curly- braces around title elements, etc. Change-Id: Id16c3fda7fc47a12a0682f8720214f4990609a97 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Doc: Modularize QtWidgets documentation.Casper van Donderen2012-05-091-2/+2
| | | | | | | | This change moves the snippets and images to the modularized directories. Change-Id: Idec1afb9db7ea6add1ca4cf25ec4019d8bce0c4d Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Take account of spanned items in QTreeView when dragging.Stephen Kelly2012-04-261-32/+9
| | | | | | | | | | Also remove some code which has been unused since it was introduced in 32182d107fa75e5619ecc91a81f50626f429ebe1 Task-number: QTBUG-25140 Change-Id: Ic7053d68d8200f845c1ae330342d27af7275e057 Reviewed-by: Tarja Sundqvist <tarja.sundqvist@digia.com> Reviewed-by: David Faure <faure@kde.org>
* Fix out of bounds use of QVector API.Stephen Kelly2012-04-171-5/+6
| | | | | | | | | | | This is a regression introduced by commit 22b7d211865c1505862627a2e65bcd063e314e45. Task-number: QTBUG-24965 Task-number: QTBUG-25140 Change-Id: I3f3bfe23af802444b078a29ee5565dd2bd24a34d Reviewed-by: David Faure <faure@kde.org>
* Merge master into api_changesKent Hansen2012-03-231-26/+6
|\ | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * Remove QAccessibleEvent child parameter.Frederik Gladhorn2012-03-191-26/+6
| | | | | | | | | | | | | | | | | | This makes the api cleaner and generally the child should not be there. It is only sometimes more convenient not to create a QAccessibleInterface instance, so the functionallity is kept. Change-Id: I26018a6d3e0549f4d79856775b4167c5660e229d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* | QtWidgets: Cleanup Q3* itemsDebao Zhang2012-03-201-2/+2
|/ | | | | | | | | Clear all the Q3* items away, expect QStyle::SH_Q3ListViewExpand_SelectMouseType which is still used by QTreeView. So simply removed Q3 from its name. Change-Id: Ia79f0283137b6751ba68791ae55df1d8bd7ea74a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use pointers for QAccessibleEvent.Frederik Gladhorn2012-03-151-5/+10
| | | | | | | | | At least on mac g++ badly wants to copy the event and cannot use the copy ctor. The sensible solution is thus to use pointers. This is in line with QCoreApplication::sendEvent. Change-Id: Icb58852be351ab04ffa17069989d7a07d4b377da Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QHeaderView - renaming functions in Qt5Thorbjørn Lund Martsum2012-03-141-2/+2
| | | | | | | | | | | | | | This patch renames the functions in Qt5 according to the notes. It also renames resizeMode to be consistent. The old functions are both marked with both QT_DEPRECATED and '### Qt 6 - remove' All usage of the function within the qtbase are also changed to use the new functions. Change-Id: I9e05fa41d232e9ca43b945fcc949987017f3aedd Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-021-20/+20
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Some small doc fixes, typos and removal of one incorrect paragraphAndy Shaw2012-02-171-1/+1
| | | | | | | | | The QTextStream paragraph that is removed referred to something that is incorrect. This was confirmed for Windows, Linux and Mac. Change-Id: Ibac8f82482f2060308b5b8485d6da228bdf52fe6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> (cherry picked from commit 80cebfde10cf34dcc0777c24f1b3ff37cad20181)
* Accessibility: Use new updateAccessibility() API in widgets.Friedemann Kleint2012-02-011-5/+5
| | | | | Change-Id: Id69cc28a54abc675a991f2c657a446f38313ac6e Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QTreeView: fix crash when starting a drag with hidden columns.David Faure2012-01-121-4/+12
| | | | | | | | | | | | Crash was introduced by d639105759491 (pre-Qt-4.8 only) Task-number: QTBUG-15834 Merge-request: MR-2725 (cherry picked from qt4 commit fd25323de7b5d5f3e0ffb1bd81ea4d251e071566) Change-Id: I59959d3ba4c9bcb0d39bdbe58432817bbbfdd9f1 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Set missing flags in the option when rendering QTreeView drag pixmapDavid Faure2012-01-121-39/+74
| | | | | | | | | | | | | | | | QAbstractItemViewPrivate::renderToPixmap was not setting all the flags that the normal QTreeView painting sets: option.showDecorationSelected, option.viewItemPosition (so the drag pixmap looked wrong on Windows 7, with rects around each cell), and then the unittest also discovered that State_Children/State_Sibling wasn't set either. Task-number: QTBUG-15834 Merge-request: 2517 (cherry picked from Qt4 commit d63910575949106f84dacf04abaa14fc866aa66b) Change-Id: I0a5014d960543c3ed8fea73d6df578e7e521b0e0 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add roles to the dataChanged slots in views.Stephen Kelly2012-01-061-2/+2
| | | | | | | | | | | | | | | | This is a source incompatible change. This is for consistency with the signal for the lifetime of Qt5. I could imagine people trying to override a virtual function (in a new class while using the Qt5 library) with the arguments of the signal and have that fail due to the arguments not being correct. It also allows ignoring dataChange events when they are known not to be for roles which are relevant to particular views or delegates. Change-Id: Ica191835125c1c8fdaf665debb62d635e81700dc Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>