diff options
author | Arno <arno@disconnect.de> | 2017-08-27 05:18:10 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-08-27 05:18:10 +0200 |
commit | 49b0c2087a2be79f6f3cbdf68ea7030a965d1c7f (patch) | |
tree | 8f52bdd805303c58c66374befe13ae215b35a7ab | |
parent | eeacdeb92f4b125fc77a44318c162b5f49f1478c (diff) | |
download | BeetPlayer-49b0c2087a2be79f6f3cbdf68ea7030a965d1c7f.tar.gz BeetPlayer-49b0c2087a2be79f6f3cbdf68ea7030a965d1c7f.tar.bz2 BeetPlayer-49b0c2087a2be79f6f3cbdf68ea7030a965d1c7f.zip |
Elide title in current song
Elide the string instead of resizing the layout.
-rw-r--r-- | playerwidget.cpp | 12 | ||||
-rw-r--r-- | playerwidget.h | 1 |
2 files changed, 11 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); diff --git a/playerwidget.h b/playerwidget.h index 2c95344..52f2785 100644 --- a/playerwidget.h +++ b/playerwidget.h @@ -116,6 +116,7 @@ class PlayerWidget : public QWidget { void expandRecursive(const QModelIndex &idx); void adjustVolume(int by); void fillWithText(QTextEdit *te, const TagLib::FileRef &fr); + void setNowPlaying(const QString &what); QLineEdit *mSearch; QLineEdit *mDir; QMediaPlayer *mPlayer; |