Details
-
Bug
-
Resolution: Done
-
P4: Low
-
5.11.0
-
None
-
Ibaea17530f15627a3cb8003e5284e54001731ded
Description
QStringListModel currently does not reimplement setItemData this causes
QMap<int,QVariant> itemData;
itemData.insert(Qt::DisplayRole,5);
itemData.insert(Qt::EditRole,2);
stringListModel->setItemData(stringListModel->index(0,0),itemData);
to emit dataChanged twice.
A possible implementation that fixes the problem would be
bool QStringListModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles){ auto roleIter = roles.find(Qt::EditRole); if(roleIter==roles.end()){ roleIter = roles.find(Qt::DisplayRole); if(roleIter==roles.end()) return false; } return setData(index,roleIter.value(),roleIter.key()); }
Attachments
For Gerrit Dashboard: QTBUG-67511 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
235730,4 | Reimplement QStringListModel::setItemData | dev | qt/qtbase | Status: MERGED | +2 | 0 |