From af75a27de7c8c4afc628aef32007d40c61725175 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Martins?= Date: Fri, 5 Jun 2015 19:13:15 +0100 Subject: itemsviews: Add 15 QList::reserve() calls Change-Id: I4ed8872ecd560d51c00cb3d2b93e082c5abdd8dc Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: Marc Mutz --- src/widgets/itemviews/qcolumnview.cpp | 4 +++- src/widgets/itemviews/qfileiconprovider.cpp | 1 + src/widgets/itemviews/qlistwidget.cpp | 18 ++++++++++++++---- src/widgets/itemviews/qtablewidget.cpp | 17 +++++++++++++---- src/widgets/itemviews/qtreewidget.cpp | 8 ++++++-- 5 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/widgets/itemviews/qcolumnview.cpp b/src/widgets/itemviews/qcolumnview.cpp index 5c317bbb0c..0ee03035a4 100644 --- a/src/widgets/itemviews/qcolumnview.cpp +++ b/src/widgets/itemviews/qcolumnview.cpp @@ -878,7 +878,9 @@ QList QColumnView::columnWidths() const { Q_D(const QColumnView); QList list; - for (int i = 0; i < d->columns.count(); ++i) + const int columnCount = d->columns.count(); + list.reserve(columnCount); + for (int i = 0; i < columnCount; ++i) list.append(d->columnSizes.at(i)); return list; } diff --git a/src/widgets/itemviews/qfileiconprovider.cpp b/src/widgets/itemviews/qfileiconprovider.cpp index 1cc3a2a905..cab32619c5 100644 --- a/src/widgets/itemviews/qfileiconprovider.cpp +++ b/src/widgets/itemviews/qfileiconprovider.cpp @@ -117,6 +117,7 @@ public: if (themeSizes.isEmpty()) return sizes; + sizes.reserve(themeSizes.count()); foreach (int size, themeSizes) sizes << QSize(size, size); } diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp index 66f965aa54..668bfda59d 100644 --- a/src/widgets/itemviews/qlistwidget.cpp +++ b/src/widgets/itemviews/qlistwidget.cpp @@ -299,7 +299,10 @@ void QListModel::sort(int column, Qt::SortOrder order) std::sort(sorting.begin(), sorting.end(), compare); QModelIndexList fromIndexes; QModelIndexList toIndexes; - for (int r = 0; r < sorting.count(); ++r) { + const int sortingCount = sorting.count(); + fromIndexes.reserve(sortingCount); + toIndexes.reserve(sortingCount); + for (int r = 0; r < sortingCount; ++r) { QListWidgetItem *item = sorting.at(r).first; toIndexes.append(createIndex(r, 0, item)); fromIndexes.append(createIndex(sorting.at(r).second, 0, sorting.at(r).first)); @@ -423,7 +426,9 @@ QMimeData *QListModel::internalMimeData() const QMimeData *QListModel::mimeData(const QModelIndexList &indexes) const { QList itemlist; - for (int i = 0; i < indexes.count(); ++i) + const int indexesCount = indexes.count(); + itemlist.reserve(indexesCount); + for (int i = 0; i < indexesCount; ++i) itemlist << at(indexes.at(i).row()); const QListWidget *view = qobject_cast(QObject::parent()); @@ -1710,7 +1715,9 @@ QList QListWidget::findItems(const QString &text, Qt::MatchFla QModelIndexList indexes = d->listModel()->match(model()->index(0, 0, QModelIndex()), Qt::DisplayRole, text, -1, flags); QList items; - for (int i = 0; i < indexes.size(); ++i) + const int indexesSize = indexes.size(); + items.reserve(indexesSize); + for (int i = 0; i < indexesSize; ++i) items.append(d->listModel()->at(indexes.at(i).row())); return items; } @@ -1795,6 +1802,7 @@ QMimeData *QListWidget::mimeData(const QList items) const // if non empty, it's called from the model's own mimeData if (cachedIndexes.isEmpty()) { + cachedIndexes.reserve(items.count()); foreach (QListWidgetItem *item, items) cachedIndexes << indexFromItem(item); @@ -1845,7 +1853,9 @@ void QListWidget::dropEvent(QDropEvent *event) { if (d->dropOn(event, &row, &col, &topIndex)) { QList selIndexes = selectedIndexes(); QList persIndexes; - for (int i = 0; i < selIndexes.count(); i++) + const int selIndexesCount = selIndexes.count(); + persIndexes.reserve(selIndexesCount); + for (int i = 0; i < selIndexesCount; i++) persIndexes.append(selIndexes.at(i)); if (persIndexes.contains(topIndex)) diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp index 9ebcbc35a7..b2d4abe5ac 100644 --- a/src/widgets/itemviews/qtablewidget.cpp +++ b/src/widgets/itemviews/qtablewidget.cpp @@ -812,7 +812,9 @@ QMimeData *QTableModel::internalMimeData() const QMimeData *QTableModel::mimeData(const QModelIndexList &indexes) const { QList items; - for (int i = 0; i < indexes.count(); ++i) + const int indexesCount = indexes.count(); + items.reserve(indexesCount); + for (int i = 0; i < indexesCount; ++i) items << item(indexes.at(i)); const QTableWidget *view = qobject_cast(QObject::parent()); @@ -2326,7 +2328,9 @@ QList QTableWidget::selectedRanges() const { const QList ranges = selectionModel()->selection(); QList result; - for (int i = 0; i < ranges.count(); ++i) + const int rangesCount = ranges.count(); + result.reserve(rangesCount); + for (int i = 0; i < rangesCount; ++i) result.append(QTableWidgetSelectionRange(ranges.at(i).top(), ranges.at(i).left(), ranges.at(i).bottom(), @@ -2372,7 +2376,9 @@ QList QTableWidget::findItems(const QString &text, Qt::MatchF indexes += d->model->match(model()->index(0, column, QModelIndex()), Qt::DisplayRole, text, -1, flags); QList items; - for (int i = 0; i < indexes.size(); ++i) + const int indexCount = indexes.size(); + items.reserve(indexCount); + for (int i = 0; i < indexCount; ++i) items.append(d->tableModel()->item(indexes.at(i))); return items; } @@ -2565,6 +2571,7 @@ QMimeData *QTableWidget::mimeData(const QList items) const // if non empty, it's called from the model's own mimeData if (cachedIndexes.isEmpty()) { + cachedIndexes.reserve(items.count()); foreach (QTableWidgetItem *item, items) cachedIndexes << indexFromItem(item); @@ -2676,7 +2683,9 @@ void QTableWidget::dropEvent(QDropEvent *event) { } QList taken; - for (int i = 0; i < indexes.count(); ++i) + const int indexesCount = indexes.count(); + taken.reserve(indexesCount); + for (int i = 0; i < indexesCount; ++i) taken.append(takeItem(indexes.at(i).row(), indexes.at(i).column())); for (int i = 0; i < indexes.count(); ++i) { diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 1366a00318..5970e94292 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -3042,7 +3042,9 @@ QList QTreeWidget::findItems(const QString &text, Qt::MatchFla QModelIndexList indexes = d->model->match(model()->index(0, column, QModelIndex()), Qt::DisplayRole, text, -1, flags); QList items; - for (int i = 0; i < indexes.size(); ++i) + const int indexesSize = indexes.size(); + items.reserve(indexesSize); + for (int i = 0; i < indexesSize; ++i) items.append(d->item(indexes.at(i))); return items; } @@ -3371,7 +3373,9 @@ void QTreeWidget::dropEvent(QDropEvent *event) { if (d->dropOn(event, &row, &col, &topIndex)) { QList idxs = selectedIndexes(); QList indexes; - for (int i = 0; i < idxs.count(); i++) + const int indexesCount = idxs.count(); + indexes.reserve(indexesCount); + for (int i = 0; i < indexesCount; i++) indexes.append(idxs.at(i)); if (indexes.contains(topIndex)) -- cgit v1.2.3