Update 'Now Playing' window to show song and artist in title bar
This commit is contained in:
@@ -26,7 +26,7 @@ NowPlaying::NowPlaying(const AlbumData& item, QWidget* parent)
|
||||
timeIndicator_ = new TimePlayedWidget(this);
|
||||
layout->addWidget(timeIndicator_);
|
||||
|
||||
// Volume slider (NEW)
|
||||
// Volume slider
|
||||
volumeSlider_ = new QSlider(Qt::Horizontal);
|
||||
volumeSlider_->setRange(0, 100);
|
||||
volumeSlider_->setValue(80);
|
||||
@@ -42,7 +42,7 @@ NowPlaying::NowPlaying(const AlbumData& item, QWidget* parent)
|
||||
audio_ = new QAudioOutput(this);
|
||||
player_->setAudioOutput(audio_);
|
||||
|
||||
audio_->setVolume(0.8f); // match slider
|
||||
audio_->setVolume(0.8f);
|
||||
connect(volumeSlider_, &QSlider::valueChanged, this,
|
||||
[this](int v){ audio_->setVolume(v / 100.0); });
|
||||
|
||||
@@ -55,14 +55,14 @@ NowPlaying::NowPlaying(const AlbumData& item, QWidget* parent)
|
||||
spinningArt_->stop();
|
||||
});
|
||||
|
||||
// Get song duration and played time
|
||||
// Song duration + position
|
||||
connect(player_, &QMediaPlayer::durationChanged,
|
||||
timeIndicator_, &TimePlayedWidget::setDuration);
|
||||
|
||||
connect(player_, &QMediaPlayer::positionChanged,
|
||||
timeIndicator_, &TimePlayedWidget::setPosition);
|
||||
|
||||
// Pause/Play on album art click
|
||||
// Pause/Play toggle on art click
|
||||
connect(spinningArt_, &SpinningAlbumArt::artClicked, this, [this]() {
|
||||
if (player_->playbackState() == QMediaPlayer::PlayingState) {
|
||||
player_->pause();
|
||||
@@ -73,14 +73,14 @@ NowPlaying::NowPlaying(const AlbumData& item, QWidget* parent)
|
||||
}
|
||||
});
|
||||
|
||||
// When a track finishes, auto-play next
|
||||
// Auto-next on finish
|
||||
connect(player_, &QMediaPlayer::mediaStatusChanged, this,
|
||||
[this](QMediaPlayer::MediaStatus st){
|
||||
if (st == QMediaPlayer::EndOfMedia)
|
||||
handleTrackFinished();
|
||||
});
|
||||
|
||||
// When a track is clicked
|
||||
// Track selected in list
|
||||
connect(trackList_, &TrackListWidget::trackSelected, this,
|
||||
[this](int i){
|
||||
index_ = i;
|
||||
@@ -102,6 +102,10 @@ void NowPlaying::playTrack(int idx)
|
||||
QString fileName = QFileInfo(filePath).fileName();
|
||||
QString title = cleanTrackTitle(fileName);
|
||||
|
||||
// NEW — Window title updates dynamically
|
||||
setWindowTitle(QStringLiteral("%1 - %2")
|
||||
.arg(item_.artist, title));
|
||||
|
||||
trackLabel_->setText(QString(title));
|
||||
|
||||
player_->setSource(QUrl::fromLocalFile(filePath));
|
||||
|
||||
Reference in New Issue
Block a user