-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayerstate.cpp | 39 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayerstate.h | 6 |
2 files changed, 29 insertions, 16 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 @@ -72,7 +72,7 @@ void MediaPlayerState::readConfig( Config& cfg ) { paused = FALSE; curPosition = 0; curLength = 0; - curView = 'l'; + m_displayType = MediaSelection; } @@ -85,17 +85,21 @@ void MediaPlayerState::writeConfig( Config& cfg ) const { 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 @@ -211,12 +215,21 @@ void MediaPlayerState::setLength( long 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(){ diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.h b/noncore/multimedia/opieplayer2/mediaplayerstate.h index ca531c5..b18780b 100644 --- a/noncore/multimedia/opieplayer2/mediaplayerstate.h +++ b/noncore/multimedia/opieplayer2/mediaplayerstate.h @@ -63,7 +63,7 @@ public: bool isStopped() const { return stopped; } long position() const { return curPosition; } long length() const { return curLength; } - char view() const { return curView; } + char view() const; DisplayType displayType() const; public slots: @@ -80,6 +80,7 @@ public slots: void updatePosition( long p ); void setLength( long l ); void setView( char v ); + void setDisplayType( MediaPlayerState::DisplayType displayType ); void setBlanked( bool b ); void setVideoGamma( int v ); @@ -110,7 +111,6 @@ signals: void positionChanged( long ); // When the slider is moved void positionUpdated( long ); // When the media file progresses void lengthChanged( long ); - void viewChanged( char ); void displayTypeChanged( MediaPlayerState::DisplayType type ); void isSeekableToggled( bool ); void blankToggled( bool ); @@ -132,7 +132,7 @@ private: bool stopped : 1; long curPosition; long curLength; - char curView; + DisplayType m_displayType; int videoGamma; void readConfig( Config& cfg ); |