summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-02 20:56:19 (UTC)
committer simon <simon>2002-12-02 20:56:19 (UTC)
commit649ea9e9586ce51847ebeb9c062290137c9248f4 (patch) (unidiff)
tree334d6fe0fe91e29ed3600d96443ab104939c1eef
parent0090a335a7162f4b0d34f78850ebf9a8bd544c01 (diff)
downloadopie-649ea9e9586ce51847ebeb9c062290137c9248f4.zip
opie-649ea9e9586ce51847ebeb9c062290137c9248f4.tar.gz
opie-649ea9e9586ce51847ebeb9c062290137c9248f4.tar.bz2
- centralized the button command handling into MediaWidget (as it is
duplicated between AudioWidget and VideoWidget -- the latter still to come though)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp30
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h24
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp19
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h10
4 files changed, 35 insertions, 48 deletions
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
@@ -21,66 +21,64 @@
21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.=       =       ; Library General Public License for more 22..}^=.=       =       ; Library General Public License for more
23++=   -.     .`     .: details. 23++=   -.     .`     .: details.
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#include <qpe/qpeapplication.h> 34#include <qpe/qpeapplication.h>
35#include <qpe/resource.h> 35#include <qpe/resource.h>
36#include <qpe/config.h> 36#include <qpe/config.h>
37#include <opie/oticker.h> 37#include <opie/oticker.h>
38 38
39#include <qwidget.h> 39#include <qwidget.h>
40#include <qpixmap.h> 40#include <qpixmap.h>
41#include <qbutton.h> 41#include <qbutton.h>
42#include <qpainter.h> 42#include <qpainter.h>
43#include <qframe.h> 43#include <qframe.h>
44#include <qlayout.h> 44#include <qlayout.h>
45#include <qdir.h> 45#include <qdir.h>
46#include <stdlib.h> 46#include <stdlib.h>
47#include <stdio.h> 47#include <stdio.h>
48 48
49#include "audiowidget.h" 49#include "audiowidget.h"
50#include "mediaplayerstate.h" 50#include "mediaplayerstate.h"
51#include "playlistwidget.h" 51#include "playlistwidget.h"
52 52
53extern PlayListWidget *playList;
54
55static const int xo = -2; // movable x offset 53static const int xo = -2; // movable x offset
56static const int yo = 22; // movable y offset 54static const int yo = 22; // movable y offset
57 55
58struct MediaButton { 56struct MediaButton {
59 bool isToggle, isHeld, isDown; 57 bool isToggle, isHeld, isDown;
60}; 58};
61 59
62//Layout information for the audioButtons (and if it is a toggle button or not) 60//Layout information for the audioButtons (and if it is a toggle button or not)
63MediaButton audioButtons[] = { 61MediaButton audioButtons[] = {
64 { TRUE, FALSE, FALSE }, // play 62 { TRUE, FALSE, FALSE }, // play
65 { FALSE, FALSE, FALSE }, // stop 63 { FALSE, FALSE, FALSE }, // stop
66 { FALSE, FALSE, FALSE }, // next 64 { FALSE, FALSE, FALSE }, // next
67 { FALSE, FALSE, FALSE }, // previous 65 { FALSE, FALSE, FALSE }, // previous
68 { FALSE, FALSE, FALSE }, // volume up 66 { FALSE, FALSE, FALSE }, // volume up
69 { FALSE, FALSE, FALSE }, // volume down 67 { FALSE, FALSE, FALSE }, // volume down
70 { TRUE, FALSE, FALSE }, // repeat/loop 68 { TRUE, FALSE, FALSE }, // repeat/loop
71 { FALSE, FALSE, FALSE }, // playlist 69 { FALSE, FALSE, FALSE }, // playlist
72 { FALSE, FALSE, FALSE }, // forward 70 { FALSE, FALSE, FALSE }, // forward
73 { FALSE, FALSE, FALSE } // back 71 { FALSE, FALSE, FALSE } // back
74}; 72};
75 73
76const char * const skin_mask_file_names[10] = { 74const char * const skin_mask_file_names[10] = {
77 "play", "stop", "next", "prev", "up", 75 "play", "stop", "next", "prev", "up",
78 "down", "loop", "playlist", "forward", "back" 76 "down", "loop", "playlist", "forward", "back"
79}; 77};
80 78
81 79
82static void changeTextColor( QWidget *w ) { 80static void changeTextColor( QWidget *w ) {
83 QPalette p = w->palette(); 81 QPalette p = w->palette();
84 p.setBrush( QColorGroup::Background, QColor( 167, 212, 167 ) ); 82 p.setBrush( QColorGroup::Background, QColor( 167, 212, 167 ) );
85 p.setBrush( QColorGroup::Base, QColor( 167, 212, 167 ) ); 83 p.setBrush( QColorGroup::Base, QColor( 167, 212, 167 ) );
86 w->setPalette( p ); 84 w->setPalette( p );
@@ -364,107 +362,89 @@ void AudioWidget::skipBack() {
364 362
365 363
366 364
367void AudioWidget::stopSkip() { 365void AudioWidget::stopSkip() {
368 killTimers(); 366 killTimers();
369} 367}
370 368
371 369
372void AudioWidget::timerEvent( QTimerEvent * ) { 370void AudioWidget::timerEvent( QTimerEvent * ) {
373 if ( skipDirection == +1 ) { 371 if ( skipDirection == +1 ) {
374 mediaPlayerState.setPosition( mediaPlayerState.position() + 2 ); 372 mediaPlayerState.setPosition( mediaPlayerState.position() + 2 );
375 } else if ( skipDirection == -1 ) { 373 } else if ( skipDirection == -1 ) {
376 mediaPlayerState.setPosition( mediaPlayerState.position() - 2 ); 374 mediaPlayerState.setPosition( mediaPlayerState.position() - 2 );
377 } 375 }
378} 376}
379 377
380 378
381void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { 379void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
382 for ( int i = 0; i < numButtons; i++ ) { 380 for ( int i = 0; i < numButtons; i++ ) {
383 if ( event->state() == QMouseEvent::LeftButton ) { 381 if ( event->state() == QMouseEvent::LeftButton ) {
384 // The test to see if the mouse click is inside the button or not 382 // The test to see if the mouse click is inside the button or not
385 int x = event->pos().x() - xoff; 383 int x = event->pos().x() - xoff;
386 int y = event->pos().y() - yoff; 384 int y = event->pos().y() - yoff;
387 385
388 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask.width() 386 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask.width()
389 && y < imgButtonMask.height() 387 && y < imgButtonMask.height()
390 && imgButtonMask.pixelIndex( x, y ) == i + 1 ); 388 && imgButtonMask.pixelIndex( x, y ) == i + 1 );
391 389
392 if ( isOnButton && !audioButtons[i].isHeld ) { 390 if ( isOnButton && !audioButtons[i].isHeld ) {
393 audioButtons[i].isHeld = TRUE; 391 audioButtons[i].isHeld = TRUE;
394 toggleButton(i); 392 toggleButton(i);
395 switch (i) { 393 switch (i) {
396 case AudioVolumeUp: 394 case VolumeUp:
397 emit moreClicked(); 395 emit moreClicked();
398 return; 396 return;
399 case AudioVolumeDown: 397 case VolumeDown:
400 emit lessClicked(); 398 emit lessClicked();
401 return; 399 return;
402 case AudioForward: 400 case Forward:
403 emit forwardClicked(); 401 emit forwardClicked();
404 return; 402 return;
405 case AudioBack: 403 case Back:
406 emit backClicked(); 404 emit backClicked();
407 return; 405 return;
408 } 406 }
409 } else if ( !isOnButton && audioButtons[i].isHeld ) { 407 } else if ( !isOnButton && audioButtons[i].isHeld ) {
410 audioButtons[i].isHeld = FALSE; 408 audioButtons[i].isHeld = FALSE;
411 toggleButton(i); 409 toggleButton(i);
412 } 410 }
413 } else { 411 } else {
414 if ( audioButtons[i].isHeld ) { 412 if ( audioButtons[i].isHeld ) {
415 audioButtons[i].isHeld = FALSE; 413 audioButtons[i].isHeld = FALSE;
416 if ( !audioButtons[i].isToggle ) { 414 if ( !audioButtons[i].isToggle ) {
417 setToggleButton( i, FALSE ); 415 setToggleButton( i, FALSE );
418 } 416 }
419 qDebug("mouseEvent %d", i); 417 qDebug("mouseEvent %d", i);
420 switch (i) { 418 handleCommand( static_cast<Command>( i ), audioButtons[ i ].isDown );
421 case AudioPlay:
422 if( mediaPlayerState.isPaused() ) {
423 mediaPlayerState.setPaused( FALSE );
424 return;
425 } else if( !mediaPlayerState.isPaused() ) {
426 mediaPlayerState.setPaused( TRUE );
427 return;
428 }
429 case AudioStop: mediaPlayerState.setPlaying(FALSE); return;
430 case AudioNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
431 case AudioPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
432 case AudioLoop: mediaPlayerState.setLooping(audioButtons[i].isDown); return;
433 case AudioVolumeUp: emit moreReleased(); return;
434 case AudioVolumeDown: emit lessReleased(); return;
435 case AudioPlayList: mediaPlayerState.setList(); return;
436 case AudioForward: emit forwardReleased(); return;
437 case AudioBack: emit backReleased(); return;
438 }
439 } 419 }
440 } 420 }
441 } 421 }
442} 422}
443 423
444 424
445void AudioWidget::mousePressEvent( QMouseEvent *event ) { 425void AudioWidget::mousePressEvent( QMouseEvent *event ) {
446 mouseMoveEvent( event ); 426 mouseMoveEvent( event );
447} 427}
448 428
449 429
450void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) { 430void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) {
451 mouseMoveEvent( event ); 431 mouseMoveEvent( event );
452} 432}
453 433
454 434
455void AudioWidget::showEvent( QShowEvent* ) { 435void AudioWidget::showEvent( QShowEvent* ) {
456 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 436 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
457 mouseMoveEvent( &event ); 437 mouseMoveEvent( &event );
458} 438}
459 439
460 440
461void AudioWidget::closeEvent( QCloseEvent* ) { 441void AudioWidget::closeEvent( QCloseEvent* ) {
462 mediaPlayerState.setList(); 442 mediaPlayerState.setList();
463} 443}
464 444
465 445
466void AudioWidget::paintEvent( QPaintEvent * pe ) { 446void AudioWidget::paintEvent( QPaintEvent * pe ) {
467 if ( !pe->erased() ) { 447 if ( !pe->erased() ) {
468 // Combine with background and double buffer 448 // Combine with background and double buffer
469 QPixmap pix( pe->rect().size() ); 449 QPixmap pix( pe->rect().size() );
470 QPainter p( &pix ); 450 QPainter p( &pix );
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
@@ -20,108 +20,88 @@
20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.=       =       ; Library General Public License for more 22..}^=.=       =       ; Library General Public License for more
23++=   -.     .`     .: details. 23++=   -.     .`     .: details.
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef AUDIO_WIDGET_H 34#ifndef AUDIO_WIDGET_H
35#define AUDIO_WIDGET_H 35#define AUDIO_WIDGET_H
36 36
37#include <qpainter.h> 37#include <qpainter.h>
38#include <qdrawutil.h> 38#include <qdrawutil.h>
39#include <qpixmap.h> 39#include <qpixmap.h>
40#include <qstring.h> 40#include <qstring.h>
41#include <qslider.h> 41#include <qslider.h>
42#include <qframe.h> 42#include <qframe.h>
43#include <qlineedit.h> 43#include <qlineedit.h>
44#include <qimage.h> 44#include <qimage.h>
45 45
46#include <opie/oticker.h> 46#include <opie/oticker.h>
47 47
48#include "mediawidget.h" 48#include "mediawidget.h"
49 49
50class QPixmap; 50class QPixmap;
51 51
52namespace {
53
54enum AudioButtons {
55 AudioPlay=0,
56 AudioStop,
57 AudioNext,
58 AudioPrevious,
59 AudioVolumeUp,
60 AudioVolumeDown,
61 AudioLoop,
62 AudioPlayList,
63 AudioForward,
64 AudioBack
65};
66};
67
68class AudioWidget : public MediaWidget { 52class AudioWidget : public MediaWidget {
69 Q_OBJECT 53 Q_OBJECT
70public: 54public:
71 AudioWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 55 AudioWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
72 ~AudioWidget(); 56 ~AudioWidget();
73 void setTickerText( const QString &text ) { songInfo.setText( text ); } 57 void setTickerText( const QString &text ) { songInfo.setText( text ); }
74public slots: 58public slots:
75 void updateSlider( long, long ); 59 void updateSlider( long, long );
76 void sliderPressed( ); 60 void sliderPressed( );
77 void sliderReleased( ); 61 void sliderReleased( );
78 void setLooping( bool b) { setToggleButton( AudioLoop, b ); } 62 void setLooping( bool b) { setToggleButton( Loop, b ); }
79 void setPosition( long ); 63 void setPosition( long );
80 void setSeekable( bool ); 64 void setSeekable( bool );
81 65
82public: 66public:
83 virtual void setLength( long ); 67 virtual void setLength( long );
84 virtual void setPlaying( bool b) { setToggleButton( AudioPlay, b ); } 68 virtual void setPlaying( bool b) { setToggleButton( Play, b ); }
85 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ); 69 virtual void setDisplayType( MediaPlayerState::DisplayType displayType );
86 70
87signals: 71signals:
88 void moreClicked(); 72 void moreClicked();
89 void lessClicked(); 73 void lessClicked();
90 void moreReleased();
91 void lessReleased();
92 void forwardClicked(); 74 void forwardClicked();
93 void backClicked(); 75 void backClicked();
94 void forwardReleased();
95 void backReleased();
96 void sliderMoved(long); 76 void sliderMoved(long);
97 77
98protected: 78protected:
99 void doBlank(); 79 void doBlank();
100 void doUnblank(); 80 void doUnblank();
101 void paintEvent( QPaintEvent *pe ); 81 void paintEvent( QPaintEvent *pe );
102 void showEvent( QShowEvent *se ); 82 void showEvent( QShowEvent *se );
103 void resizeEvent( QResizeEvent *re ); 83 void resizeEvent( QResizeEvent *re );
104 void mouseMoveEvent( QMouseEvent *event ); 84 void mouseMoveEvent( QMouseEvent *event );
105 void mousePressEvent( QMouseEvent *event ); 85 void mousePressEvent( QMouseEvent *event );
106 void mouseReleaseEvent( QMouseEvent *event ); 86 void mouseReleaseEvent( QMouseEvent *event );
107 void timerEvent( QTimerEvent *event ); 87 void timerEvent( QTimerEvent *event );
108 void closeEvent( QCloseEvent *event ); 88 void closeEvent( QCloseEvent *event );
109 void keyReleaseEvent( QKeyEvent *e); 89 void keyReleaseEvent( QKeyEvent *e);
110private slots: 90private slots:
111 void skipFor(); 91 void skipFor();
112 void skipBack(); 92 void skipBack();
113 void stopSkip(); 93 void stopSkip();
114private: 94private:
115 void toggleButton( int ); 95 void toggleButton( int );
116 void setToggleButton( int, bool ); 96 void setToggleButton( int, bool );
117 void paintButton( QPainter *p, int i ); 97 void paintButton( QPainter *p, int i );
118 int skipDirection; 98 int skipDirection;
119 QString skin; 99 QString skin;
120 QPixmap pixBg; 100 QPixmap pixBg;
121 QImage imgUp; 101 QImage imgUp;
122 QImage imgDn; 102 QImage imgDn;
123 QImage imgButtonMask; 103 QImage imgButtonMask;
124 QBitmap *masks[10]; 104 QBitmap *masks[10];
125 QPixmap *buttonPixUp[10]; 105 QPixmap *buttonPixUp[10];
126 QPixmap *buttonPixDown[10]; 106 QPixmap *buttonPixDown[10];
127 107
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
@@ -1,41 +1,58 @@
1/* 1/*
2 Copyright (C) 2002 Simon Hausmann <hausmann@kde.org> 2 Copyright (C) 2002 Simon Hausmann <hausmann@kde.org>
3 3
4 This library is free software; you can redistribute it and/or 4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public 5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either 6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version. 7 version 2 of the License, or (at your option) any later version.
8 8
9 This library is distributed in the hope that it will be useful, 9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details. 12 Library General Public License for more details.
13 13
14 You should have received a copy of the GNU Library General Public License 14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to 15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA. 17 Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20 20
21#include "mediawidget.h" 21#include "mediawidget.h"
22#include "playlistwidget.h"
22 23
23extern MediaPlayerState *mediaPlayerState; 24extern PlayListWidget *playList;
24 25
25MediaWidget::MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name ) 26MediaWidget::MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name )
26 : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState ) 27 : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState )
27{ 28{
28 connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ), 29 connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ),
29 this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) ); 30 this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) );
30 connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ), 31 connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ),
31 this, SLOT( setLength( long ) ) ); 32 this, SLOT( setLength( long ) ) );
32 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), 33 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
33 this, SLOT( setPlaying( bool ) ) ); 34 this, SLOT( setPlaying( bool ) ) );
34} 35}
35 36
36MediaWidget::~MediaWidget() 37MediaWidget::~MediaWidget()
37{ 38{
38} 39}
39 40
41void MediaWidget::handleCommand( Command command, bool buttonDown )
42{
43 switch ( command ) {
44 case Play: mediaPlayerState.togglePaused();
45 case Stop: mediaPlayerState.setPlaying(FALSE); return;
46 case Next: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
47 case Previous: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
48 case Loop: mediaPlayerState.setLooping( buttonDown ); return;
49 case VolumeUp: emit moreReleased(); return;
50 case VolumeDown: emit lessReleased(); return;
51 case PlayList: mediaPlayerState.setList(); return;
52 case Forward: emit forwardReleased(); return;
53 case Back: emit backReleased(); return;
54 }
55}
56
40/* vim: et sw=4 ts=4 57/* vim: et sw=4 ts=4
41 */ 58 */
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
@@ -1,45 +1,55 @@
1/* 1/*
2 Copyright (C) 2002 Simon Hausmann <hausmann@kde.org> 2 Copyright (C) 2002 Simon Hausmann <hausmann@kde.org>
3 3
4 This library is free software; you can redistribute it and/or 4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public 5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either 6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version. 7 version 2 of the License, or (at your option) any later version.
8 8
9 This library is distributed in the hope that it will be useful, 9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details. 12 Library General Public License for more details.
13 13
14 You should have received a copy of the GNU Library General Public License 14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to 15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA. 17 Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#ifndef MEDIAWIDGET_H 20#ifndef MEDIAWIDGET_H
21#define MEDIAWIDGET_H 21#define MEDIAWIDGET_H
22 22
23#include <qwidget.h> 23#include <qwidget.h>
24 24
25#include "mediaplayerstate.h" 25#include "mediaplayerstate.h"
26 26
27class MediaWidget : public QWidget 27class MediaWidget : public QWidget
28{ 28{
29 Q_OBJECT 29 Q_OBJECT
30public: 30public:
31 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back };
32
31 MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); 33 MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 );
32 virtual ~MediaWidget(); 34 virtual ~MediaWidget();
33 35
34public slots: 36public slots:
35 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0; 37 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0;
36 virtual void setLength( long length ) = 0; 38 virtual void setLength( long length ) = 0;
37 virtual void setPlaying( bool playing ) = 0; 39 virtual void setPlaying( bool playing ) = 0;
38 40
41signals:
42 void moreReleased();
43 void lessReleased();
44 void forwardReleased();
45 void backReleased();
46
39protected: 47protected:
48 void handleCommand( Command command, bool buttonDown );
49
40 MediaPlayerState &mediaPlayerState; 50 MediaPlayerState &mediaPlayerState;
41}; 51};
42 52
43#endif // MEDIAWIDGET_H 53#endif // MEDIAWIDGET_H
44/* vim: et sw=4 ts=4 54/* vim: et sw=4 ts=4
45 */ 55 */