summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-02 23:31:57 (UTC)
committer simon <simon>2002-12-02 23:31:57 (UTC)
commit22e232bdb4bae5e28013a4d14bfda3c068827557 (patch) (unidiff)
treebcefd6ed54318bb075cd71455b82236606634cd4
parent24a00c944aace8d7627c1eb0d7cc0ebf40731c57 (diff)
downloadopie-22e232bdb4bae5e28013a4d14bfda3c068827557.zip
opie-22e232bdb4bae5e28013a4d14bfda3c068827557.tar.gz
opie-22e232bdb4bae5e28013a4d14bfda3c068827557.tar.bz2
- yay, last singleton gone. global playList variable is no more :)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h2
-rw-r--r--noncore/multimedia/opieplayer2/main.cpp5
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp32
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h5
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp10
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h4
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp12
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h2
9 files changed, 36 insertions, 40 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index f6e6086..b573c45 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -78,27 +78,27 @@ const char * const skin_mask_file_names[10] = {
78 78
79 79
80static void changeTextColor( QWidget *w ) { 80static void changeTextColor( QWidget *w ) {
81 QPalette p = w->palette(); 81 QPalette p = w->palette();
82 p.setBrush( QColorGroup::Background, QColor( 167, 212, 167 ) ); 82 p.setBrush( QColorGroup::Background, QColor( 167, 212, 167 ) );
83 p.setBrush( QColorGroup::Base, QColor( 167, 212, 167 ) ); 83 p.setBrush( QColorGroup::Base, QColor( 167, 212, 167 ) );
84 w->setPalette( p ); 84 w->setPalette( p );
85} 85}
86 86
87static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton)); 87static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton));
88 88
89 89
90AudioWidget::AudioWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name) : 90AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name) :
91 91
92 MediaWidget( mediaPlayerState, parent, name ), songInfo( this ), slider( Qt::Horizontal, this ), time( this ) { 92 MediaWidget( playList, mediaPlayerState, parent, name ), songInfo( this ), slider( Qt::Horizontal, this ), time( this ) {
93 93
94 setCaption( tr("OpiePlayer") ); 94 setCaption( tr("OpiePlayer") );
95 95
96 Config cfg("OpiePlayer"); 96 Config cfg("OpiePlayer");
97 cfg.setGroup("Options"); 97 cfg.setGroup("Options");
98 skin = cfg.readEntry("Skin","default"); 98 skin = cfg.readEntry("Skin","default");
99 //skin = "scaleTest"; 99 //skin = "scaleTest";
100 // color of background, frame, degree of transparency 100 // color of background, frame, degree of transparency
101 101
102 QString skinPath = "opieplayer2/skins/" + skin; 102 QString skinPath = "opieplayer2/skins/" + skin;
103 pixBg = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) ); 103 pixBg = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
104 imgUp = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) ); 104 imgUp = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) );
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index f092699..52a358c 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -43,25 +43,25 @@
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
52class AudioWidget : public MediaWidget { 52class AudioWidget : public MediaWidget {
53 Q_OBJECT 53 Q_OBJECT
54public: 54public:
55 AudioWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 55 AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
56 ~AudioWidget(); 56 ~AudioWidget();
57 void setTickerText( const QString &text ) { songInfo.setText( text ); } 57 void setTickerText( const QString &text ) { songInfo.setText( text ); }
58public slots: 58public slots:
59 void updateSlider( long, long ); 59 void updateSlider( long, long );
60 void sliderPressed( ); 60 void sliderPressed( );
61 void sliderReleased( ); 61 void sliderReleased( );
62 void setLooping( bool b) { setToggleButton( Loop, b ); } 62 void setLooping( bool b) { setToggleButton( Loop, b ); }
63 void setPosition( long ); 63 void setPosition( long );
64 void setSeekable( bool ); 64 void setSeekable( bool );
65 65
66public: 66public:
67 virtual void setLength( long ); 67 virtual void setLength( long );
diff --git a/noncore/multimedia/opieplayer2/main.cpp b/noncore/multimedia/opieplayer2/main.cpp
index 7fc7b94..ffc7cb6 100644
--- a/noncore/multimedia/opieplayer2/main.cpp
+++ b/noncore/multimedia/opieplayer2/main.cpp
@@ -1,25 +1,22 @@
1 1
2#include <qpe/qpeapplication.h> 2#include <qpe/qpeapplication.h>
3#include "mediaplayerstate.h" 3#include "mediaplayerstate.h"
4#include "playlistwidget.h" 4#include "playlistwidget.h"
5#include "mediaplayer.h" 5#include "mediaplayer.h"
6 6
7PlayListWidget *playList;
8
9int main(int argc, char **argv) { 7int main(int argc, char **argv) {
10 QPEApplication a(argc,argv); 8 QPEApplication a(argc,argv);
11 9
12 MediaPlayerState st( 0, "mediaPlayerState" ); 10 MediaPlayerState st( 0, "mediaPlayerState" );
13 PlayListWidget pl( st, 0, "playList" ); 11 PlayListWidget pl( st, 0, "playList" );
14 playList = &pl;
15 pl.showMaximized(); 12 pl.showMaximized();
16 MediaPlayer mp( st, 0, "mediaPlayer" ); 13 MediaPlayer mp( pl, st, 0, "mediaPlayer" );
17 QObject::connect( &pl, SIGNAL( skinSelected() ), 14 QObject::connect( &pl, SIGNAL( skinSelected() ),
18 &mp, SLOT( recreateAudioAndVideoWidgets() ) ); 15 &mp, SLOT( recreateAudioAndVideoWidgets() ) );
19 16
20 a.showMainDocumentWidget(&pl); 17 a.showMainDocumentWidget(&pl);
21 18
22 return a.exec(); 19 return a.exec();
23} 20}
24 21
25 22
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index a9c74c4..8acc488 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -15,58 +15,56 @@
15#include "audiowidget.h" 15#include "audiowidget.h"
16#include "videowidget.h" 16#include "videowidget.h"
17#include "volumecontrol.h" 17#include "volumecontrol.h"
18 18
19#include "mediaplayerstate.h" 19#include "mediaplayerstate.h"
20 20
21// for setBacklight() 21// for setBacklight()
22#include <linux/fb.h> 22#include <linux/fb.h>
23#include <sys/file.h> 23#include <sys/file.h>
24#include <sys/ioctl.h> 24#include <sys/ioctl.h>
25 25
26 26
27extern VideoWidget *videoUI;
28extern PlayListWidget *playList;
29 27
30 28
31#define FBIOBLANK 0x4611 29#define FBIOBLANK 0x4611
32 30
33MediaPlayer::MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ) 31MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name )
34 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ) { 32 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ), playList( _playList ) {
35 33
36 audioUI = 0; 34 audioUI = 0;
37 videoUI = 0; 35 videoUI = 0;
38 xineControl = 0; 36 xineControl = 0;
39 recreateAudioAndVideoWidgets(); 37 recreateAudioAndVideoWidgets();
40 38
41 fd=-1;fl=-1; 39 fd=-1;fl=-1;
42 playList->setCaption( tr( "OpiePlayer: Initializating" ) ); 40 playList.setCaption( tr( "OpiePlayer: Initializating" ) );
43 41
44 qApp->processEvents(); 42 qApp->processEvents();
45 // QPEApplication::grabKeyboard(); // EVIL 43 // QPEApplication::grabKeyboard(); // EVIL
46 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 44 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
47 45
48 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 46 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
49 47
50 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 48 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
51 49
52 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 50 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
53 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 51 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
54 connect( &mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) ); 52 connect( &mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) );
55 53
56 volControl = new VolumeControl; 54 volControl = new VolumeControl;
57 Config cfg( "OpiePlayer" ); 55 Config cfg( "OpiePlayer" );
58 cfg.setGroup("PlayList"); 56 cfg.setGroup("PlayList");
59 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); 57 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default");
60 playList->setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() ); 58 playList.setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() );
61} 59}
62 60
63MediaPlayer::~MediaPlayer() { 61MediaPlayer::~MediaPlayer() {
64 delete xineControl; 62 delete xineControl;
65 delete volControl; 63 delete volControl;
66} 64}
67 65
68void MediaPlayer::pauseCheck( bool b ) { 66void MediaPlayer::pauseCheck( bool b ) {
69 if ( b && !mediaPlayerState.isPlaying() ) { 67 if ( b && !mediaPlayerState.isPlaying() ) {
70 mediaPlayerState.setPaused( FALSE ); 68 mediaPlayerState.setPaused( FALSE );
71 } 69 }
72} 70}
@@ -78,38 +76,38 @@ void MediaPlayer::play() {
78 76
79void MediaPlayer::setPlaying( bool play ) { 77void MediaPlayer::setPlaying( bool play ) {
80 if ( !play ) { 78 if ( !play ) {
81 return; 79 return;
82 } 80 }
83 81
84 if ( mediaPlayerState.isPaused() ) { 82 if ( mediaPlayerState.isPaused() ) {
85 mediaPlayerState.setPaused( FALSE ); 83 mediaPlayerState.setPaused( FALSE );
86 return; 84 return;
87 } 85 }
88 86
89 QString tickerText, time, fileName; 87 QString tickerText, time, fileName;
90 if ( playList->currentTab() != PlayListWidget::CurrentPlayList ) { 88 if ( playList.currentTab() != PlayListWidget::CurrentPlayList ) {
91 //if playing in file list.. play in a different way 89 //if playing in file list.. play in a different way
92 // random and looping settings enabled causes problems here, 90 // random and looping settings enabled causes problems here,
93 // since there is no selected file in the playlist, but a selected file in the file list, 91 // since there is no selected file in the playlist, but a selected file in the file list,
94 // so we remember and shutoff 92 // so we remember and shutoff
95 l = mediaPlayerState.isLooping(); 93 l = mediaPlayerState.isLooping();
96 if(l) { 94 if(l) {
97 mediaPlayerState.setLooping( false ); 95 mediaPlayerState.setLooping( false );
98 } 96 }
99 r = mediaPlayerState.isShuffled(); 97 r = mediaPlayerState.isShuffled();
100 mediaPlayerState.setShuffled( false ); 98 mediaPlayerState.setShuffled( false );
101 } 99 }
102 100
103 PlayListWidget::Entry playListEntry = playList->currentEntry(); 101 PlayListWidget::Entry playListEntry = playList.currentEntry();
104 fileName = playListEntry.name; 102 fileName = playListEntry.name;
105 xineControl->play( playListEntry.file ); 103 xineControl->play( playListEntry.file );
106 104
107 long seconds = mediaPlayerState.length(); 105 long seconds = mediaPlayerState.length();
108 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); 106 time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
109 107
110 if( fileName.left(4) == "http" ) { 108 if( fileName.left(4) == "http" ) {
111 fileName = QFileInfo( fileName ).baseName(); 109 fileName = QFileInfo( fileName ).baseName();
112 if ( xineControl->getMetaInfo().isEmpty() ) { 110 if ( xineControl->getMetaInfo().isEmpty() ) {
113 tickerText = tr( " File: " ) + fileName; 111 tickerText = tr( " File: " ) + fileName;
114 } else { 112 } else {
115 tickerText = xineControl->getMetaInfo(); 113 tickerText = xineControl->getMetaInfo();
@@ -117,45 +115,45 @@ void MediaPlayer::setPlaying( bool play ) {
117 } else { 115 } else {
118 if ( xineControl->getMetaInfo().isEmpty() ) { 116 if ( xineControl->getMetaInfo().isEmpty() ) {
119 tickerText = tr( " File: " ) + fileName + tr( ", Length: " ) + time + " "; 117 tickerText = tr( " File: " ) + fileName + tr( ", Length: " ) + time + " ";
120 } else { 118 } else {
121 tickerText = xineControl->getMetaInfo() + " Length: " + time + " "; 119 tickerText = xineControl->getMetaInfo() + " Length: " + time + " ";
122 } 120 }
123 } 121 }
124 audioUI->setTickerText( tickerText ); 122 audioUI->setTickerText( tickerText );
125} 123}
126 124
127 125
128void MediaPlayer::prev() { 126void MediaPlayer::prev() {
129 if( playList->currentTab() == PlayListWidget::CurrentPlayList ) { //if using the playlist 127 if( playList.currentTab() == PlayListWidget::CurrentPlayList ) { //if using the playlist
130 if ( playList->prev() ) { 128 if ( playList.prev() ) {
131 play(); 129 play();
132 } else if ( mediaPlayerState.isLooping() ) { 130 } else if ( mediaPlayerState.isLooping() ) {
133 if ( playList->last() ) { 131 if ( playList.last() ) {
134 play(); 132 play();
135 } 133 }
136 } else { 134 } else {
137 mediaPlayerState.setList(); 135 mediaPlayerState.setList();
138 } 136 }
139 } 137 }
140} 138}
141 139
142 140
143void MediaPlayer::next() { 141void MediaPlayer::next() {
144 142
145 if(playList->currentTab() == PlayListWidget::CurrentPlayList) { //if using the playlist 143 if(playList.currentTab() == PlayListWidget::CurrentPlayList) { //if using the playlist
146 if ( playList->next() ) { 144 if ( playList.next() ) {
147 play(); 145 play();
148 } else if ( mediaPlayerState.isLooping() ) { 146 } else if ( mediaPlayerState.isLooping() ) {
149 if ( playList->first() ) { 147 if ( playList.first() ) {
150 play(); 148 play();
151 } 149 }
152 } else { 150 } else {
153 mediaPlayerState.setList(); 151 mediaPlayerState.setList();
154 } 152 }
155 } else { //if playing from file list, let's just stop 153 } else { //if playing from file list, let's just stop
156 qDebug("<<<<<<<<<<<<<<<<<stop for filelists"); 154 qDebug("<<<<<<<<<<<<<<<<<stop for filelists");
157 mediaPlayerState.setPlaying(false); 155 mediaPlayerState.setPlaying(false);
158 mediaPlayerState.setDisplayType( MediaPlayerState::MediaSelection ); 156 mediaPlayerState.setDisplayType( MediaPlayerState::MediaSelection );
159 if(l) mediaPlayerState.setLooping(l); 157 if(l) mediaPlayerState.setLooping(l);
160 if(r) mediaPlayerState.setShuffled(r); 158 if(r) mediaPlayerState.setShuffled(r);
161 } 159 }
@@ -330,37 +328,37 @@ void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
330// mediaPlayerState->toggleBlank(); 328// mediaPlayerState->toggleBlank();
331 break; 329 break;
332 case Key_F13: //mail 330 case Key_F13: //mail
333 qDebug("Blank here"); 331 qDebug("Blank here");
334 // mediaPlayerState->toggleBlank(); 332 // mediaPlayerState->toggleBlank();
335 break; 333 break;
336 } 334 }
337} 335}
338 336
339void MediaPlayer::cleanUp() {// this happens on closing 337void MediaPlayer::cleanUp() {// this happens on closing
340 Config cfg( "OpiePlayer" ); 338 Config cfg( "OpiePlayer" );
341 mediaPlayerState.writeConfig( cfg ); 339 mediaPlayerState.writeConfig( cfg );
342 playList->writeDefaultPlaylist( ); 340 playList.writeDefaultPlaylist( );
343 341
344// QPEApplication::grabKeyboard(); 342// QPEApplication::grabKeyboard();
345// QPEApplication::ungrabKeyboard(); 343// QPEApplication::ungrabKeyboard();
346} 344}
347 345
348void MediaPlayer::recreateAudioAndVideoWidgets() 346void MediaPlayer::recreateAudioAndVideoWidgets()
349{ 347{
350 delete xineControl; 348 delete xineControl;
351 delete audioUI; 349 delete audioUI;
352 delete videoUI; 350 delete videoUI;
353 audioUI = new AudioWidget( mediaPlayerState, 0, "audioUI" ); 351 audioUI = new AudioWidget( playList, mediaPlayerState, 0, "audioUI" );
354 videoUI = new VideoWidget( mediaPlayerState, 0, "videoUI" ); 352 videoUI = new VideoWidget( playList, mediaPlayerState, 0, "videoUI" );
355 353
356 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 354 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
357 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 355 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
358 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 356 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
359 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 357 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
360 358
361 connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 359 connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
362 connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 360 connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
363 connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 361 connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
364 connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 362 connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
365 363
366 xineControl = new XineControl( videoUI, mediaPlayerState ); 364 xineControl = new XineControl( videoUI, mediaPlayerState );
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index 0d6f722..dc306c4 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -30,34 +30,36 @@
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef MEDIA_PLAYER_H 34#ifndef MEDIA_PLAYER_H
35#define MEDIA_PLAYER_H 35#define MEDIA_PLAYER_H
36 36
37#include <qmainwindow.h> 37#include <qmainwindow.h>
38#include <qframe.h> 38#include <qframe.h>
39 39
40#include "xinecontrol.h" 40#include "xinecontrol.h"
41 41
42#include "playlistwidget.h"
43
42class DocLnk; 44class DocLnk;
43class VolumeControl; 45class VolumeControl;
44class MediaPlayerState; 46class MediaPlayerState;
45class AudioWidget; 47class AudioWidget;
46class VideoWidget; 48class VideoWidget;
47 49
48class MediaPlayer : public QObject { 50class MediaPlayer : public QObject {
49 Q_OBJECT 51 Q_OBJECT
50public: 52public:
51 MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ); 53 MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name );
52 ~MediaPlayer(); 54 ~MediaPlayer();
53 55
54public slots: 56public slots:
55 void recreateAudioAndVideoWidgets(); 57 void recreateAudioAndVideoWidgets();
56 58
57private slots: 59private slots:
58 void setPlaying( bool ); 60 void setPlaying( bool );
59 void pauseCheck( bool ); 61 void pauseCheck( bool );
60 void play(); 62 void play();
61 void next(); 63 void next();
62 void prev(); 64 void prev();
63 void startIncreasingVolume(); 65 void startIncreasingVolume();
@@ -68,19 +70,20 @@ private slots:
68 70
69protected: 71protected:
70 void timerEvent( QTimerEvent *e ); 72 void timerEvent( QTimerEvent *e );
71 void keyReleaseEvent( QKeyEvent *e); 73 void keyReleaseEvent( QKeyEvent *e);
72private: 74private:
73 75
74 bool isBlanked, l, r; 76 bool isBlanked, l, r;
75 int fd, fl; 77 int fd, fl;
76 int volumeDirection; 78 int volumeDirection;
77 XineControl *xineControl; 79 XineControl *xineControl;
78 VolumeControl *volControl; 80 VolumeControl *volControl;
79 MediaPlayerState &mediaPlayerState; 81 MediaPlayerState &mediaPlayerState;
82 PlayListWidget &playList;
80 AudioWidget *audioUI; 83 AudioWidget *audioUI;
81 VideoWidget *videoUI; 84 VideoWidget *videoUI;
82}; 85};
83 86
84 87
85#endif // MEDIA_PLAYER_H 88#endif // MEDIA_PLAYER_H
86 89
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index 2992fd6..ed5bc5a 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -12,52 +12,50 @@
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#include "playlistwidget.h"
23 23
24extern PlayListWidget *playList; 24MediaWidget::MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name )
25 25 : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState ), playList( _playList )
26MediaWidget::MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name )
27 : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState )
28{ 26{
29 connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ), 27 connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ),
30 this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) ); 28 this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) );
31 connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ), 29 connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ),
32 this, SLOT( setLength( long ) ) ); 30 this, SLOT( setLength( long ) ) );
33 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), 31 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
34 this, SLOT( setPlaying( bool ) ) ); 32 this, SLOT( setPlaying( bool ) ) );
35} 33}
36 34
37MediaWidget::~MediaWidget() 35MediaWidget::~MediaWidget()
38{ 36{
39} 37}
40 38
41void MediaWidget::closeEvent( QCloseEvent * ) 39void MediaWidget::closeEvent( QCloseEvent * )
42{ 40{
43 mediaPlayerState.setList(); 41 mediaPlayerState.setList();
44} 42}
45 43
46void MediaWidget::handleCommand( Command command, bool buttonDown ) 44void MediaWidget::handleCommand( Command command, bool buttonDown )
47{ 45{
48 switch ( command ) { 46 switch ( command ) {
49 case Play: mediaPlayerState.togglePaused(); 47 case Play: mediaPlayerState.togglePaused();
50 case Stop: mediaPlayerState.setPlaying(FALSE); return; 48 case Stop: mediaPlayerState.setPlaying(FALSE); return;
51 case Next: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; 49 case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
52 case Previous: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; 50 case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
53 case Loop: mediaPlayerState.setLooping( buttonDown ); return; 51 case Loop: mediaPlayerState.setLooping( buttonDown ); return;
54 case VolumeUp: emit moreReleased(); return; 52 case VolumeUp: emit moreReleased(); return;
55 case VolumeDown: emit lessReleased(); return; 53 case VolumeDown: emit lessReleased(); return;
56 case PlayList: mediaPlayerState.setList(); return; 54 case PlayList: mediaPlayerState.setList(); return;
57 case Forward: emit forwardReleased(); return; 55 case Forward: emit forwardReleased(); return;
58 case Back: emit backReleased(); return; 56 case Back: emit backReleased(); return;
59 } 57 }
60} 58}
61 59
62/* vim: et sw=4 ts=4 60/* vim: et sw=4 ts=4
63 */ 61 */
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index e3f09ce..2d92d65 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -14,44 +14,46 @@
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#include "playlistwidget.h"
26 27
27class MediaWidget : public QWidget 28class MediaWidget : public QWidget
28{ 29{
29 Q_OBJECT 30 Q_OBJECT
30public: 31public:
31 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back }; 32 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back };
32 33
33 MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); 34 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 );
34 virtual ~MediaWidget(); 35 virtual ~MediaWidget();
35 36
36public slots: 37public slots:
37 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0; 38 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0;
38 virtual void setLength( long length ) = 0; 39 virtual void setLength( long length ) = 0;
39 virtual void setPlaying( bool playing ) = 0; 40 virtual void setPlaying( bool playing ) = 0;
40 41
41signals: 42signals:
42 void moreReleased(); 43 void moreReleased();
43 void lessReleased(); 44 void lessReleased();
44 void forwardReleased(); 45 void forwardReleased();
45 void backReleased(); 46 void backReleased();
46 47
47protected: 48protected:
48 virtual void closeEvent( QCloseEvent * ); 49 virtual void closeEvent( QCloseEvent * );
49 50
50 void handleCommand( Command command, bool buttonDown ); 51 void handleCommand( Command command, bool buttonDown );
51 52
52 MediaPlayerState &mediaPlayerState; 53 MediaPlayerState &mediaPlayerState;
54 PlayListWidget &playList;
53}; 55};
54 56
55#endif // MEDIAWIDGET_H 57#endif // MEDIAWIDGET_H
56/* vim: et sw=4 ts=4 58/* vim: et sw=4 ts=4
57 */ 59 */
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index c0039b1..b7305fe 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -44,25 +44,24 @@
44#include "videowidget.h" 44#include "videowidget.h"
45#include "mediaplayerstate.h" 45#include "mediaplayerstate.h"
46#include "playlistwidget.h" 46#include "playlistwidget.h"
47 47
48 48
49#ifdef Q_WS_QWS 49#ifdef Q_WS_QWS
50# define USE_DIRECT_PAINTER 50# define USE_DIRECT_PAINTER
51# include <qdirectpainter_qws.h> 51# include <qdirectpainter_qws.h>
52# include <qgfxraster_qws.h> 52# include <qgfxraster_qws.h>
53#endif 53#endif
54 54
55 55
56extern PlayListWidget *playList;
57 56
58 57
59static const int xo = 2; // movable x offset 58static const int xo = 2; // movable x offset
60static const int yo = 0; // movable y offset 59static const int yo = 0; // movable y offset
61 60
62 61
63struct MediaButton { 62struct MediaButton {
64 bool isToggle, isHeld, isDown; 63 bool isToggle, isHeld, isDown;
65}; 64};
66 65
67MediaButton videoButtons[] = { 66MediaButton videoButtons[] = {
68 { FALSE, FALSE, FALSE }, // stop 67 { FALSE, FALSE, FALSE }, // stop
@@ -72,28 +71,27 @@ MediaButton videoButtons[] = {
72 { FALSE, FALSE, FALSE }, // volUp 71 { FALSE, FALSE, FALSE }, // volUp
73 { FALSE, FALSE, FALSE }, // volDown 72 { FALSE, FALSE, FALSE }, // volDown
74 { TRUE, FALSE, FALSE } // fullscreen 73 { TRUE, FALSE, FALSE } // fullscreen
75}; 74};
76 75
77const char *skinV_mask_file_names[7] = { 76const char *skinV_mask_file_names[7] = {
78"stop","play","back","fwd","up","down","full" 77"stop","play","back","fwd","up","down","full"
79}; 78};
80 79
81static const int numVButtons = (sizeof(videoButtons)/sizeof(MediaButton)); 80static const int numVButtons = (sizeof(videoButtons)/sizeof(MediaButton));
82 81
83 82
84VideoWidget::VideoWidget(MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name) : 83VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
85MediaWidget( mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) { 84 : MediaWidget( playList, mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 )
86 85{
87
88 setCaption( tr("OpiePlayer - Video") ); 86 setCaption( tr("OpiePlayer - Video") );
89 87
90 videoFrame = new XineVideoWidget ( this, "Video frame" ); 88 videoFrame = new XineVideoWidget ( this, "Video frame" );
91 89
92 connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & ))); 90 connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & )));
93 connect ( videoFrame, SIGNAL( clicked () ), this, SLOT ( backToNormal() ) ); 91 connect ( videoFrame, SIGNAL( clicked () ), this, SLOT ( backToNormal() ) );
94 92
95 Config cfg("OpiePlayer"); 93 Config cfg("OpiePlayer");
96 cfg.setGroup("Options"); 94 cfg.setGroup("Options");
97 skin = cfg.readEntry("Skin","default"); 95 skin = cfg.readEntry("Skin","default");
98 96
99 QString skinPath = "opieplayer2/skins/" + skin; 97 QString skinPath = "opieplayer2/skins/" + skin;
@@ -323,26 +321,26 @@ void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
323 mediaPlayerState.setPaused( FALSE ); 321 mediaPlayerState.setPaused( FALSE );
324 return; 322 return;
325 } else if( !mediaPlayerState.isPaused() ) { 323 } else if( !mediaPlayerState.isPaused() ) {
326 setToggleButton( i, TRUE ); 324 setToggleButton( i, TRUE );
327 mediaPlayerState.setPaused( TRUE ); 325 mediaPlayerState.setPaused( TRUE );
328 return; 326 return;
329 } else { 327 } else {
330 return; 328 return;
331 } 329 }
332 } 330 }
333 331
334 case VideoStop: mediaPlayerState.setPlaying( FALSE ); return; 332 case VideoStop: mediaPlayerState.setPlaying( FALSE ); return;
335 case VideoNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; 333 case VideoNext: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
336 case VideoPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; 334 case VideoPrevious: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
337 case VideoVolUp: emit moreReleased(); return; 335 case VideoVolUp: emit moreReleased(); return;
338 case VideoVolDown: emit lessReleased(); return; 336 case VideoVolDown: emit lessReleased(); return;
339 case VideoFullscreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return; 337 case VideoFullscreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return;
340 } 338 }
341 } 339 }
342 } 340 }
343 } 341 }
344} 342}
345 343
346void VideoWidget::mousePressEvent( QMouseEvent *event ) { 344void VideoWidget::mousePressEvent( QMouseEvent *event ) {
347 mouseMoveEvent( event ); 345 mouseMoveEvent( event );
348} 346}
diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h
index ae0e687..f996803 100644
--- a/noncore/multimedia/opieplayer2/videowidget.h
+++ b/noncore/multimedia/opieplayer2/videowidget.h
@@ -49,25 +49,25 @@ enum VideoButtons {
49 VideoPlay, 49 VideoPlay,
50// VideoPause, 50// VideoPause,
51 VideoPrevious, 51 VideoPrevious,
52 VideoNext, 52 VideoNext,
53 VideoVolUp, 53 VideoVolUp,
54 VideoVolDown, 54 VideoVolDown,
55 VideoFullscreen 55 VideoFullscreen
56}; 56};
57 57
58class VideoWidget : public MediaWidget { 58class VideoWidget : public MediaWidget {
59 Q_OBJECT 59 Q_OBJECT
60public: 60public:
61 VideoWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 61 VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
62 ~VideoWidget(); 62 ~VideoWidget();
63 63
64 64
65 XineVideoWidget* vidWidget(); 65 XineVideoWidget* vidWidget();
66public slots: 66public slots:
67 void updateSlider( long, long ); 67 void updateSlider( long, long );
68 void sliderPressed( ); 68 void sliderPressed( );
69 void sliderReleased( ); 69 void sliderReleased( );
70 void setFullscreen( bool b ); 70 void setFullscreen( bool b );
71 void makeVisible(); 71 void makeVisible();
72 void backToNormal(); 72 void backToNormal();
73 void setPosition( long ); 73 void setPosition( long );