diff options
author | Arno <arno@disconnect.de> | 2017-08-27 04:15:28 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-08-27 04:15:28 +0200 |
commit | ec326f96ce40efb8cac4195b088803253c2eb588 (patch) | |
tree | d3649bbf66821d913ad2803b895396cecf280214 /playerwidget.cpp | |
parent | c687253b9526ee9dda6b26a0fe47655b3778ffa3 (diff) | |
download | BeetPlayer-ec326f96ce40efb8cac4195b088803253c2eb588.tar.gz BeetPlayer-ec326f96ce40efb8cac4195b088803253c2eb588.tar.bz2 BeetPlayer-ec326f96ce40efb8cac4195b088803253c2eb588.zip |
Prettify metdata output
Turn stream info into a HTML table and add Metadata to playlist.
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r-- | playerwidget.cpp | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp index 2c24576..89fc8d1 100644 --- a/playerwidget.cpp +++ b/playerwidget.cpp @@ -25,6 +25,7 @@ #include <QStackedLayout> #include <QApplication> #include <QDateTime> +#include <QRegularExpression> #include <algorithm> #include <taglib/tag.h> @@ -1379,16 +1380,27 @@ void PlayerWidget::addWebRadio(){ void PlayerWidget::doMetadataChange(const QString &key, const QVariant &value){ if(key == "Title"){ QString np = value.toString(); + QRegularExpression re("\\s?-\\s?"); + QStringList titleParts = np.split(re); + QString artist(tr("n/a")), title(tr("n/a")); + if(titleParts.count() >= 2){ + artist = titleParts.at(0); + title = titleParts.at(1); + } QStandardItem *plRoot = mPlayListModel->invisibleRootItem(); QStandardItem *nowP = new QStandardItem; nowP->setFont(QFont("courier")); nowP->setEditable(false); nowP->setIcon(QIcon(":/dog_hood.png")); nowP->setData(1, RemoteRole); + nowP->setData(artist, ArtistRole); + nowP->setData(title, TitleRole); nowP->setText(np); plRoot->appendRow(nowP); - QString npString = QString("Title: %1").arg(np); - mCurrentTE->setText(npString); + mCurrentTE->clear(); + mCurrentTE->append(QString("%1 %2").arg(tr("Artist:"), -20).arg(artist)); + mCurrentTE->append(QString("%1 %2").arg(tr("Title:"), -20).arg(title)); + mNowPlayingL->setText(np); }else{ if(mOtherMeta[key] != value){ mOtherMeta[key] = value; @@ -1398,13 +1410,14 @@ void PlayerWidget::doMetadataChange(const QString &key, const QVariant &value){ } void PlayerWidget::updateStreamData(){ - QStringList sd; - sd.append(QString("%1: %2").arg("Genre", -16).arg(mOtherMeta.value("Genre").toString())); - sd.append(QString("%1: %2").arg("Publisher", -16).arg(mOtherMeta.value("Publisher").toString())); - sd.append(QString("%1: %2").arg("Location", -16).arg(mOtherMeta.value("location").toString())); - sd.append(QString("%1: %2").arg("Audio Codec", -16).arg(mOtherMeta.value("AudioCodec").toString())); - QString s = sd.join("\n"); - mLeftTE->setText(s); + QString retval; + retval.append("<table>"); + retval.append(QString(tr("<tr><td>Genre</td><td style=\"padding-left: 30px\">%1</td></tr>")).arg(mOtherMeta.value("Genre").toString())); + retval.append(QString(tr("<tr><td>Publisher</td><td style=\"padding-left: 30px\">%1</td></tr>")).arg(mOtherMeta.value("Publisher").toString())); + retval.append(QString(tr("<tr><td>Location</td><td style=\"padding-left: 30px\">%1</td></tr>")).arg(mOtherMeta.value("location").toString())); + retval.append(QString(tr("<tr><td>Audio Codec</td><td style=\"padding-left: 30px\">%1</td></tr>")).arg(mOtherMeta.value("AudioCodec").toString())); + retval.append("</table>"); + mLeftTE->setText(retval); } void PlayerWidget::play(const QString &fullPath){ |