summaryrefslogtreecommitdiffstats
path: root/src/corelib/itemmodels
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2020-06-26 08:21:15 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2020-06-29 12:35:09 +0200
commitb0f9c06a9b199a7474eb94a6292b5824364344b6 (patch)
tree15bfdcd6322d34b9dfeaf1f7b170219b0bab9fa0 /src/corelib/itemmodels
parentbe1bb192955631c44a872014fcb631efc5fcfb8a (diff)
Use QList instead of QVector in corelib implementation
Omitting state machine and docs for now. Task-number: QTBUG-84469 Change-Id: Ibfa5e7035515773461f6cdbff35299315ef65737 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Diffstat (limited to 'src/corelib/itemmodels')
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.cpp136
-rw-r--r--src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp12
-rw-r--r--src/corelib/itemmodels/qidentityproxymodel.cpp12
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel.cpp14
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp167
-rw-r--r--src/corelib/itemmodels/qstringlistmodel.cpp6
-rw-r--r--src/corelib/itemmodels/qtransposeproxymodel.cpp7
7 files changed, 161 insertions, 193 deletions
diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp
index 5c6cc7b587..27885bcb9b 100644
--- a/src/corelib/itemmodels/qabstractitemmodel.cpp
+++ b/src/corelib/itemmodels/qabstractitemmodel.cpp
@@ -44,7 +44,7 @@
#include <qsize.h>
#include <qmimedata.h>
#include <qdebug.h>
-#include <qvector.h>
+#include <qlist.h>
#if QT_CONFIG(regularexpression)
# include <qregularexpression.h>
#endif
@@ -658,10 +658,9 @@ void QAbstractItemModelPrivate::rowsAboutToBeInserted(const QModelIndex &parent,
{
Q_Q(QAbstractItemModel);
Q_UNUSED(last);
- QVector<QPersistentModelIndexData *> persistent_moved;
+ QList<QPersistentModelIndexData *> persistent_moved;
if (first < q->rowCount(parent)) {
- for (auto it = persistent.indexes.constBegin(); it != persistent.indexes.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(persistent.indexes)) {
const QModelIndex &index = data->index;
if (index.row() >= first && index.isValid() && index.parent() == parent) {
persistent_moved.append(data);
@@ -674,11 +673,9 @@ void QAbstractItemModelPrivate::rowsAboutToBeInserted(const QModelIndex &parent,
void QAbstractItemModelPrivate::rowsInserted(const QModelIndex &parent,
int first, int last)
{
- QVector<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
- int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
- for (QVector<QPersistentModelIndexData *>::const_iterator it = persistent_moved.constBegin();
- it != persistent_moved.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ const QList<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
+ const int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
+ for (auto *data : persistent_moved) {
QModelIndex old = data->index;
persistent.indexes.erase(persistent.indexes.constFind(old));
data->index = q_func()->index(old.row() + count, old.column(), parent);
@@ -692,18 +689,14 @@ void QAbstractItemModelPrivate::rowsInserted(const QModelIndex &parent,
void QAbstractItemModelPrivate::itemsAboutToBeMoved(const QModelIndex &srcParent, int srcFirst, int srcLast, const QModelIndex &destinationParent, int destinationChild, Qt::Orientation orientation)
{
- QVector<QPersistentModelIndexData *> persistent_moved_explicitly;
- QVector<QPersistentModelIndexData *> persistent_moved_in_source;
- QVector<QPersistentModelIndexData *> persistent_moved_in_destination;
-
- const auto begin = persistent.indexes.constBegin();
- const auto end = persistent.indexes.constEnd();
+ QList<QPersistentModelIndexData *> persistent_moved_explicitly;
+ QList<QPersistentModelIndexData *> persistent_moved_in_source;
+ QList<QPersistentModelIndexData *> persistent_moved_in_destination;
const bool sameParent = (srcParent == destinationParent);
const bool movingUp = (srcFirst > destinationChild);
- for (auto it = begin; it != end; ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(persistent.indexes)) {
const QModelIndex &index = data->index;
const QModelIndex &parent = index.parent();
const bool isSourceIndex = (parent == srcParent);
@@ -754,16 +747,10 @@ void QAbstractItemModelPrivate::itemsAboutToBeMoved(const QModelIndex &srcParent
column value depending on the value of \a orientation. The indexes may also be moved to a different parent if \a parent
differs from the existing parent for the index.
*/
-void QAbstractItemModelPrivate::movePersistentIndexes(const QVector<QPersistentModelIndexData *> &indexes, int change, const QModelIndex &parent, Qt::Orientation orientation)
+void QAbstractItemModelPrivate::movePersistentIndexes(const QList<QPersistentModelIndexData *> &indexes, int change,
+ const QModelIndex &parent, Qt::Orientation orientation)
{
- QVector<QPersistentModelIndexData *>::const_iterator it;
- const QVector<QPersistentModelIndexData *>::const_iterator begin = indexes.constBegin();
- const QVector<QPersistentModelIndexData *>::const_iterator end = indexes.constEnd();
-
- for (it = begin; it != end; ++it)
- {
- QPersistentModelIndexData *data = *it;
-
+ for (auto *data : indexes) {
int row = data->index.row();
int column = data->index.column();
@@ -784,9 +771,9 @@ void QAbstractItemModelPrivate::movePersistentIndexes(const QVector<QPersistentM
void QAbstractItemModelPrivate::itemsMoved(const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild, Qt::Orientation orientation)
{
- QVector<QPersistentModelIndexData *> moved_in_destination = persistent.moved.pop();
- QVector<QPersistentModelIndexData *> moved_in_source = persistent.moved.pop();
- QVector<QPersistentModelIndexData *> moved_explicitly = persistent.moved.pop();
+ const QList<QPersistentModelIndexData *> moved_in_destination = persistent.moved.pop();
+ const QList<QPersistentModelIndexData *> moved_in_source = persistent.moved.pop();
+ const QList<QPersistentModelIndexData *> moved_explicitly = persistent.moved.pop();
const bool sameParent = (sourceParent == destinationParent);
const bool movingUp = (sourceFirst > destinationChild);
@@ -803,12 +790,11 @@ void QAbstractItemModelPrivate::itemsMoved(const QModelIndex &sourceParent, int
void QAbstractItemModelPrivate::rowsAboutToBeRemoved(const QModelIndex &parent,
int first, int last)
{
- QVector<QPersistentModelIndexData *> persistent_moved;
- QVector<QPersistentModelIndexData *> persistent_invalidated;
+ QList<QPersistentModelIndexData *> persistent_moved;
+ QList<QPersistentModelIndexData *> persistent_invalidated;
// find the persistent indexes that are affected by the change, either by being in the removed subtree
// or by being on the same level and below the removed rows
- for (auto it = persistent.indexes.constBegin(); it != persistent.indexes.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(persistent.indexes)) {
bool level_changed = false;
QModelIndex current = data->index;
while (current.isValid()) {
@@ -832,11 +818,9 @@ void QAbstractItemModelPrivate::rowsAboutToBeRemoved(const QModelIndex &parent,
void QAbstractItemModelPrivate::rowsRemoved(const QModelIndex &parent,
int first, int last)
{
- QVector<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
- int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
- for (QVector<QPersistentModelIndexData *>::const_iterator it = persistent_moved.constBegin();
- it != persistent_moved.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ const QList<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
+ const int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
+ for (auto *data : persistent_moved) {
QModelIndex old = data->index;
persistent.indexes.erase(persistent.indexes.constFind(old));
data->index = q_func()->index(old.row() - count, old.column(), parent);
@@ -846,10 +830,8 @@ void QAbstractItemModelPrivate::rowsRemoved(const QModelIndex &parent,
qWarning() << "QAbstractItemModel::endRemoveRows: Invalid index (" << old.row() - count << ',' << old.column() << ") in model" << q_func();
}
}
- QVector<QPersistentModelIndexData *> persistent_invalidated = persistent.invalidated.pop();
- for (QVector<QPersistentModelIndexData *>::const_iterator it = persistent_invalidated.constBegin();
- it != persistent_invalidated.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ const QList<QPersistentModelIndexData *> persistent_invalidated = persistent.invalidated.pop();
+ for (auto *data : persistent_invalidated) {
auto pit = persistent.indexes.constFind(data->index);
if (pit != persistent.indexes.cend())
persistent.indexes.erase(pit);
@@ -862,10 +844,9 @@ void QAbstractItemModelPrivate::columnsAboutToBeInserted(const QModelIndex &pare
{
Q_Q(QAbstractItemModel);
Q_UNUSED(last);
- QVector<QPersistentModelIndexData *> persistent_moved;
+ QList<QPersistentModelIndexData *> persistent_moved;
if (first < q->columnCount(parent)) {
- for (auto it = persistent.indexes.constBegin(); it != persistent.indexes.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(persistent.indexes)) {
const QModelIndex &index = data->index;
if (index.column() >= first && index.isValid() && index.parent() == parent)
persistent_moved.append(data);
@@ -877,11 +858,9 @@ void QAbstractItemModelPrivate::columnsAboutToBeInserted(const QModelIndex &pare
void QAbstractItemModelPrivate::columnsInserted(const QModelIndex &parent,
int first, int last)
{
- QVector<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
- int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
- for (QVector<QPersistentModelIndexData *>::const_iterator it = persistent_moved.constBegin();
- it != persistent_moved.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ const QList<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
+ const int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
+ for (auto *data : persistent_moved) {
QModelIndex old = data->index;
persistent.indexes.erase(persistent.indexes.constFind(old));
data->index = q_func()->index(old.row(), old.column() + count, parent);
@@ -890,18 +869,17 @@ void QAbstractItemModelPrivate::columnsInserted(const QModelIndex &parent,
} else {
qWarning() << "QAbstractItemModel::endInsertColumns: Invalid index (" << old.row() << ',' << old.column() + count << ") in model" << q_func();
}
- }
+ }
}
void QAbstractItemModelPrivate::columnsAboutToBeRemoved(const QModelIndex &parent,
int first, int last)
{
- QVector<QPersistentModelIndexData *> persistent_moved;
- QVector<QPersistentModelIndexData *> persistent_invalidated;
+ QList<QPersistentModelIndexData *> persistent_moved;
+ QList<QPersistentModelIndexData *> persistent_invalidated;
// find the persistent indexes that are affected by the change, either by being in the removed subtree
// or by being on the same level and to the right of the removed columns
- for (auto it = persistent.indexes.constBegin(); it != persistent.indexes.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(persistent.indexes)) {
bool level_changed = false;
QModelIndex current = data->index;
while (current.isValid()) {
@@ -926,11 +904,9 @@ void QAbstractItemModelPrivate::columnsAboutToBeRemoved(const QModelIndex &paren
void QAbstractItemModelPrivate::columnsRemoved(const QModelIndex &parent,
int first, int last)
{
- QVector<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
- int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
- for (QVector<QPersistentModelIndexData *>::const_iterator it = persistent_moved.constBegin();
- it != persistent_moved.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ const QList<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
+ const int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
+ for (auto *data : persistent_moved) {
QModelIndex old = data->index;
persistent.indexes.erase(persistent.indexes.constFind(old));
data->index = q_func()->index(old.row(), old.column() - count, parent);
@@ -940,10 +916,8 @@ void QAbstractItemModelPrivate::columnsRemoved(const QModelIndex &parent,
qWarning() << "QAbstractItemModel::endRemoveColumns: Invalid index (" << old.row() << ',' << old.column() - count << ") in model" << q_func();
}
}
- QVector<QPersistentModelIndexData *> persistent_invalidated = persistent.invalidated.pop();
- for (QVector<QPersistentModelIndexData *>::const_iterator it = persistent_invalidated.constBegin();
- it != persistent_invalidated.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ const QList<QPersistentModelIndexData *> persistent_invalidated = persistent.invalidated.pop();
+ for (auto *data : persistent_invalidated) {
auto index = persistent.indexes.constFind(data->index);
if (index != persistent.indexes.constEnd())
persistent.indexes.erase(index);
@@ -1565,7 +1539,7 @@ QAbstractItemModel::~QAbstractItemModel()
*/
/*!
- \fn void QAbstractItemModel::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>())
+ \fn void QAbstractItemModel::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
This signal is emitted whenever the data in an existing item changes.
@@ -2555,9 +2529,8 @@ bool QAbstractItemModel::setHeaderData(int section, Qt::Orientation orientation,
*/
void QAbstractItemModel::encodeData(const QModelIndexList &indexes, QDataStream &stream) const
{
- QModelIndexList::ConstIterator it = indexes.begin();
- for (; it != indexes.end(); ++it)
- stream << (*it).row() << (*it).column() << itemData(*it);
+ for (const auto &index : indexes)
+ stream << index.row() << index.column() << itemData(index);
}
/*!
@@ -2570,8 +2543,8 @@ bool QAbstractItemModel::decodeData(int row, int column, const QModelIndex &pare
int left = INT_MAX;
int bottom = 0;
int right = 0;
- QVector<int> rows, columns;
- QVector<QMap<int, QVariant> > data;
+ QList<int> rows, columns;
+ QList<QMap<int, QVariant>> data;
while (!stream.atEnd()) {
int r, c;
@@ -2592,7 +2565,7 @@ bool QAbstractItemModel::decodeData(int row, int column, const QModelIndex &pare
int dragColumnCount = right - left + 1;
// Compute the number of continuous rows upon insertion and modify the rows to match
- QVector<int> rowsToInsert(bottom + 1);
+ QList<int> rowsToInsert(bottom + 1);
for (int i = 0; i < rows.count(); ++i)
rowsToInsert[rows.at(i)] = 1;
for (int i = 0; i < rowsToInsert.count(); ++i) {
@@ -2617,7 +2590,7 @@ bool QAbstractItemModel::decodeData(int row, int column, const QModelIndex &pare
row = qMax(0, row);
column = qMax(0, column);
- QVector<QPersistentModelIndex> newIndexes(data.size());
+ QList<QPersistentModelIndex> newIndexes(data.size());
// set the data in the table
for (int j = 0; j < data.size(); ++j) {
int relativeRow = rows.at(j) - top;
@@ -3258,7 +3231,7 @@ void QAbstractItemModel::changePersistentIndexList(const QModelIndexList &from,
Q_D(QAbstractItemModel);
if (d->persistent.indexes.isEmpty())
return;
- QVector<QPersistentModelIndexData *> toBeReinserted;
+ QList<QPersistentModelIndexData *> toBeReinserted;
toBeReinserted.reserve(to.count());
for (int i = 0; i < from.count(); ++i) {
if (from.at(i) == to.at(i))
@@ -3273,11 +3246,8 @@ void QAbstractItemModel::changePersistentIndexList(const QModelIndexList &from,
}
}
- for (QVector<QPersistentModelIndexData *>::const_iterator it = toBeReinserted.constBegin();
- it != toBeReinserted.constEnd() ; ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(toBeReinserted))
d->persistent.insertMultiAtEnd(data->index, data);
- }
}
/*!
@@ -3290,10 +3260,8 @@ QModelIndexList QAbstractItemModel::persistentIndexList() const
Q_D(const QAbstractItemModel);
QModelIndexList result;
result.reserve(d->persistent.indexes.count());
- for (auto it = d->persistent.indexes.constBegin(); it != d->persistent.indexes.constEnd(); ++it) {
- QPersistentModelIndexData *data = *it;
+ for (auto *data : qAsConst(d->persistent.indexes))
result.append(data->index);
- }
return result;
}
@@ -3768,8 +3736,8 @@ bool QAbstractTableModel::dropMimeData(const QMimeData *data, Qt::DropAction act
if (parent.isValid() && row == -1 && column == -1) {
int top = INT_MAX;
int left = INT_MAX;
- QVector<int> rows, columns;
- QVector<QMap<int, QVariant> > data;
+ QList<int> rows, columns;
+ QList<QMap<int, QVariant>> data;
while (!stream.atEnd()) {
int r, c;
@@ -3819,8 +3787,8 @@ bool QAbstractListModel::dropMimeData(const QMimeData *data, Qt::DropAction acti
if (parent.isValid() && row == -1 && column == -1) {
int top = INT_MAX;
int left = INT_MAX;
- QVector<int> rows, columns;
- QVector<QMap<int, QVariant> > data;
+ QList<int> rows, columns;
+ QList<QMap<int, QVariant>> data;
while (!stream.atEnd()) {
int r, c;
diff --git a/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp b/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp
index 0e29714677..05baa7eed2 100644
--- a/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp
+++ b/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp
@@ -69,7 +69,7 @@ public:
void _q_slotColumnsInserted(const QModelIndex &parent, int, int);
void _q_slotColumnsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
void _q_slotColumnsRemoved(const QModelIndex &parent, int, int);
- void _q_slotDataChanged(const QModelIndex &from, const QModelIndex &to, const QVector<int> &roles);
+ void _q_slotDataChanged(const QModelIndex &from, const QModelIndex &to, const QList<int> &roles);
void _q_slotSourceLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint);
void _q_slotSourceLayoutChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint);
void _q_slotModelAboutToBeReset();
@@ -80,7 +80,7 @@ public:
bool mapDropCoordinatesToSource(int row, int column, const QModelIndex &parent,
int *sourceRow, int *sourceColumn, QModelIndex *sourceParent, QAbstractItemModel **sourceModel) const;
- QVector<QAbstractItemModel *> m_models;
+ QList<QAbstractItemModel *> m_models;
int m_rowCount; // have to maintain it here since we can't compute during model destruction
int m_columnCount;
@@ -88,8 +88,8 @@ public:
int m_newColumnCount;
// for layoutAboutToBeChanged/layoutChanged
- QVector<QPersistentModelIndex> layoutChangePersistentIndexes;
- QVector<QModelIndex> layoutChangeProxyIndexes;
+ QList<QPersistentModelIndex> layoutChangePersistentIndexes;
+ QList<QModelIndex> layoutChangeProxyIndexes;
};
QConcatenateTablesProxyModelPrivate::QConcatenateTablesProxyModelPrivate()
@@ -470,7 +470,7 @@ void QConcatenateTablesProxyModel::addSourceModel(QAbstractItemModel *sourceMode
Q_D(QConcatenateTablesProxyModel);
Q_ASSERT(sourceModel);
Q_ASSERT(!d->m_models.contains(sourceModel));
- connect(sourceModel, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)), this, SLOT(_q_slotDataChanged(QModelIndex,QModelIndex,QVector<int>)));
+ connect(sourceModel, SIGNAL(dataChanged(QModelIndex,QModelIndex,QList<int>)), this, SLOT(_q_slotDataChanged(QModelIndex,QModelIndex,QList<int>)));
connect(sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(_q_slotRowsInserted(QModelIndex,int,int)));
connect(sourceModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(_q_slotRowsRemoved(QModelIndex,int,int)));
connect(sourceModel, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, SLOT(_q_slotRowsAboutToBeInserted(QModelIndex,int,int)));
@@ -617,7 +617,7 @@ void QConcatenateTablesProxyModelPrivate::_q_slotColumnsRemoved(const QModelInde
}
}
-void QConcatenateTablesProxyModelPrivate::_q_slotDataChanged(const QModelIndex &from, const QModelIndex &to, const QVector<int> &roles)
+void QConcatenateTablesProxyModelPrivate::_q_slotDataChanged(const QModelIndex &from, const QModelIndex &to, const QList<int> &roles)
{
Q_Q(QConcatenateTablesProxyModel);
Q_ASSERT(from.isValid());
diff --git a/src/corelib/itemmodels/qidentityproxymodel.cpp b/src/corelib/itemmodels/qidentityproxymodel.cpp
index 8210e27f8a..209626a0ee 100644
--- a/src/corelib/itemmodels/qidentityproxymodel.cpp
+++ b/src/corelib/itemmodels/qidentityproxymodel.cpp
@@ -69,7 +69,7 @@ class QIdentityProxyModelPrivate : public QAbstractProxyModelPrivate
void _q_sourceColumnsAboutToBeMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest);
void _q_sourceColumnsMoved(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destParent, int dest);
- void _q_sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles);
+ void _q_sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles);
void _q_sourceHeaderDataChanged(Qt::Orientation orientation, int first, int last);
void _q_sourceLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint);
@@ -390,8 +390,8 @@ void QIdentityProxyModel::setSourceModel(QAbstractItemModel* newSourceModel)
this, SLOT(_q_sourceModelAboutToBeReset()));
disconnect(sourceModel(), SIGNAL(modelReset()),
this, SLOT(_q_sourceModelReset()));
- disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
- this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
+ disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex,QList<int>)),
+ this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QList<int>)));
disconnect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)),
this, SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int)));
disconnect(sourceModel(), SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)),
@@ -431,8 +431,8 @@ void QIdentityProxyModel::setSourceModel(QAbstractItemModel* newSourceModel)
SLOT(_q_sourceModelAboutToBeReset()));
connect(sourceModel(), SIGNAL(modelReset()),
SLOT(_q_sourceModelReset()));
- connect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
- SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
+ connect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex,QList<int>)),
+ SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QList<int>)));
connect(sourceModel(), SIGNAL(headerDataChanged(Qt::Orientation,int,int)),
SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int)));
connect(sourceModel(), SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)),
@@ -499,7 +499,7 @@ void QIdentityProxyModelPrivate::_q_sourceColumnsRemoved(const QModelIndex &pare
q->endRemoveColumns();
}
-void QIdentityProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles)
+void QIdentityProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles)
{
Q_ASSERT(topLeft.isValid() ? topLeft.model() == model : true);
Q_ASSERT(bottomRight.isValid() ? bottomRight.model() == model : true);
diff --git a/src/corelib/itemmodels/qitemselectionmodel.cpp b/src/corelib/itemmodels/qitemselectionmodel.cpp
index fe7be8753b..5eed378f9e 100644
--- a/src/corelib/itemmodels/qitemselectionmodel.cpp
+++ b/src/corelib/itemmodels/qitemselectionmodel.cpp
@@ -306,7 +306,7 @@ bool QItemSelectionRange::operator<(const QItemSelectionRange &other) const
*/
-static void rowLengthsFromRange(const QItemSelectionRange &range, QVector<QPair<QPersistentModelIndex, uint> > &result)
+static void rowLengthsFromRange(const QItemSelectionRange &range, QList<QPair<QPersistentModelIndex, uint>> &result)
{
if (range.isValid() && range.model()) {
const QModelIndex topLeft = range.topLeft();
@@ -495,9 +495,9 @@ QModelIndexList QItemSelection::indexes() const
return qSelectionIndexes<QModelIndexList>(*this);
}
-static QVector<QPair<QPersistentModelIndex, uint> > qSelectionPersistentRowLengths(const QItemSelection &sel)
+static QList<QPair<QPersistentModelIndex, uint>> qSelectionPersistentRowLengths(const QItemSelection &sel)
{
- QVector<QPair<QPersistentModelIndex, uint> > result;
+ QList<QPair<QPersistentModelIndex, uint>> result;
for (const QItemSelectionRange &range : sel)
rowLengthsFromRange(range, result);
return result;
@@ -902,14 +902,14 @@ void QItemSelectionModelPrivate::_q_layoutAboutToBeChanged(const QList<QPersiste
savedPersistentRowLengths = qSelectionPersistentRowLengths(ranges);
savedPersistentCurrentRowLengths = qSelectionPersistentRowLengths(currentSelection);
} else {
- savedPersistentIndexes = qSelectionIndexes<QVector<QPersistentModelIndex>>(ranges);
- savedPersistentCurrentIndexes = qSelectionIndexes<QVector<QPersistentModelIndex>>(currentSelection);
+ savedPersistentIndexes = qSelectionIndexes<QList<QPersistentModelIndex>>(ranges);
+ savedPersistentCurrentIndexes = qSelectionIndexes<QList<QPersistentModelIndex>>(currentSelection);
}
}
/*!
\internal
*/
-static QItemSelection mergeRowLengths(const QVector<QPair<QPersistentModelIndex, uint> > &rowLengths)
+static QItemSelection mergeRowLengths(const QList<QPair<QPersistentModelIndex, uint>> &rowLengths)
{
if (rowLengths.isEmpty())
return QItemSelection();
@@ -949,7 +949,7 @@ static QItemSelection mergeRowLengths(const QVector<QPair<QPersistentModelIndex,
Merges \a indexes into an item selection made up of ranges.
Assumes that the indexes are sorted.
*/
-static QItemSelection mergeIndexes(const QVector<QPersistentModelIndex> &indexes)
+static QItemSelection mergeIndexes(const QList<QPersistentModelIndex> &indexes)
{
QItemSelection colSpans;
// merge columns
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
index 03db159618..728be151c6 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
@@ -51,7 +51,7 @@
QT_BEGIN_NAMESPACE
-typedef QVector<QPair<QModelIndex, QPersistentModelIndex> > QModelIndexPairList;
+typedef QList<QPair<QModelIndex, QPersistentModelIndex>> QModelIndexPairList;
struct QSortFilterProxyModelDataChanged
{
@@ -62,7 +62,7 @@ struct QSortFilterProxyModelDataChanged
QModelIndex bottomRight;
};
-static inline QSet<int> qVectorToSet(const QVector<int> &vector)
+static inline QSet<int> qListToSet(const QList<int> &vector)
{
return {vector.begin(), vector.end()};
}
@@ -154,11 +154,11 @@ public:
};
struct Mapping {
- QVector<int> source_rows;
- QVector<int> source_columns;
- QVector<int> proxy_rows;
- QVector<int> proxy_columns;
- QVector<QModelIndex> mapped_children;
+ QList<int> source_rows;
+ QList<int> source_columns;
+ QList<int> proxy_rows;
+ QList<int> proxy_columns;
+ QList<QModelIndex> mapped_children;
QModelIndex source_parent;
};
@@ -215,7 +215,7 @@ public:
void _q_sourceDataChanged(const QModelIndex &source_top_left,
const QModelIndex &source_bottom_right,
- const QVector<int> &roles);
+ const QList<int> &roles);
void _q_sourceHeaderDataChanged(Qt::Orientation orientation, int start, int end);
void _q_sourceAboutToBeReset();
@@ -258,27 +258,27 @@ public:
void sort();
bool update_source_sort_column();
int find_source_sort_column() const;
- void sort_source_rows(QVector<int> &source_rows,
+ void sort_source_rows(QList<int> &source_rows,
const QModelIndex &source_parent) const;
- QVector<QPair<int, QVector<int > > > proxy_intervals_for_source_items_to_add(
- const QVector<int> &proxy_to_source, const QVector<int> &source_items,
+ QList<QPair<int, QList<int>>> proxy_intervals_for_source_items_to_add(
+ const QList<int> &proxy_to_source, const QList<int> &source_items,
const QModelIndex &source_parent, Qt::Orientation orient) const;
- QVector<QPair<int, int > > proxy_intervals_for_source_items(
- const QVector<int> &source_to_proxy, const QVector<int> &source_items) const;
+ QList<QPair<int, int>> proxy_intervals_for_source_items(
+ const QList<int> &source_to_proxy, const QList<int> &source_items) const;
void insert_source_items(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
- const QVector<int> &source_items, const QModelIndex &source_parent,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
+ const QList<int> &source_items, const QModelIndex &source_parent,
Qt::Orientation orient, bool emit_signal = true);
void remove_source_items(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
- const QVector<int> &source_items, const QModelIndex &source_parent,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
+ const QList<int> &source_items, const QModelIndex &source_parent,
Qt::Orientation orient, bool emit_signal = true);
void remove_proxy_interval(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
int proxy_start, int proxy_end, const QModelIndex &proxy_parent,
Qt::Orientation orient, bool emit_signal = true);
static inline void build_source_to_proxy_mapping(
- const QVector<int> &proxy_to_source, QVector<int> &source_to_proxy, int start = 0);
+ const QList<int> &proxy_to_source, QList<int> &source_to_proxy, int start = 0);
void source_items_inserted(const QModelIndex &source_parent,
int start, int end, Qt::Orientation orient);
void source_items_about_to_be_removed(const QModelIndex &source_parent,
@@ -286,7 +286,7 @@ public:
void source_items_removed(const QModelIndex &source_parent,
int start, int end, Qt::Orientation orient);
void proxy_item_range(
- const QVector<int> &source_to_proxy, const QVector<int> &source_items,
+ const QList<int> &source_to_proxy, const QList<int> &source_items,
int &proxy_low, int &proxy_high) const;
QModelIndexPairList store_persistent_indexes() const;
@@ -295,7 +295,7 @@ public:
void filter_about_to_be_changed(const QModelIndex &source_parent = QModelIndex());
void filter_changed(Direction dir, const QModelIndex &source_parent = QModelIndex());
QSet<int> handle_filter_changed(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
const QModelIndex &source_parent, Qt::Orientation orient);
void updateChildrenMapping(const QModelIndex &source_parent, Mapping *parent_mapping,
@@ -303,7 +303,7 @@ public:
void _q_sourceModelDestroyed() override;
- bool needsReorder(const QVector<int> &source_rows, const QModelIndex &source_parent) const;
+ bool needsReorder(const QList<int> &source_rows, const QModelIndex &source_parent) const;
bool filterAcceptsRowInternal(int source_row, const QModelIndex &source_parent) const;
bool recursiveChildAcceptsRow(int source_row, const QModelIndex &source_parent) const;
@@ -582,7 +582,7 @@ int QSortFilterProxyModelPrivate::find_source_sort_column() const
Sorts the given \a source_rows according to current sort column and order.
*/
void QSortFilterProxyModelPrivate::sort_source_rows(
- QVector<int> &source_rows, const QModelIndex &source_parent) const
+ QList<int> &source_rows, const QModelIndex &source_parent) const
{
Q_Q(const QSortFilterProxyModel);
if (source_sort_column >= 0) {
@@ -609,10 +609,10 @@ void QSortFilterProxyModelPrivate::sort_source_rows(
The result is a vector of pairs, where each pair represents a
(start, end) tuple, sorted in ascending order.
*/
-QVector<QPair<int, int > > QSortFilterProxyModelPrivate::proxy_intervals_for_source_items(
- const QVector<int> &source_to_proxy, const QVector<int> &source_items) const
+QList<QPair<int, int>> QSortFilterProxyModelPrivate::proxy_intervals_for_source_items(
+ const QList<int> &source_to_proxy, const QList<int> &source_items) const
{
- QVector<QPair<int, int> > proxy_intervals;
+ QList<QPair<int, int>> proxy_intervals;
if (source_items.isEmpty())
return proxy_intervals;
@@ -657,8 +657,8 @@ QVector<QPair<int, int > > QSortFilterProxyModelPrivate::proxy_intervals_for_sou
rows/columnsRemoved(start, end) signals will be generated.
*/
void QSortFilterProxyModelPrivate::remove_source_items(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
- const QVector<int> &source_items, const QModelIndex &source_parent,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
+ const QList<int> &source_items, const QModelIndex &source_parent,
Qt::Orientation orient, bool emit_signal)
{
Q_Q(QSortFilterProxyModel);
@@ -687,7 +687,7 @@ void QSortFilterProxyModelPrivate::remove_source_items(
(inclusive) from this proxy model.
*/
void QSortFilterProxyModelPrivate::remove_proxy_interval(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source, int proxy_start, int proxy_end,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source, int proxy_start, int proxy_end,
const QModelIndex &proxy_parent, Qt::Orientation orient, bool emit_signal)
{
Q_Q(QSortFilterProxyModel);
@@ -725,19 +725,19 @@ void QSortFilterProxyModelPrivate::remove_proxy_interval(
items), where items is a vector containing the (sorted) source items that
should be inserted at that proxy model location.
*/
-QVector<QPair<int, QVector<int > > > QSortFilterProxyModelPrivate::proxy_intervals_for_source_items_to_add(
- const QVector<int> &proxy_to_source, const QVector<int> &source_items,
+QList<QPair<int, QList<int>>> QSortFilterProxyModelPrivate::proxy_intervals_for_source_items_to_add(
+ const QList<int> &proxy_to_source, const QList<int> &source_items,
const QModelIndex &source_parent, Qt::Orientation orient) const
{
Q_Q(const QSortFilterProxyModel);
- QVector<QPair<int, QVector<int> > > proxy_intervals;
+ QList<QPair<int, QList<int>>> proxy_intervals;
if (source_items.isEmpty())
return proxy_intervals;
int proxy_low = 0;
int proxy_item = 0;
int source_items_index = 0;
- QVector<int> source_items_in_interval;
+ QList<int> source_items_in_interval;
bool compare = (orient == Qt::Vertical && source_sort_column >= 0 && dynamic_sortfilter);
while (source_items_index < source_items.size()) {
source_items_in_interval.clear();
@@ -786,7 +786,7 @@ QVector<QPair<int, QVector<int > > > QSortFilterProxyModelPrivate::proxy_interva
}
// Add interval to result
- proxy_intervals.append(QPair<int, QVector<int> >(proxy_item, source_items_in_interval));
+ proxy_intervals.append(QPair<int, QList<int>>(proxy_item, source_items_in_interval));
}
return proxy_intervals;
}
@@ -800,8 +800,8 @@ QVector<QPair<int, QVector<int > > > QSortFilterProxyModelPrivate::proxy_interva
that the proper rows/columnsInserted(start, end) signals will be generated.
*/
void QSortFilterProxyModelPrivate::insert_source_items(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
- const QVector<int> &source_items, const QModelIndex &source_parent,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
+ const QList<int> &source_items, const QModelIndex &source_parent,
Qt::Orientation orient, bool emit_signal)
{
Q_Q(QSortFilterProxyModel);
@@ -814,9 +814,9 @@ void QSortFilterProxyModelPrivate::insert_source_items(
const auto end = proxy_intervals.rend();
for (auto it = proxy_intervals.rbegin(); it != end; ++it) {
- const QPair<int, QVector<int> > &interval = *it;
+ const QPair<int, QList<int>> &interval = *it;
const int proxy_start = interval.first;
- const QVector<int> &source_items = interval.second;
+ const QList<int> &source_items = interval.second;
const int proxy_end = proxy_start + source_items.size() - 1;
if (emit_signal) {
@@ -877,8 +877,8 @@ void QSortFilterProxyModelPrivate::source_items_inserted(
}
Mapping *m = it.value();
- QVector<int> &source_to_proxy = (orient == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
- QVector<int> &proxy_to_source = (orient == Qt::Vertical) ? m->source_rows : m->source_columns;
+ QList<int> &source_to_proxy = (orient == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
+ QList<int> &proxy_to_source = (orient == Qt::Vertical) ? m->source_rows : m->source_columns;
int delta_item_count = end - start + 1;
int old_item_count = source_to_proxy.size();
@@ -905,7 +905,7 @@ void QSortFilterProxyModelPrivate::source_items_inserted(
}
// Figure out which items to add to mapping based on filter
- QVector<int> source_items;
+ QList<int> source_items;
for (int i = start; i <= end; ++i) {
if ((orient == Qt::Vertical)
? filterAcceptsRowInternal(i, source_parent)
@@ -919,8 +919,8 @@ void QSortFilterProxyModelPrivate::source_items_inserted(
// If it was new rows make sure to create mappings for columns so that a
// valid mapping can be retrieved later and vice-versa.
- QVector<int> &orthogonal_proxy_to_source = (orient == Qt::Horizontal) ? m->source_rows : m->source_columns;
- QVector<int> &orthogonal_source_to_proxy = (orient == Qt::Horizontal) ? m->proxy_rows : m->proxy_columns;
+ QList<int> &orthogonal_proxy_to_source = (orient == Qt::Horizontal) ? m->source_rows : m->source_columns;
+ QList<int> &orthogonal_source_to_proxy = (orient == Qt::Horizontal) ? m->proxy_rows : m->proxy_columns;
if (orthogonal_source_to_proxy.isEmpty()) {
const int ortho_end = (orient == Qt::Horizontal) ? model->rowCount(source_parent) : model->columnCount(source_parent);
@@ -965,11 +965,11 @@ void QSortFilterProxyModelPrivate::source_items_about_to_be_removed(
}
Mapping *m = it.value();
- QVector<int> &source_to_proxy = (orient == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
- QVector<int> &proxy_to_source = (orient == Qt::Vertical) ? m->source_rows : m->source_columns;
+ QList<int> &source_to_proxy = (orient == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
+ QList<int> &proxy_to_source = (orient == Qt::Vertical) ? m->source_rows : m->source_columns;
// figure out which items to remove
- QVector<int> source_items_to_remove;
+ QList<int> source_items_to_remove;
int proxy_count = proxy_to_source.size();
for (int proxy_item = 0; proxy_item < proxy_count; ++proxy_item) {
int source_item = proxy_to_source.at(proxy_item);
@@ -998,8 +998,8 @@ void QSortFilterProxyModelPrivate::source_items_removed(
}
Mapping *m = it.value();
- QVector<int> &source_to_proxy = (orient == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
- QVector<int> &proxy_to_source = (orient == Qt::Vertical) ? m->source_rows : m->source_columns;
+ QList<int> &source_to_proxy = (orient == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
+ QList<int> &proxy_to_source = (orient == Qt::Vertical) ? m->source_rows : m->source_columns;
if (end >= source_to_proxy.size())
end = source_to_proxy.size() - 1;
@@ -1042,8 +1042,8 @@ void QSortFilterProxyModelPrivate::updateChildrenMapping(const QModelIndex &sour
Qt::Orientation orient, int start, int end, int delta_item_count, bool remove)
{
// see if any mapped children should be (re)moved
- QVector<QPair<QModelIndex, Mapping*> > moved_source_index_mappings;
- QVector<QModelIndex>::iterator it2 = parent_mapping->mapped_children.begin();
+ QList<QPair<QModelIndex, Mapping *>> moved_source_index_mappings;
+ auto it2 = parent_mapping->mapped_children.begin();
for ( ; it2 != parent_mapping->mapped_children.end();) {
const QModelIndex source_child_index = *it2;
const int pos = (orient == Qt::Vertical)
@@ -1081,10 +1081,9 @@ void QSortFilterProxyModelPrivate::updateChildrenMapping(const QModelIndex &sour
}
// reinsert moved, mapped indexes
- QVector<QPair<QModelIndex, Mapping*> >::iterator it = moved_source_index_mappings.begin();
- for (; it != moved_source_index_mappings.end(); ++it) {
- it->second->source_parent = it->first;
- source_index_mapping.insert(it->first, it->second);
+ for (auto &pair : qAsConst(moved_source_index_mappings)) {
+ pair.second->source_parent = pair.first;
+ source_index_mapping.insert(pair.first, pair.second);
}
}
@@ -1092,7 +1091,7 @@ void QSortFilterProxyModelPrivate::updateChildrenMapping(const QModelIndex &sour
\internal
*/
void QSortFilterProxyModelPrivate::proxy_item_range(
- const QVector<int> &source_to_proxy, const QVector<int> &source_items,
+ const QList<int> &source_to_proxy, const QList<int> &source_items,
int &proxy_low, int &proxy_high) const
{
proxy_low = INT_MAX;
@@ -1111,7 +1110,7 @@ void QSortFilterProxyModelPrivate::proxy_item_range(
\internal
*/
void QSortFilterProxyModelPrivate::build_source_to_proxy_mapping(
- const QVector<int> &proxy_to_source, QVector<int> &source_to_proxy, int start)
+ const QList<int> &proxy_to_source, QList<int> &source_to_proxy, int start)
{
if (start == 0)
source_to_proxy.fill(-1);
@@ -1197,8 +1196,8 @@ void QSortFilterProxyModelPrivate::filter_changed(Direction dir, const QModelInd
// the iterator it2.
// The m->mapped_children vector can be appended to with indexes which are no longer filtered
// out (in create_mapping) when this function recurses for child indexes.
- const QVector<QModelIndex> mappedChildren = m->mapped_children;
- QVector<int> indexesToRemove;
+ const QList<QModelIndex> mappedChildren = m->mapped_children;
+ QList<int> indexesToRemove;
for (int i = 0; i < mappedChildren.size(); ++i) {
const QModelIndex &source_child_index = mappedChildren.at(i);
if (rows_removed.contains(source_child_index.row()) || columns_removed.contains(source_child_index.column())) {
@@ -1208,8 +1207,8 @@ void QSortFilterProxyModelPrivate::filter_changed(Direction dir, const QModelInd
filter_changed(dir, source_child_index);
}
}
- QVector<int>::const_iterator removeIt = indexesToRemove.constEnd();
- const QVector<int>::const_iterator removeBegin = indexesToRemove.constBegin();
+ QList<int>::const_iterator removeIt = indexesToRemove.constEnd();
+ const QList<int>::const_iterator removeBegin = indexesToRemove.constBegin();
// We can't just remove these items from mappedChildren while iterating above and then
// do something like m->mapped_children = mappedChildren, because mapped_children might
@@ -1227,12 +1226,12 @@ void QSortFilterProxyModelPrivate::filter_changed(Direction dir, const QModelInd
returns the removed items indexes
*/
QSet<int> QSortFilterProxyModelPrivate::handle_filter_changed(
- QVector<int> &source_to_proxy, QVector<int> &proxy_to_source,
+ QList<int> &source_to_proxy, QList<int> &proxy_to_source,
const QModelIndex &source_parent, Qt::Orientation orient)
{
Q_Q(QSortFilterProxyModel);
// Figure out which mapped items to remove
- QVector<int> source_items_remove;
+ QList<int> source_items_remove;
for (int i = 0; i < proxy_to_source.count(); ++i) {
const int source_item = proxy_to_source.at(i);
if ((orient == Qt::Vertical)
@@ -1243,7 +1242,7 @@ QSet<int> QSortFilterProxyModelPrivate::handle_filter_changed(
}
}
// Figure out which non-mapped items to insert
- QVector<int> source_items_insert;
+ QList<int> source_items_insert;
int source_count = source_to_proxy.size();
for (int source_item = 0; source_item < source_count; ++source_item) {
if (source_to_proxy.at(source_item) == -1) {
@@ -1264,10 +1263,10 @@ QSet<int> QSortFilterProxyModelPrivate::handle_filter_changed(
insert_source_items(source_to_proxy, proxy_to_source,
source_items_insert, source_parent, orient);
}
- return qVectorToSet(source_items_remove);
+ return qListToSet(source_items_remove);
}
-bool QSortFilterProxyModelPrivate::needsReorder(const QVector<int> &source_rows, const QModelIndex &source_parent) const
+bool QSortFilterProxyModelPrivate::needsReorder(const QList<int> &source_rows, const QModelIndex &source_parent) const
{
Q_Q(const QSortFilterProxyModel);
Q_ASSERT(source_sort_column != -1);
@@ -1296,7 +1295,7 @@ bool QSortFilterProxyModelPrivate::needsReorder(const QVector<int> &source_rows,
void QSortFilterProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &source_top_left,
const QModelIndex &source_bottom_right,
- const QVector<int> &roles)
+ const QList<int> &roles)
{
Q_Q(QSortFilterProxyModel);
if (!source_top_left.isValid() || !source_bottom_right.isValid())
@@ -1328,10 +1327,10 @@ void QSortFilterProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &sourc
Mapping *m = it.value();
// Figure out how the source changes affect us
- QVector<int> source_rows_remove;
- QVector<int> source_rows_insert;
- QVector<int> source_rows_change;
- QVector<int> source_rows_resort;
+ QList<int> source_rows_remove;
+ QList<int> source_rows_insert;
+ QList<int> source_rows_change;
+ QList<int> source_rows_resort;
int end = qMin(source_bottom_right.row(), m->proxy_rows.count() - 1);
for (int source_row = source_top_left.row(); source_row <= end; ++source_row) {
if (dynamic_sortfilter) {
@@ -1361,8 +1360,8 @@ void QSortFilterProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &sourc
if (!source_rows_remove.isEmpty()) {
remove_source_items(m->proxy_rows, m->source_rows,
source_rows_remove, source_parent, Qt::Vertical);
- QSet<int> source_rows_remove_set = qVectorToSet(source_rows_remove);
- QVector<QModelIndex>::iterator childIt = m->mapped_children.end();
+ QSet<int> source_rows_remove_set = qListToSet(source_rows_remove);
+ QList<QModelIndex>::iterator childIt = m->mapped_children.end();
while (childIt != m->mapped_children.begin()) {
--childIt;
const QModelIndex source_child_index = *childIt;
@@ -1433,14 +1432,14 @@ void QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation or
Q_Q(QSortFilterProxyModel);
Mapping *m = create_mapping(QModelIndex()).value();
- const QVector<int> &source_to_proxy = (orientation == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
+ const QList<int> &source_to_proxy = (orientation == Qt::Vertical) ? m->proxy_rows : m->proxy_columns;
- QVector<int> proxy_positions;
+ QList<int> proxy_positions;
proxy_positions.reserve(end - start + 1);
{
Q_ASSERT(source_to_proxy.size() > end);
- QVector<int>::const_iterator it = source_to_proxy.constBegin() + start;
- const QVector<int>::const_iterator endIt = source_to_proxy.constBegin() + end + 1;
+ QList<int>::const_iterator it = source_to_proxy.constBegin() + start;
+ const QList<int>::const_iterator endIt = source_to_proxy.constBegin() + end + 1;
for ( ; it != endIt; ++it) {
if (*it != -1)
proxy_positions.push_back(*it);
@@ -1594,7 +1593,7 @@ void QSortFilterProxyModelPrivate::_q_sourceRowsInserted(
return;
// last_top_source should now become visible
- _q_sourceDataChanged(last_top_source, last_top_source, QVector<int>());
+ _q_sourceDataChanged(last_top_source, last_top_source, QList<int>());
}
}
@@ -1630,7 +1629,7 @@ void QSortFilterProxyModelPrivate::_q_sourceRowsRemoved(
}
if (to_hide.isValid())
- _q_sourceDataChanged(to_hide, to_hide, QVector<int>());
+ _q_sourceDataChanged(to_hide, to_hide, QList<int>());
}
}
@@ -1934,8 +1933,8 @@ void QSortFilterProxyModel::setSourceModel(QAbstractItemModel *sourceModel)
beginResetModel();
- disconnect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
- this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
+ disconnect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QList<int>)),
+ this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QList<int>)));
disconnect(d->model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)),
this, SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int)));
@@ -1991,8 +1990,8 @@ void QSortFilterProxyModel::setSourceModel(QAbstractItemModel *sourceModel)
QAbstractProxyModel::setSourceModel(sourceModel);
- connect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
- this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
+ connect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex,QList<int>)),
+ this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex,QList<int>)));
connect(d->model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)),
this, SLOT(_q_sourceHeaderDataChanged(Qt::Orientation,int,int)));
@@ -2311,7 +2310,7 @@ bool QSortFilterProxyModel::removeRows(int row, int count, const QModelIndex &pa
}
// remove corresponding source intervals
// ### if this proves to be slow, we can switch to single-row removal
- QVector<int> rows;
+ QList<int> rows;
rows.reserve(count);
for (int i = row; i < row + count; ++i)
rows.append(m->source_rows.at(i));
@@ -2351,7 +2350,7 @@ bool QSortFilterProxyModel::removeColumns(int column, int count, const QModelInd
return d->model->removeColumns(source_column, count, source_parent);
}
// remove corresponding source intervals
- QVector<int> columns;
+ QList<int> columns;
columns.reserve(count);
for (int i = column; i < column + count; ++i)
columns.append(m->source_columns.at(i));
diff --git a/src/corelib/itemmodels/qstringlistmodel.cpp b/src/corelib/itemmodels/qstringlistmodel.cpp
index f5f67c516f..829d4cf3ed 100644
--- a/src/corelib/itemmodels/qstringlistmodel.cpp
+++ b/src/corelib/itemmodels/qstringlistmodel.cpp
@@ -43,7 +43,7 @@
#include "qstringlistmodel.h"
-#include <QtCore/qvector.h>
+#include <QtCore/qlist.h>
#include <algorithm>
@@ -344,7 +344,7 @@ void QStringListModel::sort(int, Qt::SortOrder order)
{
emit layoutAboutToBeChanged(QList<QPersistentModelIndex>(), VerticalSortHint);
- QVector<QPair<QString, int> > list;
+ QList<QPair<QString, int>> list;
const int lstCount = lst.count();
list.reserve(lstCount);
for (int i = 0; i < lstCount; ++i)
@@ -356,7 +356,7 @@ void QStringListModel::sort(int, Qt::SortOrder order)
std::sort(list.begin(), list.end(), decendingLessThan);
lst.clear();
- QVector<int> forwarding(lstCount);
+ QList<int> forwarding(lstCount);
for (int i = 0; i < lstCount; ++i) {
lst.append(list.at(i).first);
forwarding[list.at(i).second] = i;
diff --git a/src/corelib/itemmodels/qtransposeproxymodel.cpp b/src/corelib/itemmodels/qtransposeproxymodel.cpp
index 207faa6151..c72128fa7d 100644
--- a/src/corelib/itemmodels/qtransposeproxymodel.cpp
+++ b/src/corelib/itemmodels/qtransposeproxymodel.cpp
@@ -39,7 +39,7 @@
#include "qtransposeproxymodel.h"
#include <private/qtransposeproxymodel_p.h>
-#include <QtCore/qvector.h>
+#include <QtCore/qlist.h>
#include <QtCore/qmetaobject.h>
#include <QtCore/qsize.h>
@@ -111,7 +111,8 @@ void QTransposeProxyModelPrivate::onLayoutAboutToBeChanged(const QList<QPersiste
emit q->layoutAboutToBeChanged(proxyParents, proxyHint);
}
-void QTransposeProxyModelPrivate::onDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight, const QVector<int>& roles)
+void QTransposeProxyModelPrivate::onDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight,
+ const QList<int> &roles)
{
Q_Q(QTransposeProxyModel);
emit q->dataChanged(q->mapFromSource(topLeft), q->mapFromSource(bottomRight), roles);
@@ -205,7 +206,7 @@ void QTransposeProxyModel::setSourceModel(QAbstractItemModel* newSourceModel)
QAbstractProxyModel::setSourceModel(newSourceModel);
if (d->model) {
using namespace std::placeholders;
- d->sourceConnections = QVector<QMetaObject::Connection>{
+ d->sourceConnections = QList<QMetaObject::Connection>{
connect(d->model, &QAbstractItemModel::modelAboutToBeReset, this, &QTransposeProxyModel::beginResetModel),
connect(d->model, &QAbstractItemModel::modelReset, this, &QTransposeProxyModel::endResetModel),
connect(d->model, &QAbstractItemModel::dataChanged, this, std::bind(&QTransposeProxyModelPrivate::onDataChanged, d, _1, _2, _3)),