Disable pause on last.fm tracks

This commit is contained in:
David Sansome 2009-12-29 16:15:21 +00:00
parent 8957dad3bb
commit 62dda6430c
3 changed files with 20 additions and 0 deletions

View File

@ -207,6 +207,8 @@ void MainWindow::MediaStopped() {
ui_.action_stop_after_this_track->setEnabled(false);
ui_.action_play_pause->setIcon(QIcon(":media-playback-start.png"));
ui_.action_play_pause->setText("Play");
ui_.action_play_pause->setEnabled(true);
}
void MainWindow::MediaPaused() {
@ -214,6 +216,8 @@ void MainWindow::MediaPaused() {
ui_.action_stop_after_this_track->setEnabled(true);
ui_.action_play_pause->setIcon(QIcon(":media-playback-start.png"));
ui_.action_play_pause->setText("Play");
ui_.action_play_pause->setEnabled(true);
}
void MainWindow::MediaPlaying() {
@ -221,6 +225,9 @@ void MainWindow::MediaPlaying() {
ui_.action_stop_after_this_track->setEnabled(true);
ui_.action_play_pause->setIcon(QIcon(":media-playback-pause.png"));
ui_.action_play_pause->setText("Pause");
ui_.action_play_pause->setEnabled(
! playlist_->current_item_options() & PlaylistItem::PauseDisabled);
}
void MainWindow::resizeEvent(QResizeEvent*) {

View File

@ -435,3 +435,15 @@ bool Playlist::stop_after_current() const {
return stop_after_.isValid() && current_item_.isValid() &&
stop_after_.row() == current_item_.row();
}
PlaylistItem::Options Playlist::current_item_options() const {
int i = current_item();
if (i == -1)
return PlaylistItem::Default;
PlaylistItem* item = item_at(i);
if (!item)
return PlaylistItem::Default;
return item->options();
}

View File

@ -48,6 +48,7 @@ class Playlist : public QAbstractListModel {
int previous_item() const;
bool stop_after_current() const;
PlaylistItem* item_at(int index) const { return items_[index]; }
PlaylistItem::Options current_item_options() const;
// Changing the playlist
QModelIndex InsertItems(const QList<PlaylistItem*>& items, int after = -1);