From 9432196e3b8e55abbf469e7b5626641d778fa46d Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 16 Aug 2019 22:46:19 +0200 Subject: [PATCH] Only highlight crates/playlists of a single selected track --- src/widget/wtracktableview.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/widget/wtracktableview.cpp b/src/widget/wtracktableview.cpp index dee54e156c09..81d022e7911c 100644 --- a/src/widget/wtracktableview.cpp +++ b/src/widget/wtracktableview.cpp @@ -209,20 +209,23 @@ void WTrackTableView::slotGuiTick50ms(double /*unused*/) { mixxx::Duration timeDelta = mixxx::Time::elapsed() - m_lastUserAction; if (m_loadCachedOnly && timeDelta > mixxx::Duration::fromMillis(100)) { - // Show the currently selected track in the large cover art view. Doing - // this in selectionChanged slows down scrolling performance so we wait - // until the user has stopped interacting first. + // Show the currently selected track in the large cover art view and + // hightlights crate and playlists. Doing this in selectionChanged + // slows down scrolling performance so we wait until the user has + // stopped interacting first. if (m_selectionChangedSinceLastGuiTick) { const QModelIndexList indices = selectionModel()->selectedRows(); - if (indices.size() > 0 && indices.last().isValid()) { + if (indices.size() == 1 && indices.first().isValid()) { + // A single track has been selected TrackModel* trackModel = getTrackModel(); if (trackModel) { - TrackPointer pTrack = trackModel->getTrack(indices.last()); + TrackPointer pTrack = trackModel->getTrack(indices.first()); if (pTrack) { emit(trackSelected(pTrack)); } } } else { + // None or multiple tracks have been selected emit(trackSelected(TrackPointer())); } m_selectionChangedSinceLastGuiTick = false;