Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayerstate.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayerstate.cpp | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp index 6806adc..901b43f 100644 --- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp @@ -67,40 +67,44 @@ void MediaPlayerState::readConfig( Config& cfg ) { looping = cfg.readBoolEntry( "Looping" ); shuffled = cfg.readBoolEntry( "Shuffle" ); videoGamma = cfg.readNumEntry( "VideoGamma" ); playing = FALSE; streaming = FALSE; paused = FALSE; curPosition = 0; curLength = 0; - curView = 'l'; + m_displayType = MediaSelection; } void MediaPlayerState::writeConfig( Config& cfg ) const { cfg.setGroup( "Options" ); cfg.writeEntry( "FullScreen", fullscreen ); cfg.writeEntry( "Scaling", scaled ); cfg.writeEntry( "Looping", looping ); cfg.writeEntry( "Shuffle", shuffled ); cfg.writeEntry( "VideoGamma", videoGamma ); } -MediaPlayerState::DisplayType MediaPlayerState::displayType() const +char MediaPlayerState::view() const { - char v = view(); - switch ( v ) { - case 'a': return MediaPlayerState::Audio; - case 'v': return MediaPlayerState::Video; - case 'l': return MediaPlayerState::MediaSelection; + switch ( m_displayType ) { + case Audio: return 'a'; + case Video: return 'v'; + case MediaSelection: return 'l'; default: assert( false ); } // never reached - return MediaPlayerState::MediaSelection; + return 42; +} + +MediaPlayerState::DisplayType MediaPlayerState::displayType() const +{ + return m_displayType; } // slots void MediaPlayerState::setIsStreaming( bool b ) { streaming = b; } void MediaPlayerState::setIsSeekable( bool b ) { @@ -206,22 +210,31 @@ void MediaPlayerState::setLength( long l ) { if ( curLength == l ) { return; } curLength = l; emit lengthChanged(l); } void MediaPlayerState::setView( char v ) { - if ( curView == v ) { - return; + switch ( v ) { + case 'a': setDisplayType( Audio ); return; + case 'v': setDisplayType( Video ); return; + case 'l': setDisplayType( MediaSelection ); return; + default: assert( false ); } - curView = v; - emit viewChanged(v); - emit displayTypeChanged( displayType() ); +} + +void MediaPlayerState::setDisplayType( DisplayType displayType ) +{ + if ( m_displayType == displayType ) + return; + + m_displayType = displayType; + emit displayTypeChanged( m_displayType ); } void MediaPlayerState::setPrev(){ emit prev(); } void MediaPlayerState::setNext() { emit next(); |