void StopMenu::slotAboutToShow() { Playlist *pl = Playlist::instance(); setItemEnabled( NOW, Amarok::actionCollection()->action( "stop" )->isEnabled() ); setItemEnabled( AFTER_TRACK, EngineController::engine()->loaded() ); setItemChecked( AFTER_TRACK, pl->stopAfterMode() == Playlist::StopAfterCurrent ); setItemEnabled( AFTER_QUEUE, pl->nextTracks().count() ); setItemChecked( AFTER_QUEUE, pl->stopAfterMode() == Playlist::StopAfterQueue ); }
void StopMenu::slotAboutToShow() { Playlist *pl = Playlist::instance(); setItemEnabled( NOW, amaroK::actionCollection()->action( "stop" )->isEnabled() ); setItemEnabled( AFTER_TRACK, pl->currentTrackIndex() >= 0 ); setItemChecked( AFTER_TRACK, pl->stopAfterMode() == Playlist::StopAfterCurrent ); setItemEnabled( AFTER_QUEUE, pl->nextTracks().count() ); setItemChecked( AFTER_QUEUE, pl->stopAfterMode() == Playlist::StopAfterQueue ); }
void StopMenu::slotActivated( int index ) { Playlist* pl = Playlist::instance(); const int mode = pl->stopAfterMode(); switch( index ) { case NOW: Amarok::actionCollection()->action( "stop" )->activate(); if( mode == Playlist::StopAfterCurrent || mode == Playlist::StopAfterQueue ) pl->setStopAfterMode( Playlist::DoNotStop ); break; case AFTER_TRACK: pl->setStopAfterMode( mode == Playlist::StopAfterCurrent ? Playlist::DoNotStop : Playlist::StopAfterCurrent ); break; case AFTER_QUEUE: pl->setStopAfterMode( mode == Playlist::StopAfterQueue ? Playlist::DoNotStop : Playlist::StopAfterQueue ); break; } }