diff options
author | Uwe Klotz <uwe_klotz@web.de> | 2015-09-27 15:04:58 +0200 |
---|---|---|
committer | Uwe Klotz <uwe_klotz@web.de> | 2015-09-27 15:04:58 +0200 |
commit | b3f8effa3936116affc52676929ddbd66c3b63a5 (patch) | |
tree | bba050f8b330521167a4bfbd5ae99f874b32e7bd | |
parent | 015a4cc32487bdb5b4883b894820df1a7bbdbd17 (diff) |
Remove TrackPointer from cover art widgets
...no need to keep a reference of TrackInfoObject.
-rw-r--r-- | src/dlgtrackinfo.cpp | 6 | ||||
-rw-r--r-- | src/widget/wcoverart.cpp | 2 | ||||
-rw-r--r-- | src/widget/wcoverartlabel.cpp | 9 | ||||
-rw-r--r-- | src/widget/wcoverartlabel.h | 3 | ||||
-rw-r--r-- | src/widget/wcoverartmenu.cpp | 37 | ||||
-rw-r--r-- | src/widget/wcoverartmenu.h | 4 | ||||
-rw-r--r-- | src/widget/wtracktableview.cpp | 2 |
7 files changed, 28 insertions, 35 deletions
diff --git a/src/dlgtrackinfo.cpp b/src/dlgtrackinfo.cpp index ca8082a47c..9d7db9a317 100644 --- a/src/dlgtrackinfo.cpp +++ b/src/dlgtrackinfo.cpp @@ -172,7 +172,7 @@ void DlgTrackInfo::populateFields(TrackPointer pTrack) { m_loadedCoverInfo = pTrack->getCoverInfo(); int reference = pTrack->getId().toInt(); m_loadedCoverInfo.trackLocation = pTrack->getLocation(); - m_pWCoverArtLabel->setCoverArt(pTrack, m_loadedCoverInfo, QPixmap()); + m_pWCoverArtLabel->setCoverArt(m_loadedCoverInfo.trackLocation, m_loadedCoverInfo, QPixmap()); CoverArtCache* pCache = CoverArtCache::instance(); if (pCache != NULL) { pCache->requestCover(m_loadedCoverInfo, this, reference); @@ -206,7 +206,7 @@ void DlgTrackInfo::slotCoverFound(const QObject* pRequestor, m_pLoadedTrack->getId().toInt() == requestReference) { qDebug() << "DlgTrackInfo::slotPixmapFound" << pRequestor << info << pixmap.size(); - m_pWCoverArtLabel->setCoverArt(m_pLoadedTrack, m_loadedCoverInfo, pixmap); + m_pWCoverArtLabel->setCoverArt(m_pLoadedTrack->getLocation(), m_loadedCoverInfo, pixmap); } } @@ -440,7 +440,7 @@ void DlgTrackInfo::clear() { cueTable->setRowCount(0); m_loadedCoverInfo = CoverInfo(); - m_pWCoverArtLabel->setCoverArt(TrackPointer(), m_loadedCoverInfo, QPixmap()); + m_pWCoverArtLabel->setCoverArt(QString(), m_loadedCoverInfo, QPixmap()); } void DlgTrackInfo::slotBpmDouble() { diff --git a/src/widget/wcoverart.cpp b/src/widget/wcoverart.cpp index 88a2e33a23..a852a8dcde 100644 --- a/src/widget/wcoverart.cpp +++ b/src/widget/wcoverart.cpp @@ -214,7 +214,7 @@ void WCoverArt::mousePressEvent(QMouseEvent* event) { } if (event->button() == Qt::RightButton && m_loadedTrack) { // show context-menu - m_pMenu->setCoverArt(m_loadedTrack, m_lastRequestedCover); + m_pMenu->setCoverArt(m_loadedTrack->getLocation(), m_lastRequestedCover); m_pMenu->popup(event->globalPos()); } else if (event->button() == Qt::LeftButton) { // init/close fullsize cover if (m_pDlgFullSize->isVisible()) { diff --git a/src/widget/wcoverartlabel.cpp b/src/widget/wcoverartlabel.cpp index bdd15f9959..a344e1345a 100644 --- a/src/widget/wcoverartlabel.cpp +++ b/src/widget/wcoverartlabel.cpp @@ -33,12 +33,11 @@ WCoverArtLabel::~WCoverArtLabel() { delete m_pDlgFullSize; } -void WCoverArtLabel::setCoverArt(TrackPointer pTrack, const CoverInfo& info, QPixmap px) { - qDebug() << "WCoverArtLabel::setCoverArt" << info << px.size(); - m_pCoverMenu->setCoverArt(pTrack, info); +void WCoverArtLabel::setCoverArt(const QString& trackLocation, const CoverInfo& coverInfo, QPixmap px) { + qDebug() << "WCoverArtLabel::setCoverArt" << coverInfo << px.size(); - m_coverInfo = info; - m_pTrack = pTrack; + m_coverInfo = coverInfo; + m_pCoverMenu->setCoverArt(trackLocation, coverInfo); if (px.isNull()) { setPixmap(m_defaultCover); diff --git a/src/widget/wcoverartlabel.h b/src/widget/wcoverartlabel.h index 4b9452a973..c0dd10f462 100644 --- a/src/widget/wcoverartlabel.h +++ b/src/widget/wcoverartlabel.h @@ -15,7 +15,7 @@ class WCoverArtLabel : public QLabel { WCoverArtLabel(QWidget* parent = 0); virtual ~WCoverArtLabel(); - void setCoverArt(TrackPointer pTrack, const CoverInfo& info, QPixmap px); + void setCoverArt(const QString& trackLocation, const CoverInfo& coverInfo, QPixmap px); signals: void coverArtSelected(const CoverArt& art); @@ -29,7 +29,6 @@ class WCoverArtLabel : public QLabel { void slotCoverMenu(const QPoint& pos); private: - TrackPointer m_pTrack; CoverInfo m_coverInfo; WCoverArtMenu* m_pCoverMenu; DlgCoverArtFullSize* m_pDlgFullSize; diff --git a/src/widget/wcoverartmenu.cpp b/src/widget/wcoverartmenu.cpp index 13515c4b0a..c4243196bf 100644 --- a/src/widget/wcoverartmenu.cpp +++ b/src/widget/wcoverartmenu.cpp @@ -27,38 +27,33 @@ void WCoverArtMenu::createActions() { connect(m_pUnset, SIGNAL(triggered()), this, SLOT(slotUnset())); addAction(m_pUnset); - m_pReload = new QAction(tr("Reload from track/folder", - "reload cover art from track metadata or folder"), this); + m_pReload = new QAction(tr("Reload from file/folder", + "reload cover art from file metadata or folder"), this); connect(m_pReload, SIGNAL(triggered()), this, SIGNAL(reloadCoverArt())); addAction(m_pReload); } -void WCoverArtMenu::setCoverArt(TrackPointer pTrack, const CoverInfo& info) { - m_pTrack = pTrack; - m_coverInfo = info; +void WCoverArtMenu::setCoverArt(const QString& trackLocation, const CoverInfo& coverInfo) { + m_trackLocation = trackLocation; + m_coverInfo = coverInfo; } void WCoverArtMenu::slotChange() { - // get initial directory (trackdir or coverdir) - QString initialDir; - - QFileInfo track; - if (m_pTrack) { - track = m_pTrack->getFileInfo(); + QFileInfo fileInfo; + if (!m_trackLocation.isEmpty()) { + fileInfo = QFileInfo(m_trackLocation); } else if (!m_coverInfo.trackLocation.isEmpty()) { - track = QFileInfo(m_coverInfo.trackLocation); + fileInfo = QFileInfo(m_coverInfo.trackLocation); } - // If the cover is from file metadata then use the directory the track is - // in. - if (m_coverInfo.type == CoverInfo::METADATA) { - initialDir = track.absolutePath(); - } else if (m_coverInfo.type == CoverInfo::FILE) { - QFileInfo file(track.dir(), m_coverInfo.coverLocation); - initialDir = file.absolutePath(); + QString initialDir; + if (m_coverInfo.type == CoverInfo::FILE) { + QFileInfo coverFile(fileInfo.dir(), m_coverInfo.coverLocation); + initialDir = coverFile.absolutePath(); } else { - // Otherwise, default to the track directory. - initialDir = track.absolutePath(); + // Default to the track's directory if the cover is not + // stored in a separate file. + initialDir = fileInfo.absolutePath(); } QStringList extensions = CoverArtUtils::supportedCoverArtExtensions(); diff --git a/src/widget/wcoverartmenu.h b/src/widget/wcoverartmenu.h index 798466d6e3..5970c8c7c1 100644 --- a/src/widget/wcoverartmenu.h +++ b/src/widget/wcoverartmenu.h @@ -20,7 +20,7 @@ class WCoverArtMenu : public QMenu { WCoverArtMenu(QWidget *parent = 0); virtual ~WCoverArtMenu(); - void setCoverArt(TrackPointer pTrack, const CoverInfo& info); + void setCoverArt(const QString& trackLocation, const CoverInfo& coverInfo); signals: void coverArtSelected(const CoverArt& art); @@ -37,7 +37,7 @@ class WCoverArtMenu : public QMenu { QAction* m_pReload; QAction* m_pUnset; - TrackPointer m_pTrack; + QString m_trackLocation; CoverInfo m_coverInfo; }; diff --git a/src/widget/wtracktableview.cpp b/src/widget/wtracktableview.cpp index 1a12a42427..4b74a81642 100644 --- a/src/widget/wtracktableview.cpp +++ b/src/widget/wtracktableview.cpp @@ -893,7 +893,7 @@ void WTrackTableView::contextMenuEvent(QContextMenuEvent* event) { last.row(), m_iTrackLocationColumn).data().toString(); info.coverLocation = last.sibling( last.row(), m_iCoverLocationColumn).data().toString(); - m_pCoverMenu->setCoverArt(TrackPointer(), info); + m_pCoverMenu->setCoverArt(QString(), info); m_pMenu->addMenu(m_pCoverMenu); } |