summaryrefslogtreecommitdiffstats
path: root/src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2020-08-18 08:36:42 +0200
committerAndy Shaw <andy.shaw@qt.io>2021-05-05 12:43:27 +0000
commitfcd250521b67f1ca1a2205ab566a1c405c2f0529 (patch)
treea57962361c54a5426110d1991dac6d848c2d3227 /src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h
parent10cfbd2e34e7234d37ef2a9f3b0a587c0709407d (diff)
Update the replica when the layoutChanged signal is emitted
When a sort() is done on a QSortFilterProxyModel then it will emit the layoutChanged() signal, so it should ensure that the replica is updated in that case accordingly. Pick-to: 5.15 Fixes: QTBUG-85795 Change-Id: I7f34b24f4fab78c18655e986f54a0eb61db3a7b7 Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Diffstat (limited to 'src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h')
-rw-r--r--src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h b/src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h
index 9fc4a60..a8bcdb7 100644
--- a/src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h
+++ b/src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h
@@ -97,7 +97,7 @@ public Q_SLOTS:
void sourceRowsRemoved(const QModelIndex & parent, int start, int end);
void sourceRowsMoved(const QModelIndex & sourceParent, int sourceRow, int count, const QModelIndex & destinationParent, int destinationChild) const;
void sourceCurrentChanged(const QModelIndex & current, const QModelIndex & previous);
-
+ void sourceLayoutChanged(const QList<QPersistentModelIndex> &parents, QAbstractItemModel::LayoutChangeHint hint);
Q_SIGNALS:
void availableRolesChanged();
void dataChanged(IndexList topLeft, IndexList bottomRight, QList<int> roles) const;
@@ -106,6 +106,7 @@ Q_SIGNALS:
void rowsMoved(IndexList sourceParent, int sourceRow, int count, IndexList destinationParent, int destinationChild) const;
void currentChanged(IndexList current, IndexList previous);
void columnsInserted(IndexList parent, int start, int end) const;
+ void layoutChanged(IndexList parents, QAbstractItemModel::LayoutChangeHint hint);
private:
QAbstractItemModelSourceAdapter();
@@ -128,7 +129,7 @@ struct QAbstractItemAdapterSourceAPI : public SourceApiMap
m_properties[0] = 2;
m_properties[1] = QtPrivate::qtro_property_index<AdapterType>(&AdapterType::availableRoles, static_cast<QList<int> (QObject::*)()>(nullptr),"availableRoles");
m_properties[2] = QtPrivate::qtro_property_index<AdapterType>(&AdapterType::roleNames, static_cast<QIntHash (QObject::*)()>(nullptr),"roleNames");
- m_signals[0] = 9;
+ m_signals[0] = 10;
m_signals[1] = QtPrivate::qtro_signal_index<AdapterType>(&AdapterType::availableRolesChanged, static_cast<void (QObject::*)()>(nullptr),m_signalArgCount+0,&m_signalArgTypes[0]);
m_signals[2] = QtPrivate::qtro_signal_index<AdapterType>(&AdapterType::dataChanged, static_cast<void (QObject::*)(IndexList,IndexList,QList<int>)>(nullptr),m_signalArgCount+1,&m_signalArgTypes[1]);
m_signals[3] = QtPrivate::qtro_signal_index<AdapterType>(&AdapterType::rowsInserted, static_cast<void (QObject::*)(IndexList,int,int)>(nullptr),m_signalArgCount+2,&m_signalArgTypes[2]);
@@ -138,6 +139,7 @@ struct QAbstractItemAdapterSourceAPI : public SourceApiMap
m_signals[7] = QtPrivate::qtro_signal_index<ObjectType>(&ObjectType::modelReset, static_cast<void (QObject::*)()>(nullptr),m_signalArgCount+6,&m_signalArgTypes[6]);
m_signals[8] = QtPrivate::qtro_signal_index<ObjectType>(&ObjectType::headerDataChanged, static_cast<void (QObject::*)(Qt::Orientation,int,int)>(nullptr),m_signalArgCount+7,&m_signalArgTypes[7]);
m_signals[9] = QtPrivate::qtro_signal_index<AdapterType>(&AdapterType::columnsInserted, static_cast<void (QObject::*)(IndexList,int,int)>(nullptr),m_signalArgCount+8,&m_signalArgTypes[8]);
+ m_signals[10] = QtPrivate::qtro_signal_index<AdapterType>(&AdapterType::layoutChanged, static_cast<void (QObject::*)(IndexList,QAbstractItemModel::LayoutChangeHint)>(nullptr),m_signalArgCount+9,&m_signalArgTypes[9]);
m_methods[0] = 6;
m_methods[1] = QtPrivate::qtro_method_index<AdapterType>(&AdapterType::replicaSizeRequest, static_cast<void (QObject::*)(IndexList)>(nullptr),"replicaSizeRequest(IndexList)",m_methodArgCount+0,&m_methodArgTypes[0]);
m_methods[2] = QtPrivate::qtro_method_index<AdapterType>(&AdapterType::replicaRowRequest, static_cast<void (QObject::*)(IndexList,IndexList,QList<int>)>(nullptr),"replicaRowRequest(IndexList,IndexList,QList<int>)",m_methodArgCount+1,&m_methodArgTypes[1]);
@@ -213,6 +215,7 @@ struct QAbstractItemAdapterSourceAPI : public SourceApiMap
case 6: return QByteArrayLiteral("resetModel()");
case 7: return QByteArrayLiteral("headerDataChanged(Qt::Orientation,int,int)");
case 8: return QByteArrayLiteral("columnsInserted(IndexList,int,int)");
+ case 9: return QByteArrayLiteral("layoutChanged(IndexList,QAbstractItemModel::LayoutChangeHint)");
}
return QByteArrayLiteral("");
}
@@ -264,6 +267,7 @@ struct QAbstractItemAdapterSourceAPI : public SourceApiMap
case 4:
case 5:
case 8:
+ case 9:
return true;
}
return false;
@@ -292,10 +296,10 @@ struct QAbstractItemAdapterSourceAPI : public SourceApiMap
}
int m_properties[3];
- int m_signals[10];
+ int m_signals[11];
int m_methods[7];
- int m_signalArgCount[9];
- const int* m_signalArgTypes[9];
+ int m_signalArgCount[10];
+ const int* m_signalArgTypes[10];
int m_methodArgCount[6];
const int* m_methodArgTypes[6];
QString m_name;