summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2017-12-20 21:18:54 +0100
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2018-01-26 19:58:26 +0000
commit657894624521b580f59ff5f58b9c0e9be159dc1c (patch)
treee272ead0ad252e12bcadbbf5f623d8f559b5f1bb /tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
parent52f1692b8451ac5b1e6fc059211e843bacc5c245 (diff)
QListWidgetItem/QStandardItem: pass role to dataChanged() signal
QAbstractItemModel::dataChanged() gained an optional role parameter with Qt5 which was not filled within QListWidgetItem/QStandardItem setData() functions Task-number: QTBUG-55903 Task-number: QTBUG-63766 Change-Id: I4da9346ef8401cc8633dc4b2ea7d00451d1e3942 Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Diffstat (limited to 'tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp')
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
index c0ef4f271e..d393ac70da 100644
--- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
@@ -137,6 +137,7 @@ private:
QVector<QModelIndex> rcParent;
QVector<int> rcFirst;
QVector<int> rcLast;
+ QVector<int> currentRoles;
//return true if models have the same structure, and all child have the same text
bool compareModels(QStandardItemModel *model1, QStandardItemModel *model2);
@@ -186,6 +187,12 @@ void tst_QStandardItemModel::init()
connect(m_model, SIGNAL(columnsRemoved(QModelIndex,int,int)),
this, SLOT(columnsRemoved(QModelIndex,int,int)));
+ connect(m_model, &QAbstractItemModel::dataChanged,
+ this, [this](const QModelIndex &, const QModelIndex &, const QVector<int> &roles)
+ {
+ currentRoles = roles;
+ });
+
rcFirst.fill(-1);
rcLast.fill(-1);
}
@@ -712,15 +719,20 @@ void tst_QStandardItemModel::checkChildren()
void tst_QStandardItemModel::data()
{
+ currentRoles.clear();
// bad args
m_model->setData(QModelIndex(), "bla", Qt::DisplayRole);
+ QCOMPARE(currentRoles, {});
QIcon icon;
for (int r=0; r < m_model->rowCount(); ++r) {
for (int c=0; c < m_model->columnCount(); ++c) {
m_model->setData(m_model->index(r,c), "initialitem", Qt::DisplayRole);
+ QCOMPARE(currentRoles, QVector<int>({Qt::DisplayRole, Qt::EditRole}));
m_model->setData(m_model->index(r,c), "tooltip", Qt::ToolTipRole);
+ QCOMPARE(currentRoles, {Qt::ToolTipRole});
m_model->setData(m_model->index(r,c), icon, Qt::DecorationRole);
+ QCOMPARE(currentRoles, {Qt::DecorationRole});
}
}