summaryrefslogtreecommitdiffstats
path: root/src/corelib/itemmodels/qsortfilterproxymodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/itemmodels/qsortfilterproxymodel.cpp')
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp167
1 files changed, 83 insertions, 84 deletions
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));