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.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/qmmpui/detailsdialog.cpp b/src/qmmpui/detailsdialog.cpp
index 11d4a49a6..e8f8d8d90 100644
--- a/src/qmmpui/detailsdialog.cpp
+++ b/src/qmmpui/detailsdialog.cpp
@@ -37,24 +37,27 @@ DetailsDialog::DetailsDialog(AbstractPlaylistItem *item, QWidget *parent)
setAttribute(Qt::WA_QuitOnClose, FALSE);
setAttribute(Qt::WA_DeleteOnClose, FALSE);
m_metaDataModel = 0;
+ m_item = item;
ui.setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
m_path = item->url();
setWindowTitle (m_path.section('/',-1));
ui.pathEdit->setText(m_path);
- DecoderFactory *fact = Decoder::findByPath(item->url());
- if(fact)
- m_metaDataModel = fact->createMetaDataModel(item->url(), this);
- else
- return;
-
- printInfo();
-
- foreach(TagModel *tagModel, m_metaDataModel->tags())
+ if(QFile::exists(item->url()))
{
- ui.tabWidget->addTab(new TagEditor(tagModel, this), tagModel->name());
+ DecoderFactory *fact = Decoder::findByPath(item->url());
+ if(fact)
+ m_metaDataModel = fact->createMetaDataModel(item->url(), this);
+ else
+ return;
+
+ foreach(TagModel *tagModel, m_metaDataModel->tags())
+ {
+ ui.tabWidget->addTab(new TagEditor(tagModel, this), tagModel->name());
+ }
}
+ printInfo();
}
DetailsDialog::~DetailsDialog()
@@ -64,10 +67,10 @@ void DetailsDialog::printInfo()
{
QList <FileInfo *> flist = Decoder::createPlayList(m_path, TRUE);
QMap <Qmmp::MetaData, QString> metaData;
- if(!flist.isEmpty())
+ if(!flist.isEmpty() && QFile::exists(m_item->url()))
metaData = flist.at(0)->metaData();
- /*else
- TODO use metadata from playlist item*/
+ else
+ metaData = m_item->metaData();
QString formattedText;
formattedText.append("<TABLE>");
//tags