diff options
Diffstat (limited to 'src/qmmpui/detailsdialog.cpp')
| -rw-r--r-- | src/qmmpui/detailsdialog.cpp | 28 |
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); |
