From 649ea9e9586ce51847ebeb9c062290137c9248f4 Mon Sep 17 00:00:00 2001 From: simon Date: Mon, 02 Dec 2002 20:56:19 +0000 Subject: - centralized the button command handling into MediaWidget (as it is duplicated between AudioWidget and VideoWidget -- the latter still to come though) --- (limited to 'noncore') diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp index d9beb90..3070bc3 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.cpp +++ b/noncore/multimedia/opieplayer2/audiowidget.cpp @@ -50,8 +50,6 @@ #include "mediaplayerstate.h" #include "playlistwidget.h" -extern PlayListWidget *playList; - static const int xo = -2; // movable x offset static const int yo = 22; // movable y offset @@ -393,16 +391,16 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { audioButtons[i].isHeld = TRUE; toggleButton(i); switch (i) { - case AudioVolumeUp: + case VolumeUp: emit moreClicked(); return; - case AudioVolumeDown: + case VolumeDown: emit lessClicked(); return; - case AudioForward: + case Forward: emit forwardClicked(); return; - case AudioBack: + case Back: emit backClicked(); return; } @@ -417,25 +415,7 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { setToggleButton( i, FALSE ); } qDebug("mouseEvent %d", i); - switch (i) { - case AudioPlay: - if( mediaPlayerState.isPaused() ) { - mediaPlayerState.setPaused( FALSE ); - return; - } else if( !mediaPlayerState.isPaused() ) { - mediaPlayerState.setPaused( TRUE ); - return; - } - case AudioStop: mediaPlayerState.setPlaying(FALSE); return; - case AudioNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; - case AudioPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; - case AudioLoop: mediaPlayerState.setLooping(audioButtons[i].isDown); return; - case AudioVolumeUp: emit moreReleased(); return; - case AudioVolumeDown: emit lessReleased(); return; - case AudioPlayList: mediaPlayerState.setList(); return; - case AudioForward: emit forwardReleased(); return; - case AudioBack: emit backReleased(); return; - } + handleCommand( static_cast( i ), audioButtons[ i ].isDown ); } } } diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h index 087d711..1778a30 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.h +++ b/noncore/multimedia/opieplayer2/audiowidget.h @@ -49,22 +49,6 @@ class QPixmap; -namespace { - -enum AudioButtons { - AudioPlay=0, - AudioStop, - AudioNext, - AudioPrevious, - AudioVolumeUp, - AudioVolumeDown, - AudioLoop, - AudioPlayList, - AudioForward, - AudioBack -}; -}; - class AudioWidget : public MediaWidget { Q_OBJECT public: @@ -75,24 +59,20 @@ public slots: void updateSlider( long, long ); void sliderPressed( ); void sliderReleased( ); - void setLooping( bool b) { setToggleButton( AudioLoop, b ); } + void setLooping( bool b) { setToggleButton( Loop, b ); } void setPosition( long ); void setSeekable( bool ); public: virtual void setLength( long ); - virtual void setPlaying( bool b) { setToggleButton( AudioPlay, b ); } + virtual void setPlaying( bool b) { setToggleButton( Play, b ); } virtual void setDisplayType( MediaPlayerState::DisplayType displayType ); signals: void moreClicked(); void lessClicked(); - void moreReleased(); - void lessReleased(); void forwardClicked(); void backClicked(); - void forwardReleased(); - void backReleased(); void sliderMoved(long); protected: diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp index d58e87e..01a7295 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.cpp +++ b/noncore/multimedia/opieplayer2/mediawidget.cpp @@ -19,8 +19,9 @@ #include "mediawidget.h" +#include "playlistwidget.h" -extern MediaPlayerState *mediaPlayerState; +extern PlayListWidget *playList; MediaWidget::MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name ) : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState ) @@ -37,5 +38,21 @@ MediaWidget::~MediaWidget() { } +void MediaWidget::handleCommand( Command command, bool buttonDown ) +{ + switch ( command ) { + case Play: mediaPlayerState.togglePaused(); + case Stop: mediaPlayerState.setPlaying(FALSE); return; + case Next: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; + case Previous: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; + case Loop: mediaPlayerState.setLooping( buttonDown ); return; + case VolumeUp: emit moreReleased(); return; + case VolumeDown: emit lessReleased(); return; + case PlayList: mediaPlayerState.setList(); return; + case Forward: emit forwardReleased(); return; + case Back: emit backReleased(); return; + } +} + /* vim: et sw=4 ts=4 */ diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h index 64adba9..550f0fc 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.h +++ b/noncore/multimedia/opieplayer2/mediawidget.h @@ -28,6 +28,8 @@ class MediaWidget : public QWidget { Q_OBJECT public: + enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back }; + MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); virtual ~MediaWidget(); @@ -36,7 +38,15 @@ public slots: virtual void setLength( long length ) = 0; virtual void setPlaying( bool playing ) = 0; +signals: + void moreReleased(); + void lessReleased(); + void forwardReleased(); + void backReleased(); + protected: + void handleCommand( Command command, bool buttonDown ); + MediaPlayerState &mediaPlayerState; }; -- cgit v0.9.0.2