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.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/qmmpui/detailsdialog.cpp b/src/qmmpui/detailsdialog.cpp
index e5b0e0fc5..6b5aa7032 100644
--- a/src/qmmpui/detailsdialog.cpp
+++ b/src/qmmpui/detailsdialog.cpp
@@ -23,10 +23,12 @@
#include <QFile>
#include <QFileInfo>
+#include <qmmp/metadatamanager.h>
#include <qmmp/decoder.h>
#include <qmmp/decoderfactory.h>
#include <qmmp/metadatamodel.h>
#include <qmmp/tagmodel.h>
+#include <qmmp/abstractengine.h>
#include "abstractplaylistitem.h"
#include "tageditor.h"
#include "detailsdialog.h"
@@ -46,9 +48,13 @@ DetailsDialog::DetailsDialog(AbstractPlaylistItem *item, QWidget *parent)
if(QFile::exists(item->url()))
{
+ //TODO implement this inside MetaDataManager
DecoderFactory *fact = Decoder::findByPath(item->url());
+ EngineFactory *fact2 = AbstractEngine::findByPath(item->url());
if(fact)
m_metaDataModel = fact->createMetaDataModel(item->url(), this);
+ else if (fact2)
+ m_metaDataModel = fact2->createMetaDataModel(item->url(), this);
else
return;
@@ -75,7 +81,7 @@ DetailsDialog::~DetailsDialog()
void DetailsDialog::printInfo()
{
- QList <FileInfo *> flist = Decoder::createPlayList(m_path, TRUE);
+ QList <FileInfo *> flist = MetaDataManager::instance()->createPlayList(m_path, TRUE);
QMap <Qmmp::MetaData, QString> metaData;
if(!flist.isEmpty() && QFile::exists(m_item->url()))
metaData = flist.at(0)->metaData();
@@ -105,11 +111,14 @@ void DetailsDialog::printInfo()
}
QHash <QString, QString> ap = m_metaDataModel->audioProperties();
//line
- formattedText.append("<tr>");
- formattedText.append("<td colspan=2>");
- formattedText.append("<hr>");
- formattedText.append("</td>");
- formattedText.append("</tr>");
+ if(formattedText.trimmed() != "<TABLE>")
+ {
+ formattedText.append("<tr>");
+ formattedText.append("<td colspan=2>");
+ formattedText.append("<hr>");
+ formattedText.append("</td>");
+ formattedText.append("</tr>");
+ }
foreach(QString key, ap.keys())
formattedText += formatRow(key, ap.value(key));