summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qcolumnview.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-01-28 16:48:36 +0100
committerMarc Mutz <marc.mutz@kdab.com>2016-02-02 10:20:00 +0000
commitfdfd63053ae6b10af06553be3c1b15de274bebf7 (patch)
treee8fe0248ff2b926b0b351a012342fe4168911c2d /src/widgets/itemviews/qcolumnview.cpp
parent1d3503b8f3b49b0f684e1caa504deb0d05f2c60a (diff)
QtBase: avoid uses of Java-style iterators [QHash, QMap]
Java-style iterators are slower than STL-style ones, so they should not be used in library code. Replaced them with C++11 range-for, STL iterators or, in one case, qDeleteAll(). In one case, avoid a double hash lookup by using erase(it) instead of remove(it.key()), which we can now do without detaching, due to the new erase() taking const_iterator. Change-Id: I96174657fed70f76120b2c9d8190b4e70d5d8179 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/widgets/itemviews/qcolumnview.cpp')
-rw-r--r--src/widgets/itemviews/qcolumnview.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/widgets/itemviews/qcolumnview.cpp b/src/widgets/itemviews/qcolumnview.cpp
index bc8a9d38d8..cba7e8aacc 100644
--- a/src/widgets/itemviews/qcolumnview.cpp
+++ b/src/widgets/itemviews/qcolumnview.cpp
@@ -793,11 +793,8 @@ void QColumnView::initializeColumn(QAbstractItemView *column) const
column->setModel(model());
// Copy the custom delegate per row
- QMapIterator<int, QPointer<QAbstractItemDelegate> > i(d->rowDelegates);
- while (i.hasNext()) {
- i.next();
+ for (auto i = d->rowDelegates.cbegin(), end = d->rowDelegates.cend(); i != end; ++i)
column->setItemDelegateForRow(i.key(), i.value());
- }
// set the delegate to be the columnview delegate
QAbstractItemDelegate *delegate = column->itemDelegate();