From 3213fd10c91b8b4eaa9675175bdbf83ef2238ee1 Mon Sep 17 00:00:00 2001 From: ronso0 <ronso0@mixxx.org> Date: Wed, 26 Jun 2024 14:48:22 +0200 Subject: [PATCH] (fix) Library: show Properties action in Missing and Hidden --- src/library/librarytablemodel.cpp | 3 ++- src/library/missing_hidden/hiddentablemodel.cpp | 4 +++- src/library/missing_hidden/missingtablemodel.cpp | 2 +- src/library/playlisttablemodel.cpp | 3 ++- src/library/trackmodel.h | 1 + src/library/trackset/crate/cratetablemodel.cpp | 3 ++- src/widget/wtrackmenu.cpp | 12 ++++++++---- 7 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/library/librarytablemodel.cpp b/src/library/librarytablemodel.cpp index 47b8cd6e41e..aec9a8777d6 100644 --- a/src/library/librarytablemodel.cpp +++ b/src/library/librarytablemodel.cpp @@ -98,5 +98,6 @@ TrackModel::Capabilities LibraryTableModel::getCapabilities() const { Capability::Hide | Capability::ResetPlayed | Capability::RemoveFromDisk | - Capability::Analyze; + Capability::Analyze | + Capability::Properties; } diff --git a/src/library/missing_hidden/hiddentablemodel.cpp b/src/library/missing_hidden/hiddentablemodel.cpp index ff87e84387d..b6026c1a759 100644 --- a/src/library/missing_hidden/hiddentablemodel.cpp +++ b/src/library/missing_hidden/hiddentablemodel.cpp @@ -97,7 +97,9 @@ Qt::ItemFlags HiddenTableModel::flags(const QModelIndex& index) const { TrackModel::Capabilities HiddenTableModel::getCapabilities() const { return Capability::Purge | Capability::Unhide | - Capability::RemoveFromDisk; + Capability::RemoveFromDisk | + Capability::EditMetadata | + Capability::Properties; } QString HiddenTableModel::modelKey(bool noSearch) const { diff --git a/src/library/missing_hidden/missingtablemodel.cpp b/src/library/missing_hidden/missingtablemodel.cpp index 1b6c077e509..400f3fc4d27 100644 --- a/src/library/missing_hidden/missingtablemodel.cpp +++ b/src/library/missing_hidden/missingtablemodel.cpp @@ -88,7 +88,7 @@ Qt::ItemFlags MissingTableModel::flags(const QModelIndex &index) const { } TrackModel::Capabilities MissingTableModel::getCapabilities() const { - return Capability::Purge; + return Capability::Purge | Capability::Properties; } QString MissingTableModel::modelKey(bool noSearch) const { diff --git a/src/library/playlisttablemodel.cpp b/src/library/playlisttablemodel.cpp index 069a460d903..b6fa62f1f07 100644 --- a/src/library/playlisttablemodel.cpp +++ b/src/library/playlisttablemodel.cpp @@ -373,7 +373,8 @@ TrackModel::Capabilities PlaylistTableModel::getCapabilities() const { Capability::ResetPlayed | Capability::RemoveFromDisk | Capability::Hide | - Capability::Analyze; + Capability::Analyze | + Capability::Properties; if (m_iPlaylistId != m_pTrackCollectionManager->internalCollection() diff --git a/src/library/trackmodel.h b/src/library/trackmodel.h index 53bf53ddbc9..7825405ea4b 100644 --- a/src/library/trackmodel.h +++ b/src/library/trackmodel.h @@ -52,6 +52,7 @@ class TrackModel { RemoveCrate = 1u << 15u, RemoveFromDisk = 1u << 16u, Analyze = 1u << 17u, + Properties = 1u << 18u, }; Q_DECLARE_FLAGS(Capabilities, Capability) diff --git a/src/library/trackset/crate/cratetablemodel.cpp b/src/library/trackset/crate/cratetablemodel.cpp index ebc16b629f9..076c5448816 100644 --- a/src/library/trackset/crate/cratetablemodel.cpp +++ b/src/library/trackset/crate/cratetablemodel.cpp @@ -133,7 +133,8 @@ TrackModel::Capabilities CrateTableModel::getCapabilities() const { Capability::ResetPlayed | Capability::Hide | Capability::RemoveFromDisk | - Capability::Analyze; + Capability::Analyze | + Capability::Properties; if (m_selectedCrate.isValid()) { Crate crate; diff --git a/src/widget/wtrackmenu.cpp b/src/widget/wtrackmenu.cpp index a60d7bfaa48..f9df992a90b 100644 --- a/src/widget/wtrackmenu.cpp +++ b/src/widget/wtrackmenu.cpp @@ -345,14 +345,16 @@ void WTrackMenu::createActions() { &WTrackMenu::slotRemoveFromDisk); } - if (featureIsEnabled(Feature::Properties)) { + if (featureIsEnabled(Feature::Metadata)) { m_pStarRatingAction = new WStarRatingAction(this); m_pStarRatingAction->setObjectName("RatingAction"); connect(m_pStarRatingAction, &WStarRatingAction::ratingSet, this, &WTrackMenu::slotSetRating); + } + if (featureIsEnabled(Feature::Properties)) { m_pPropertiesAct = new QAction(tr("Properties"), this); // This is just for having the shortcut displayed next to the action // when the menu is invoked from the tracks table. @@ -631,7 +633,7 @@ void WTrackMenu::setupActions() { addMenu(m_pBPMMenu); } - if (featureIsEnabled(Feature::Properties)) { + if (featureIsEnabled(Feature::Metadata)) { addAction(m_pStarRatingAction); } @@ -1101,12 +1103,14 @@ void WTrackMenu::updateMenus() { m_pSelectInLibraryAct->setEnabled(enabled); } - if (featureIsEnabled(Feature::Properties)) { + if (featureIsEnabled(Feature::Metadata)) { // Might be needed to resize Menu to fit the star rating // QResizeEvent resizeEvent(QSize(), m_pStarRatingAction->sizeHint()); // qApp->sendEvent(m_pStarRatingAction, &resizeEvent); m_pStarRatingAction->setRating(getCommonTrackRating()); + } + if (featureIsEnabled(Feature::Properties)) { m_pPropertiesAct->setEnabled(true); } @@ -2753,7 +2757,7 @@ bool WTrackMenu::featureIsEnabled(Feature flag) const { case Feature::FindOnWeb: return true; case Feature::Properties: - return m_pTrackModel->hasCapabilities(TrackModel::Capability::EditMetadata); + return m_pTrackModel->hasCapabilities(TrackModel::Capability::Properties); case Feature::SearchRelated: return m_pLibrary != nullptr; case Feature::SelectInLibrary: