diff options
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r-- | playerwidget.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp index d1a0fc2..2411f01 100644 --- a/playerwidget.cpp +++ b/playerwidget.cpp @@ -995,6 +995,14 @@ void PlayerWidget::fillWithText(QTextEdit *te, const TagLib::FileRef &fr){ te->append(QString("%1 %2 kb/s").arg(tr("Bitrate:"), -20).arg(fr.audioProperties()->bitrate(), 4, 10, QChar('0'))); } +void PlayerWidget::setNowPlaying(const QString &what){ + QFont f = mNowPlayingL->font(); + int width = mNowPlayingL->width(); + QFontMetrics fm(f); + QString newText = fm.elidedText(what, Qt::ElideRight, width); + mNowPlayingL->setText(newText); +} + void PlayerWidget::recurse(const QModelIndex &parent){ for(int i = 0; i < mCurrentModel->rowCount(parent); ++i){ QModelIndex cur = mCurrentModel->index(i, 0, parent); @@ -1400,7 +1408,7 @@ void PlayerWidget::doMetadataChange(const QString &key, const QVariant &value){ 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); + setNowPlaying(np); mCurWinTitle = QString(tr("%1 - [%2] - [%3]")).arg(qApp->applicationName()).arg(artist).arg(title); mCurToolTip = QString(tr("%1: [%2]")).arg(artist).arg(title); mTrayIcon->setToolTip(mCurToolTip); @@ -1439,7 +1447,7 @@ void PlayerWidget::play(const QString &fullPath){ QString artist = QString::fromStdWString(file.tag()->artist().toWString()); QString album = QString::fromStdWString(file.tag()->album().toWString()); QString title = QString::fromStdWString(file.tag()->title().toWString()); - mNowPlayingL->setText(title); + setNowPlaying(title); int length = file.audioProperties()->lengthInSeconds(); mDurSecs = length; mSongSlider->setMinimum(0); |