summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUwe Klotz <uwe_klotz@web.de>2015-09-27 15:04:58 +0200
committerUwe Klotz <uwe_klotz@web.de>2015-09-27 15:04:58 +0200
commitb3f8effa3936116affc52676929ddbd66c3b63a5 (patch)
treebba050f8b330521167a4bfbd5ae99f874b32e7bd /src
parent015a4cc32487bdb5b4883b894820df1a7bbdbd17 (diff)
Remove TrackPointer from cover art widgets
...no need to keep a reference of TrackInfoObject.
Diffstat (limited to 'src')
-rw-r--r--src/dlgtrackinfo.cpp6
-rw-r--r--src/widget/wcoverart.cpp2
-rw-r--r--src/widget/wcoverartlabel.cpp9
-rw-r--r--src/widget/wcoverartlabel.h3
-rw-r--r--src/widget/wcoverartmenu.cpp37
-rw-r--r--src/widget/wcoverartmenu.h4
-rw-r--r--src/widget/wtracktableview.cpp2
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);
}