summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.cpp39
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.h6
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 );