Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.15.3
-
None
-
21
-
Qt6_Foundation_Sprint 37, Qt6_Foundation_Sprint 38, Team 1 Foundation_Sprint 45, Team 1 Foundation_Sprint 46, Team 1 Foundation_Sprint 47, Team 1 Foundation_Sprint 48, Team One Foundation Sprint 49, Team One Foundation Sprint 50
Description
See reproducer in https://codereview.qt-project.org/c/qt/qtbase/+/346010
When a selection is cleared by calling
model.item(j)->setFlags({ });
i.e. by clearing the flags, a QItemSelectionModel connected the the model should emit selectionChanged because, well, the selection changed. However, this is not the case. The model emits the signal dataChanged() in that case. This signal is not connected to by QItemSelectionModel, see
https://github.com/qt/qtbase/blob/582fdf06d179ee17ff68c67fb2f55ac10b7b6e4a/src/corelib/itemmodels/qitemselectionmodel.cpp#L606
Proper handling is necessary here.
Attachments
Issue Links
- depends on
-
QTBUG-93829 QItemSelectionModel::hasSelection is inconsistent
- Closed
-
QTBUG-100857 Implement flagsChanged signals in QSqlTableModel
- Reported
-
QTBUG-100858 Implement flagsChanged signals in QUrlModel
- Reported
-
QTBUG-100859 Implement flagsChanged signals in QTableModel
- Reported
-
QTBUG-100860 Implement flagsChanged signals in QCalendarModel
- Reported
-
QTBUG-99519 Implement flagsChanged signals in QDirModel
- Open
-
QTBUG-99520 Implement flagsChanged signals in QTreeModel
- Open
-
QTBUG-99518 Implement flagsChanged signals in QFileSystemModel
- In Progress
- is required for
-
QTBUG-92991 Port QItemSelectionModel to bindable properties
- Closed
- relates to
-
QTBUG-99521 Benchmark impact of new flagsChanged signal
- Open
-
QTBUG-100951 Check QSortFilterProxyModel behavior
- In Progress
Gerrit Reviews
For Gerrit Dashboard: QTBUG-93301 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
346604,25 | QItemSelectionModel: use new flagsChanged() signal | dev | qt/qtbase | Status: NEW | +1 | 0 |
382487,16 | Introduce flagsChanged signal in QAbstractItemModel | dev | qt/qtbase | Status: NEW | 0 | 0 |
382488,14 | Use new flagsChanged() signal in QStandardItemModel | dev | qt/qtbase | Status: NEW | +1 | 0 |
382498,11 | Use new flagsChanged() signal in QAbstractProxyModel | dev | qt/qtbase | Status: NEW | +1 | 0 |
382499,9 | Use new flagsChanged() signal in QTransposeProxyModel | dev | qt/qtbase | Status: NEW | +1 | 0 |
382505,8 | Use new flagsChanged() signal in QConcatenateProxyModel | dev | qt/qtbase | Status: NEW | 0 | 0 |
382515,11 | Use new flagsChanged() signal in QSortFilterProxyModel | dev | qt/qtbase | Status: NEW | 0 | 0 |
346010,3 | Adapt unit test for QItemSelectionModel::selectionChanged emission | dev | qt/qtbase | Status: ABANDONED | 0 | 0 |