diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/itemviews/qitemselectionmodel.cpp | 10 | ||||
-rw-r--r-- | src/widgets/itemviews/qitemselectionmodel.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/widgets/itemviews/qitemselectionmodel.cpp b/src/widgets/itemviews/qitemselectionmodel.cpp index 423a5802c2..996b12f805 100644 --- a/src/widgets/itemviews/qitemselectionmodel.cpp +++ b/src/widgets/itemviews/qitemselectionmodel.cpp @@ -1118,8 +1118,16 @@ void QItemSelectionModel::select(const QItemSelection &selection, QItemSelection */ void QItemSelectionModel::clear() { - Q_D(QItemSelectionModel); clearSelection(); + clearCurrentIndex(); +} + +/*! + Clears the current index. Emits currentChanged(). + */ +void QItemSelectionModel::clearCurrentIndex() +{ + Q_D(QItemSelectionModel); QModelIndex previous = d->currentIndex; d->currentIndex = QModelIndex(); if (previous.isValid()) { diff --git a/src/widgets/itemviews/qitemselectionmodel.h b/src/widgets/itemviews/qitemselectionmodel.h index cfa71d0ef2..ea0528a590 100644 --- a/src/widgets/itemviews/qitemselectionmodel.h +++ b/src/widgets/itemviews/qitemselectionmodel.h @@ -202,6 +202,7 @@ public Q_SLOTS: virtual void reset(); void clearSelection(); + virtual void clearCurrentIndex(); Q_SIGNALS: void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected); |