aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/detailsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/detailsdialog.cpp')
-rw-r--r--src/qmmpui/detailsdialog.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/qmmpui/detailsdialog.cpp b/src/qmmpui/detailsdialog.cpp
index c9cacd6a9..6d34d1cb8 100644
--- a/src/qmmpui/detailsdialog.cpp
+++ b/src/qmmpui/detailsdialog.cpp
@@ -170,17 +170,8 @@ void DetailsDialog::updatePage()
qDeleteAll(infoList);
infoList.clear();
- //QPixmap cover = MetaDataManager::instance()->getCover(m_info.path());
- /*if(!cover.isNull())
- {
- CoverViewer *coverViewer = new CoverViewer(this);
- coverViewer->setPixmap(cover);
- m_ui->tabWidget->addTab(coverViewer, tr("Cover"));
- }*/
-
- CoverEditor *coverEditor = new CoverEditor(this);
- m_ui->tabWidget->addTab(coverEditor, tr("Cover"));
-
+ QString coverPath;
+ QPixmap coverPixmap;
if(m_info.path().contains("://")) //URL
{
@@ -188,12 +179,27 @@ void DetailsDialog::updatePage()
}
else if(QFile::exists(m_info.path())) //local file
{
+ coverPath = MetaDataManager::instance()->findCoverFile(m_info.path());
bool writable = QFileInfo(m_info.path()).isWritable();
m_metaDataModel = MetaDataManager::instance()->createMetaDataModel(m_info.path(), !writable);
}
if(m_metaDataModel)
{
+ coverPath = coverPath.isEmpty() ? m_metaDataModel->coverPath() : coverPath;
+ coverPixmap = m_metaDataModel->cover();
+ }
+
+ if((m_metaDataModel && (m_metaDataModel->dialogHints() & MetaDataModel::IS_COVER_EDITABLE)) ||
+ !coverPath.isEmpty() ||
+ !coverPixmap.isNull())
+ {
+ CoverEditor *coverEditor = new CoverEditor(m_metaDataModel, coverPath, this);
+ m_ui->tabWidget->addTab(coverEditor, tr("Cover"));
+ }
+
+ if(m_metaDataModel)
+ {
foreach(TagModel *tagModel, m_metaDataModel->tags())
{
TagEditor *editor = new TagEditor(tagModel, this);