summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/itemviews/qitemselectionmodel.cpp10
-rw-r--r--src/widgets/itemviews/qitemselectionmodel.h1
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);