diff --git a/lib/thumbnailview/previewitemdelegate.cpp b/lib/thumbnailview/previewitemdelegate.cpp --- a/lib/thumbnailview/previewitemdelegate.cpp +++ b/lib/thumbnailview/previewitemdelegate.cpp @@ -599,6 +599,9 @@ SLOT(slotRowsChanged())); connect(view, SIGNAL(rowsInsertedSignal(QModelIndex,int,int)), SLOT(slotRowsChanged())); + connect(view, &ThumbnailView::selectionChangedSignal, [this]() { + d->updateToggleSelectionButton(); + }); #ifndef GWENVIEW_SEMANTICINFO_BACKEND_NONE d->mRatingPainter.setAlignment(Qt::AlignHCenter | Qt::AlignBottom); @@ -883,7 +886,6 @@ void PreviewItemDelegate::slotToggleSelectionClicked() { d->mView->selectionModel()->select(d->mIndexUnderCursor, QItemSelectionModel::Toggle); - d->updateToggleSelectionButton(); } PreviewItemDelegate::ThumbnailDetails PreviewItemDelegate::thumbnailDetails() const diff --git a/lib/thumbnailview/thumbnailbarview.cpp b/lib/thumbnailview/thumbnailbarview.cpp --- a/lib/thumbnailview/thumbnailbarview.cpp +++ b/lib/thumbnailview/thumbnailbarview.cpp @@ -162,6 +162,10 @@ view->viewport()->setAttribute(Qt::WA_Hover); d->mBorderColor = PaintUtils::alphaAdjustedF(QColor(Qt::white), 0.65); + + connect(view, &ThumbnailView::selectionChangedSignal, [this]() { + d->updateToggleSelectionButton(); + }); } QSize ThumbnailBarItemDelegate::sizeHint(const QStyleOptionViewItem & /*option*/, const QModelIndex & index) const @@ -243,7 +247,6 @@ void ThumbnailBarItemDelegate::toggleSelection() { d->mView->selectionModel()->select(d->mIndexUnderCursor, QItemSelectionModel::Toggle); - d->updateToggleSelectionButton(); } ThumbnailBarItemDelegate::~ThumbnailBarItemDelegate() @@ -510,7 +513,7 @@ void ThumbnailBarView::selectionChanged(const QItemSelection& selected, const QItemSelection& deselected) { - QListView::selectionChanged(selected, deselected); + ThumbnailView::selectionChanged(selected, deselected); QModelIndexList oldList = deselected.indexes(); QModelIndexList newList = selected.indexes();