summaryrefslogtreecommitdiffstats
path: root/src/corelib/itemmodels
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-09-27 11:19:57 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-27 18:35:55 +0200
commit978d3d01cfa063017fdce1391b60efb7a4fc8df2 (patch)
treea889a85ca23170e97a639d8db836ee2f35777583 /src/corelib/itemmodels
parentedec823c00dfaedd4277a4a7d98a42a79df6deb5 (diff)
Use a QVector to store QPersistentModelIndexes.
QPersistentModelIndex is not so big that it causes very bad QList performance, but considering how we use the container, QVector is fine. We never prepend to the container, we only ever append, clear and iterate over it. Change-Id: If1e53db9252c22340f1e0179b14a460495b5b35d Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib/itemmodels')
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel.cpp6
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel_p.h4
2 files changed, 5 insertions, 5 deletions
diff --git a/src/corelib/itemmodels/qitemselectionmodel.cpp b/src/corelib/itemmodels/qitemselectionmodel.cpp
index 6932df8491..d55cbe9d97 100644
--- a/src/corelib/itemmodels/qitemselectionmodel.cpp
+++ b/src/corelib/itemmodels/qitemselectionmodel.cpp
@@ -459,9 +459,9 @@ QModelIndexList QItemSelection::indexes() const
return result;
}
-static QList<QPersistentModelIndex> qSelectionPersistentindexes(const QItemSelection &sel)
+static QVector<QPersistentModelIndex> qSelectionPersistentindexes(const QItemSelection &sel)
{
- QList<QPersistentModelIndex> result;
+ QVector<QPersistentModelIndex> result;
QList<QItemSelectionRange>::const_iterator it = sel.constBegin();
for (; it != sel.constEnd(); ++it)
indexesFromRange(*it, result);
@@ -846,7 +846,7 @@ void QItemSelectionModelPrivate::_q_layoutAboutToBeChanged()
Merges \a indexes into an item selection made up of ranges.
Assumes that the indexes are sorted.
*/
-static QItemSelection mergeIndexes(const QList<QPersistentModelIndex> &indexes)
+static QItemSelection mergeIndexes(const QVector<QPersistentModelIndex> &indexes)
{
QItemSelection colSpans;
// merge columns
diff --git a/src/corelib/itemmodels/qitemselectionmodel_p.h b/src/corelib/itemmodels/qitemselectionmodel_p.h
index 987ea6d11a..cc278346ff 100644
--- a/src/corelib/itemmodels/qitemselectionmodel_p.h
+++ b/src/corelib/itemmodels/qitemselectionmodel_p.h
@@ -98,8 +98,8 @@ public:
QItemSelection currentSelection;
QPersistentModelIndex currentIndex;
QItemSelectionModel::SelectionFlags currentCommand;
- QList<QPersistentModelIndex> savedPersistentIndexes;
- QList<QPersistentModelIndex> savedPersistentCurrentIndexes;
+ QVector<QPersistentModelIndex> savedPersistentIndexes;
+ QVector<QPersistentModelIndex> savedPersistentCurrentIndexes;
// optimization when all indexes are selected
bool tableSelected;
QPersistentModelIndex tableParent;