summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-02 23:22:22 (UTC)
committer simon <simon>2002-12-02 23:22:22 (UTC)
commit24a00c944aace8d7627c1eb0d7cc0ebf40731c57 (patch) (unidiff)
tree3ae5406e15f169849a50e12fec01faa4cfc035e3
parent779219b813f0eba82a8d9236fafd28dbafc594d1 (diff)
downloadopie-24a00c944aace8d7627c1eb0d7cc0ebf40731c57.zip
opie-24a00c944aace8d7627c1eb0d7cc0ebf40731c57.tar.gz
opie-24a00c944aace8d7627c1eb0d7cc0ebf40731c57.tar.bz2
- AudioWidget and VideoWidget are no more singletons via audioUI and
videoUI. this allows switching skins at run-time (the appropriate connections are already made and it works quite nicely :)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/main.cpp11
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp39
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h9
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h3
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp5
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.h6
7 files changed, 56 insertions, 31 deletions
diff --git a/noncore/multimedia/opieplayer2/main.cpp b/noncore/multimedia/opieplayer2/main.cpp
index 7d11ca0..7fc7b94 100644
--- a/noncore/multimedia/opieplayer2/main.cpp
+++ b/noncore/multimedia/opieplayer2/main.cpp
@@ -1,32 +1,25 @@
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 "audiowidget.h"
6#include "videowidget.h"
7#include "mediaplayer.h" 5#include "mediaplayer.h"
8 6
9PlayListWidget *playList; 7PlayListWidget *playList;
10AudioWidget *audioUI;
11VideoWidget *videoUI;
12 8
13int main(int argc, char **argv) { 9int main(int argc, char **argv) {
14 QPEApplication a(argc,argv); 10 QPEApplication a(argc,argv);
15 11
16 MediaPlayerState st( 0, "mediaPlayerState" ); 12 MediaPlayerState st( 0, "mediaPlayerState" );
17 PlayListWidget pl( st, 0, "playList" ); 13 PlayListWidget pl( st, 0, "playList" );
18 playList = &pl; 14 playList = &pl;
19 pl.showMaximized(); 15 pl.showMaximized();
20 AudioWidget aw( st, 0, "audioUI" );
21 audioUI = &aw;
22 VideoWidget vw( st, 0, "videoUI" );
23 videoUI = &vw;
24 a.processEvents();
25 MediaPlayer mp( st, 0, "mediaPlayer" ); 16 MediaPlayer mp( st, 0, "mediaPlayer" );
17 QObject::connect( &pl, SIGNAL( skinSelected() ),
18 &mp, SLOT( recreateAudioAndVideoWidgets() ) );
26 19
27 a.showMainDocumentWidget(&pl); 20 a.showMainDocumentWidget(&pl);
28 21
29 return a.exec(); 22 return a.exec();
30} 23}
31 24
32 25
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index eccb5d9..a9c74c4 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -1,111 +1,104 @@
1#include <qpe/qpeapplication.h> 1#include <qpe/qpeapplication.h>
2#include <qpe/qlibrary.h> 2#include <qpe/qlibrary.h>
3#include <qpe/resource.h> 3#include <qpe/resource.h>
4#include <qpe/config.h> 4#include <qpe/config.h>
5#include <qpe/qcopenvelope_qws.h> 5#include <qpe/qcopenvelope_qws.h>
6#include <qfileinfo.h> 6#include <qfileinfo.h>
7 7
8#include <qmainwindow.h> 8#include <qmainwindow.h>
9#include <qmessagebox.h> 9#include <qmessagebox.h>
10#include <qwidgetstack.h> 10#include <qwidgetstack.h>
11#include <qfile.h> 11#include <qfile.h>
12 12
13#include "mediaplayer.h" 13#include "mediaplayer.h"
14#include "playlistwidget.h" 14#include "playlistwidget.h"
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 AudioWidget *audioUI;
28extern VideoWidget *videoUI; 27extern VideoWidget *videoUI;
29extern PlayListWidget *playList; 28extern PlayListWidget *playList;
30 29
31 30
32#define FBIOBLANK 0x4611 31#define FBIOBLANK 0x4611
33 32
34MediaPlayer::MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ) 33MediaPlayer::MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name )
35 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ) { 34 : QObject( parent, name ), volumeDirection( 0 ), mediaPlayerState( _mediaPlayerState ) {
36 35
36 audioUI = 0;
37 videoUI = 0;
38 xineControl = 0;
39 recreateAudioAndVideoWidgets();
40
37 fd=-1;fl=-1; 41 fd=-1;fl=-1;
38 playList->setCaption( tr( "OpiePlayer: Initializating" ) ); 42 playList->setCaption( tr( "OpiePlayer: Initializating" ) );
39 43
40 qApp->processEvents(); 44 qApp->processEvents();
41 // QPEApplication::grabKeyboard(); // EVIL 45 // QPEApplication::grabKeyboard(); // EVIL
42 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 46 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
43 47
44 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 48 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
45 49
46 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 50 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
47 51
48 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 52 connect( &mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
49 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 53 connect( &mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
50 connect( &mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) ); 54 connect( &mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) );
51 55
52 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
53 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
54 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
55 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
56
57 connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
58 connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
59 connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
60 connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
61
62 volControl = new VolumeControl; 56 volControl = new VolumeControl;
63 xineControl = new XineControl( mediaPlayerState );
64 Config cfg( "OpiePlayer" ); 57 Config cfg( "OpiePlayer" );
65 cfg.setGroup("PlayList"); 58 cfg.setGroup("PlayList");
66 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); 59 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default");
67 playList->setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() ); 60 playList->setCaption( tr( "OpiePlayer: " ) + QFileInfo(currentPlaylist).baseName() );
68} 61}
69 62
70MediaPlayer::~MediaPlayer() { 63MediaPlayer::~MediaPlayer() {
71 delete xineControl; 64 delete xineControl;
72 delete volControl; 65 delete volControl;
73} 66}
74 67
75void MediaPlayer::pauseCheck( bool b ) { 68void MediaPlayer::pauseCheck( bool b ) {
76 if ( b && !mediaPlayerState.isPlaying() ) { 69 if ( b && !mediaPlayerState.isPlaying() ) {
77 mediaPlayerState.setPaused( FALSE ); 70 mediaPlayerState.setPaused( FALSE );
78 } 71 }
79} 72}
80 73
81void MediaPlayer::play() { 74void MediaPlayer::play() {
82 mediaPlayerState.setPlaying( FALSE ); 75 mediaPlayerState.setPlaying( FALSE );
83 mediaPlayerState.setPlaying( TRUE ); 76 mediaPlayerState.setPlaying( TRUE );
84} 77}
85 78
86void MediaPlayer::setPlaying( bool play ) { 79void MediaPlayer::setPlaying( bool play ) {
87 if ( !play ) { 80 if ( !play ) {
88 return; 81 return;
89 } 82 }
90 83
91 if ( mediaPlayerState.isPaused() ) { 84 if ( mediaPlayerState.isPaused() ) {
92 mediaPlayerState.setPaused( FALSE ); 85 mediaPlayerState.setPaused( FALSE );
93 return; 86 return;
94 } 87 }
95 88
96 QString tickerText, time, fileName; 89 QString tickerText, time, fileName;
97 if ( playList->currentTab() != PlayListWidget::CurrentPlayList ) { 90 if ( playList->currentTab() != PlayListWidget::CurrentPlayList ) {
98 //if playing in file list.. play in a different way 91 //if playing in file list.. play in a different way
99 // random and looping settings enabled causes problems here, 92 // random and looping settings enabled causes problems here,
100 // since there is no selected file in the playlist, but a selected file in the file list, 93 // since there is no selected file in the playlist, but a selected file in the file list,
101 // so we remember and shutoff 94 // so we remember and shutoff
102 l = mediaPlayerState.isLooping(); 95 l = mediaPlayerState.isLooping();
103 if(l) { 96 if(l) {
104 mediaPlayerState.setLooping( false ); 97 mediaPlayerState.setLooping( false );
105 } 98 }
106 r = mediaPlayerState.isShuffled(); 99 r = mediaPlayerState.isShuffled();
107 mediaPlayerState.setShuffled( false ); 100 mediaPlayerState.setShuffled( false );
108 } 101 }
109 102
110 PlayListWidget::Entry playListEntry = playList->currentEntry(); 103 PlayListWidget::Entry playListEntry = playList->currentEntry();
111 fileName = playListEntry.name; 104 fileName = playListEntry.name;
@@ -306,48 +299,70 @@ void MediaPlayer::blank( bool b ) {
306 isBlanked = TRUE; 299 isBlanked = TRUE;
307 } else { 300 } else {
308 qDebug("do unblanking"); 301 qDebug("do unblanking");
309 ioctl( fd, FBIOBLANK, 0); 302 ioctl( fd, FBIOBLANK, 0);
310#ifdef QT_QWS_EBX 303#ifdef QT_QWS_EBX
311 if(fl != -1) { 304 if(fl != -1) {
312 ioctl( fl, 1); 305 ioctl( fl, 1);
313 ::close(fl); 306 ::close(fl);
314 } 307 }
315#endif 308#endif
316 isBlanked = FALSE; 309 isBlanked = FALSE;
317 } 310 }
318 close( fd ); 311 close( fd );
319 } else { 312 } else {
320 qDebug("<< /dev/fb0 could not be opened >>"); 313 qDebug("<< /dev/fb0 could not be opened >>");
321 } 314 }
322} 315}
323 316
324void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { 317void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
325 switch ( e->key() ) { 318 switch ( e->key() ) {
326////////////////////////////// Zaurus keys 319////////////////////////////// Zaurus keys
327 case Key_Home: 320 case Key_Home:
328 break; 321 break;
329 case Key_F9: //activity 322 case Key_F9: //activity
330 break; 323 break;
331 case Key_F10: //contacts 324 case Key_F10: //contacts
332 break; 325 break;
333 case Key_F11: //menu 326 case Key_F11: //menu
334 break; 327 break;
335 case Key_F12: //home 328 case Key_F12: //home
336 qDebug("Blank here"); 329 qDebug("Blank here");
337// mediaPlayerState->toggleBlank(); 330// mediaPlayerState->toggleBlank();
338 break; 331 break;
339 case Key_F13: //mail 332 case Key_F13: //mail
340 qDebug("Blank here"); 333 qDebug("Blank here");
341 // mediaPlayerState->toggleBlank(); 334 // mediaPlayerState->toggleBlank();
342 break; 335 break;
343 } 336 }
344} 337}
345 338
346void MediaPlayer::cleanUp() {// this happens on closing 339void MediaPlayer::cleanUp() {// this happens on closing
347 Config cfg( "OpiePlayer" ); 340 Config cfg( "OpiePlayer" );
348 mediaPlayerState.writeConfig( cfg ); 341 mediaPlayerState.writeConfig( cfg );
349 playList->writeDefaultPlaylist( ); 342 playList->writeDefaultPlaylist( );
350 343
351// QPEApplication::grabKeyboard(); 344// QPEApplication::grabKeyboard();
352// QPEApplication::ungrabKeyboard(); 345// QPEApplication::ungrabKeyboard();
353} 346}
347
348void MediaPlayer::recreateAudioAndVideoWidgets()
349{
350 delete xineControl;
351 delete audioUI;
352 delete videoUI;
353 audioUI = new AudioWidget( mediaPlayerState, 0, "audioUI" );
354 videoUI = new VideoWidget( mediaPlayerState, 0, "videoUI" );
355
356 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
357 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
358 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
359 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
360
361 connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
362 connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
363 connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
364 connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
365
366 xineControl = new XineControl( videoUI, mediaPlayerState );
367}
368
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index 6aeac7c..0d6f722 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -1,77 +1,86 @@
1 /* 1 /*
2                This file is part of the Opie Project 2                This file is part of the Opie Project
3 3
4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org> 4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
5 Copyright (c) 2002 LJP <> 5 Copyright (c) 2002 LJP <>
6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> 6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
7 =. 7 =.
8 .=l. 8 .=l.
9           .>+-= 9           .>+-=
10 _;:,     .>    :=|. This program is free software; you can 10 _;:,     .>    :=|. This program is free software; you can
11.> <`_,   >  .   <= redistribute it and/or modify it under 11.> <`_,   >  .   <= redistribute it and/or modify it under
12:`=1 )Y*s>-.--   : the terms of the GNU General Public 12:`=1 )Y*s>-.--   : the terms of the GNU General Public
13.="- .-=="i,     .._ License as published by the Free Software 13.="- .-=="i,     .._ License as published by the Free Software
14 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
15     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
16    .%`+i>       _;_. 16    .%`+i>       _;_.
17    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
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 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
42class DocLnk; 42class DocLnk;
43class VolumeControl; 43class VolumeControl;
44class MediaPlayerState; 44class MediaPlayerState;
45class AudioWidget;
46class VideoWidget;
45 47
46class MediaPlayer : public QObject { 48class MediaPlayer : public QObject {
47 Q_OBJECT 49 Q_OBJECT
48public: 50public:
49 MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ); 51 MediaPlayer( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name );
50 ~MediaPlayer(); 52 ~MediaPlayer();
53
54public slots:
55 void recreateAudioAndVideoWidgets();
56
51private slots: 57private slots:
52 void setPlaying( bool ); 58 void setPlaying( bool );
53 void pauseCheck( bool ); 59 void pauseCheck( bool );
54 void play(); 60 void play();
55 void next(); 61 void next();
56 void prev(); 62 void prev();
57 void startIncreasingVolume(); 63 void startIncreasingVolume();
58 void startDecreasingVolume(); 64 void startDecreasingVolume();
59 void stopChangingVolume(); 65 void stopChangingVolume();
60 void cleanUp(); 66 void cleanUp();
61 void blank( bool ); 67 void blank( bool );
62 68
63protected: 69protected:
64 void timerEvent( QTimerEvent *e ); 70 void timerEvent( QTimerEvent *e );
65 void keyReleaseEvent( QKeyEvent *e); 71 void keyReleaseEvent( QKeyEvent *e);
66private: 72private:
73
67 bool isBlanked, l, r; 74 bool isBlanked, l, r;
68 int fd, fl; 75 int fd, fl;
69 int volumeDirection; 76 int volumeDirection;
70 XineControl *xineControl; 77 XineControl *xineControl;
71 VolumeControl *volControl; 78 VolumeControl *volControl;
72 MediaPlayerState &mediaPlayerState; 79 MediaPlayerState &mediaPlayerState;
80 AudioWidget *audioUI;
81 VideoWidget *videoUI;
73}; 82};
74 83
75 84
76#endif // MEDIA_PLAYER_H 85#endif // MEDIA_PLAYER_H
77 86
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 7ba342b..6bda71e 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -1050,79 +1050,81 @@ void PlayListWidget::pmViewActivated(int index) {
1050 case -16: 1050 case -16:
1051 { 1051 {
1052 mediaPlayerState.toggleFullscreen(); 1052 mediaPlayerState.toggleFullscreen();
1053 bool b=mediaPlayerState.isFullscreen(); 1053 bool b=mediaPlayerState.isFullscreen();
1054 pmView->setItemChecked( index, b); 1054 pmView->setItemChecked( index, b);
1055 Config cfg( "OpiePlayer" ); 1055 Config cfg( "OpiePlayer" );
1056 cfg.writeEntry( "FullScreen", b ); 1056 cfg.writeEntry( "FullScreen", b );
1057 } 1057 }
1058 break; 1058 break;
1059 }; 1059 };
1060} 1060}
1061 1061
1062void PlayListWidget::populateSkinsMenu() { 1062void PlayListWidget::populateSkinsMenu() {
1063 int item = 0; 1063 int item = 0;
1064 defaultSkinIndex = 0; 1064 defaultSkinIndex = 0;
1065 QString skinName; 1065 QString skinName;
1066 Config cfg( "OpiePlayer" ); 1066 Config cfg( "OpiePlayer" );
1067 cfg.setGroup("Options" ); 1067 cfg.setGroup("Options" );
1068 QString skin = cfg.readEntry( "Skin", "default" ); 1068 QString skin = cfg.readEntry( "Skin", "default" );
1069 1069
1070 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" ); 1070 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" );
1071 skinsDir.setFilter( QDir::Dirs ); 1071 skinsDir.setFilter( QDir::Dirs );
1072 skinsDir.setSorting(QDir::Name ); 1072 skinsDir.setSorting(QDir::Name );
1073 const QFileInfoList *skinslist = skinsDir.entryInfoList(); 1073 const QFileInfoList *skinslist = skinsDir.entryInfoList();
1074 QFileInfoListIterator it( *skinslist ); 1074 QFileInfoListIterator it( *skinslist );
1075 QFileInfo *fi; 1075 QFileInfo *fi;
1076 while ( ( fi = it.current() ) ) { 1076 while ( ( fi = it.current() ) ) {
1077 skinName = fi->fileName(); 1077 skinName = fi->fileName();
1078// qDebug( fi->fileName() ); 1078// qDebug( fi->fileName() );
1079 if( skinName != "." && skinName != ".." && skinName !="CVS" ) { 1079 if( skinName != "." && skinName != ".." && skinName !="CVS" ) {
1080 item = skinsMenu->insertItem( fi->fileName() ) ; 1080 item = skinsMenu->insertItem( fi->fileName() ) ;
1081 } 1081 }
1082 if( skinName == "default" ) { 1082 if( skinName == "default" ) {
1083 defaultSkinIndex = item; 1083 defaultSkinIndex = item;
1084 } 1084 }
1085 if( skinName == skin ) { 1085 if( skinName == skin ) {
1086 skinsMenu->setItemChecked( item, TRUE ); 1086 skinsMenu->setItemChecked( item, TRUE );
1087 } 1087 }
1088 ++it; 1088 ++it;
1089 } 1089 }
1090} 1090}
1091 1091
1092void PlayListWidget::skinsMenuActivated( int item ) { 1092void PlayListWidget::skinsMenuActivated( int item ) {
1093 for(unsigned int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) { 1093 for(unsigned int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) {
1094 skinsMenu->setItemChecked( i, FALSE ); 1094 skinsMenu->setItemChecked( i, FALSE );
1095 } 1095 }
1096 skinsMenu->setItemChecked( item, TRUE ); 1096 skinsMenu->setItemChecked( item, TRUE );
1097 1097
1098 Config cfg( "OpiePlayer" ); 1098 {
1099 cfg.setGroup("Options"); 1099 Config cfg( "OpiePlayer" );
1100 cfg.writeEntry("Skin", skinsMenu->text( item ) ); 1100 cfg.setGroup("Options");
1101 QMessageBox::warning( this, tr( "OpiePlayer" ), 1101 cfg.writeEntry("Skin", skinsMenu->text( item ) );
1102 tr( "You must <b>restart</b> Opieplayer<br>to see your changes." ) ); 1102 }
1103} 1103
1104 emit skinSelected();
1105}
1104 1106
1105PlayListWidget::TabType PlayListWidget::currentTab() const 1107PlayListWidget::TabType PlayListWidget::currentTab() const
1106{ 1108{
1107 static const TabType indexToTabType[ TabTypeCount ] = 1109 static const TabType indexToTabType[ TabTypeCount ] =
1108 { CurrentPlayList, AudioFiles, VideoFiles, PlayLists }; 1110 { CurrentPlayList, AudioFiles, VideoFiles, PlayLists };
1109 1111
1110 int index = tabWidget->currentPageIndex(); 1112 int index = tabWidget->currentPageIndex();
1111 assert( index < TabTypeCount && index >= 0 ); 1113 assert( index < TabTypeCount && index >= 0 );
1112 1114
1113 return indexToTabType[ index ]; 1115 return indexToTabType[ index ];
1114} 1116}
1115 1117
1116PlayListWidget::Entry PlayListWidget::currentEntry() const 1118PlayListWidget::Entry PlayListWidget::currentEntry() const
1117{ 1119{
1118 if ( currentTab() == CurrentPlayList ) { 1120 if ( currentTab() == CurrentPlayList ) {
1119 const DocLnk *lnk = current(); 1121 const DocLnk *lnk = current();
1120 return Entry( lnk->name(), lnk->file() ); 1122 return Entry( lnk->name(), lnk->file() );
1121 } 1123 }
1122 1124
1123 return Entry( currentFileListPathName() ); 1125 return Entry( currentFileListPathName() );
1124} 1126}
1125 1127
1126QString PlayListWidget::currentFileListPathName() const { 1128QString PlayListWidget::currentFileListPathName() const {
1127 return currentFileListView()->currentItem()->text( 3 ); 1129 return currentFileListView()->currentItem()->text( 3 );
1128} 1130}
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index 3f52e63..ad5c9a3 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -49,93 +49,96 @@ class Config;
49class QListViewItem; 49class QListViewItem;
50class QListView; 50class QListView;
51class QPoint; 51class QPoint;
52class QAction; 52class QAction;
53class QLabel; 53class QLabel;
54 54
55class PlayListWidget : public PlayListWidgetGui { 55class PlayListWidget : public PlayListWidgetGui {
56 Q_OBJECT 56 Q_OBJECT
57public: 57public:
58 enum TabType { CurrentPlayList, AudioFiles, VideoFiles, PlayLists }; 58 enum TabType { CurrentPlayList, AudioFiles, VideoFiles, PlayLists };
59 enum { TabTypeCount = 4 }; 59 enum { TabTypeCount = 4 };
60 60
61 struct Entry 61 struct Entry
62 { 62 {
63 Entry( const QString &_name, const QString &_fileName ) 63 Entry( const QString &_name, const QString &_fileName )
64 : name( _name ), file( _fileName ) {} 64 : name( _name ), file( _fileName ) {}
65 Entry( const QString &_fileName ) 65 Entry( const QString &_fileName )
66 : name( _fileName ), file( _fileName ) {} 66 : name( _fileName ), file( _fileName ) {}
67 67
68 QString name; 68 QString name;
69 QString file; 69 QString file;
70 }; 70 };
71 71
72 PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 72 PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
73 ~PlayListWidget(); 73 ~PlayListWidget();
74 DocLnkSet files; 74 DocLnkSet files;
75 DocLnkSet vFiles; 75 DocLnkSet vFiles;
76 bool fromSetDocument; 76 bool fromSetDocument;
77 bool insanityBool; 77 bool insanityBool;
78 QString setDocFileRef, currentPlayList; 78 QString setDocFileRef, currentPlayList;
79 // retrieve the current playlist entry (media file link) 79 // retrieve the current playlist entry (media file link)
80 const DocLnk *current() const; 80 const DocLnk *current() const;
81 void useSelectedDocument(); 81 void useSelectedDocument();
82 int selected; 82 int selected;
83 TabType currentTab() const; 83 TabType currentTab() const;
84 84
85 Entry currentEntry() const; 85 Entry currentEntry() const;
86 86
87public slots: 87public slots:
88 bool first(); 88 bool first();
89 bool last(); 89 bool last();
90 bool next(); 90 bool next();
91 bool prev(); 91 bool prev();
92 void writeDefaultPlaylist( ); 92 void writeDefaultPlaylist( );
93 QString currentFileListPathName() const; 93 QString currentFileListPathName() const;
94protected: 94protected:
95 void keyReleaseEvent( QKeyEvent *e); 95 void keyReleaseEvent( QKeyEvent *e);
96 96
97signals:
98 void skinSelected();
99
97private: 100private:
98 int defaultSkinIndex; 101 int defaultSkinIndex;
99 bool audioScan, videoScan, audioPopulated, videoPopulated; 102 bool audioScan, videoScan, audioPopulated, videoPopulated;
100 void readm3u(const QString &); 103 void readm3u(const QString &);
101 void readPls(const QString &); 104 void readPls(const QString &);
102 void initializeStates(); 105 void initializeStates();
103 void populateAudioView(); 106 void populateAudioView();
104 void populateVideoView(); 107 void populateVideoView();
105 108
106 QListView *currentFileListView() const; 109 QListView *currentFileListView() const;
107 110
108 bool inFileListMode() const; 111 bool inFileListMode() const;
109 112
110private slots: 113private slots:
111 void populateSkinsMenu(); 114 void populateSkinsMenu();
112 void skinsMenuActivated(int); 115 void skinsMenuActivated(int);
113 void pmViewActivated(int); 116 void pmViewActivated(int);
114 void writem3u(); 117 void writem3u();
115 void writeCurrentM3u(); 118 void writeCurrentM3u();
116 void scanForAudio(); 119 void scanForAudio();
117 void scanForVideo(); 120 void scanForVideo();
118 void openFile(); 121 void openFile();
119 void setDocument( const QString& fileref ); 122 void setDocument( const QString& fileref );
120 void addToSelection( const DocLnk& ); // Add a media file to the playlist 123 void addToSelection( const DocLnk& ); // Add a media file to the playlist
121 void addToSelection( QListViewItem* ); // Add a media file to the playlist 124 void addToSelection( QListViewItem* ); // Add a media file to the playlist
122 void clearList(); 125 void clearList();
123 void addAllToList(); 126 void addAllToList();
124 void addAllMusicToList(); 127 void addAllMusicToList();
125 void addAllVideoToList(); 128 void addAllVideoToList();
126 void saveList(); // Save the playlist 129 void saveList(); // Save the playlist
127 void loadList( const DocLnk &); // Load a playlist 130 void loadList( const DocLnk &); // Load a playlist
128 void playIt( QListViewItem *); 131 void playIt( QListViewItem *);
129 void btnPlay(bool); 132 void btnPlay(bool);
130 void deletePlaylist(); 133 void deletePlaylist();
131 void addSelected(); 134 void addSelected();
132 void removeSelected(); 135 void removeSelected();
133 void tabChanged(QWidget*); 136 void tabChanged(QWidget*);
134 void viewPressed( int, QListViewItem *, const QPoint&, int); 137 void viewPressed( int, QListViewItem *, const QPoint&, int);
135 void playlistViewPressed( int, QListViewItem *, const QPoint&, int); 138 void playlistViewPressed( int, QListViewItem *, const QPoint&, int);
136 void playSelected(); 139 void playSelected();
137 140
138}; 141};
139 142
140#endif // PLAY_LIST_WIDGET_H 143#endif // PLAY_LIST_WIDGET_H
141 144
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
index 071ef7c..b4ae783 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.cpp
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -1,93 +1,92 @@
1/* 1/*
2                This file is part of the Opie Project 2                This file is part of the Opie Project
3 3
4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org> 4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com> 5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> 6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
7 =. 7 =.
8 .=l. 8 .=l.
9           .>+-= 9           .>+-=
10 _;:,     .>    :=|. This program is free software; you can 10 _;:,     .>    :=|. This program is free software; you can
11.> <`_,   >  .   <= redistribute it and/or modify it under 11.> <`_,   >  .   <= redistribute it and/or modify it under
12:`=1 )Y*s>-.--   : the terms of the GNU General Public 12:`=1 )Y*s>-.--   : the terms of the GNU General Public
13.="- .-=="i,     .._ License as published by the Free Software 13.="- .-=="i,     .._ License as published by the Free Software
14 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
15     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
16    .%`+i>       _;_. 16    .%`+i>       _;_.
17    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
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..}^=.=       =       ; General Public License for more 22..}^=.=       =       ; 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  -_. . .   )=.  = General Public License along with 26  -_. . .   )=.  = 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 34
35#include <qtimer.h> 35#include <qtimer.h>
36#include <qmessagebox.h> 36#include <qmessagebox.h>
37#include <qpe/qcopenvelope_qws.h> 37#include <qpe/qcopenvelope_qws.h>
38#include <qpe/qpeapplication.h> 38#include <qpe/qpeapplication.h>
39#include "xinecontrol.h" 39#include "xinecontrol.h"
40#include "mediaplayerstate.h" 40#include "mediaplayerstate.h"
41#include "videowidget.h" 41#include "videowidget.h"
42 42
43extern VideoWidget *videoUI; 43XineControl::XineControl( VideoWidget *videoWidget, MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name )
44XineControl::XineControl( MediaPlayerState &_mediaPlayerState, QObject *parent, const char *name ) 44 : QObject( parent, name ), mediaPlayerState( _mediaPlayerState ), videoUI( videoWidget ) {
45 : QObject( parent, name ), mediaPlayerState( _mediaPlayerState ) {
46 45
47 libXine = new XINE::Lib( videoUI->vidWidget() ); 46 libXine = new XINE::Lib( videoUI->vidWidget() );
48 47
49 connect ( videoUI, SIGNAL( videoResized( const QSize & )), this, SLOT( videoResized ( const QSize & ) ) ); 48 connect ( videoUI, SIGNAL( videoResized( const QSize & )), this, SLOT( videoResized ( const QSize & ) ) );
50 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pause( bool ) ) ); 49 connect( &mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pause( bool ) ) );
51 connect( this, SIGNAL( positionChanged( long ) ), &mediaPlayerState, SLOT( updatePosition( long ) ) ); 50 connect( this, SIGNAL( positionChanged( long ) ), &mediaPlayerState, SLOT( updatePosition( long ) ) );
52 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) ); 51 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) );
53 connect( &mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), this, SLOT( setFullscreen( bool ) ) ); 52 connect( &mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), this, SLOT( setFullscreen( bool ) ) );
54 connect( &mediaPlayerState, SIGNAL( positionChanged( long ) ), this, SLOT( seekTo( long ) ) ); 53 connect( &mediaPlayerState, SIGNAL( positionChanged( long ) ), this, SLOT( seekTo( long ) ) );
55 connect( &mediaPlayerState, SIGNAL( videoGammaChanged( int ) ), this, SLOT( setGamma( int ) ) ); 54 connect( &mediaPlayerState, SIGNAL( videoGammaChanged( int ) ), this, SLOT( setGamma( int ) ) );
56 connect( libXine, SIGNAL( stopped() ), this, SLOT( nextMedia() ) ); 55 connect( libXine, SIGNAL( stopped() ), this, SLOT( nextMedia() ) );
57 56
58 disabledSuspendScreenSaver = FALSE; 57 disabledSuspendScreenSaver = FALSE;
59} 58}
60 59
61XineControl::~XineControl() { 60XineControl::~XineControl() {
62#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 61#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
63 if ( disabledSuspendScreenSaver ) { 62 if ( disabledSuspendScreenSaver ) {
64 disabledSuspendScreenSaver = FALSE; 63 disabledSuspendScreenSaver = FALSE;
65 // Re-enable the suspend mode 64 // Re-enable the suspend mode
66 QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; 65 QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
67 } 66 }
68#endif 67#endif
69 delete libXine; 68 delete libXine;
70} 69}
71 70
72void XineControl::play( const QString& fileName ) { 71void XineControl::play( const QString& fileName ) {
73 hasVideoChannel = FALSE; 72 hasVideoChannel = FALSE;
74 hasAudioChannel = FALSE; 73 hasAudioChannel = FALSE;
75 m_fileName = fileName; 74 m_fileName = fileName;
76 75
77 qDebug("<<FILENAME: " + fileName + ">>>>"); 76 qDebug("<<FILENAME: " + fileName + ">>>>");
78 77
79 if ( !libXine->play( fileName, 0, 0 ) ) { 78 if ( !libXine->play( fileName, 0, 0 ) ) {
80 QMessageBox::warning( 0l , tr( "Failure" ), getErrorCode() ); 79 QMessageBox::warning( 0l , tr( "Failure" ), getErrorCode() );
81 // toggle stop so the the play button is reset 80 // toggle stop so the the play button is reset
82 mediaPlayerState.setPlaying( false ); 81 mediaPlayerState.setPlaying( false );
83 return; 82 return;
84 } 83 }
85 mediaPlayerState.setPlaying( true ); 84 mediaPlayerState.setPlaying( true );
86 85
87 MediaPlayerState::DisplayType displayType; 86 MediaPlayerState::DisplayType displayType;
88 // qDebug( QString( "libXine->hasVideo() return : %1 ").arg( libXine->hasVideo() ) ); 87 // qDebug( QString( "libXine->hasVideo() return : %1 ").arg( libXine->hasVideo() ) );
89 if ( !libXine->hasVideo() ) { 88 if ( !libXine->hasVideo() ) {
90 displayType = MediaPlayerState::Audio; 89 displayType = MediaPlayerState::Audio;
91 qDebug("HAS AUDIO"); 90 qDebug("HAS AUDIO");
92 libXine->setShowVideo( false ); 91 libXine->setShowVideo( false );
93 hasAudioChannel = TRUE; 92 hasAudioChannel = TRUE;
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h
index 00486f2..24e966b 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.h
+++ b/noncore/multimedia/opieplayer2/xinecontrol.h
@@ -1,119 +1,123 @@
1/* 1/*
2                This file is part of the Opie Project 2                This file is part of the Opie Project
3 3
4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org> 4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com> 5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> 6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
7 =. 7 =.
8 .=l. 8 .=l.
9           .>+-= 9           .>+-=
10 _;:,     .>    :=|. This program is free software; you can 10 _;:,     .>    :=|. This program is free software; you can
11.> <`_,   >  .   <= redistribute it and/or modify it under 11.> <`_,   >  .   <= redistribute it and/or modify it under
12:`=1 )Y*s>-.--   : the terms of the GNU General Public 12:`=1 )Y*s>-.--   : the terms of the GNU General Public
13.="- .-=="i,     .._ License as published by the Free Software 13.="- .-=="i,     .._ License as published by the Free Software
14 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
15     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
16    .%`+i>       _;_. 16    .%`+i>       _;_.
17    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
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..}^=.=       =       ; General Public License for more 22..}^=.=       =       ; 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  -_. . .   )=.  = General Public License along with 26  -_. . .   )=.  = 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 XINECONTROL_H 34#ifndef XINECONTROL_H
35#define XINECONTROL_H 35#define XINECONTROL_H
36 36
37#include "lib.h" 37#include "lib.h"
38#include <qobject.h> 38#include <qobject.h>
39 39
40#include "mediaplayerstate.h" 40#include "mediaplayerstate.h"
41 41
42class VideoWidget;
43
42class XineControl : public QObject { 44class XineControl : public QObject {
43 Q_OBJECT 45 Q_OBJECT
44public: 46public:
45 XineControl( MediaPlayerState &_mediaPlayerState, QObject *parent = 0, const char *name =0 ); 47 XineControl( VideoWidget *videoWidget, MediaPlayerState &_mediaPlayerState, QObject *parent = 0, const char *name =0 );
46 ~XineControl(); 48 ~XineControl();
47 49
48 bool hasVideo() const { return hasVideoChannel; } 50 bool hasVideo() const { return hasVideoChannel; }
49 bool hasAudio() const { return hasAudioChannel; } 51 bool hasAudio() const { return hasAudioChannel; }
50 52
51public slots: 53public slots:
52 void play( const QString& fileName ); 54 void play( const QString& fileName );
53 void stop( bool ); 55 void stop( bool );
54 56
55 /** 57 /**
56 * Pause the media stream 58 * Pause the media stream
57 * @param if pause or not 59 * @param if pause or not
58 */ 60 */
59 void pause( bool ); 61 void pause( bool );
60 62
61 /** 63 /**
62 * Set videos fullscreen 64 * Set videos fullscreen
63 * @param yes or no 65 * @param yes or no
64 */ 66 */
65 void setFullscreen( bool ); 67 void setFullscreen( bool );
66 68
67 /** 69 /**
68 * 70 *
69 */ 71 */
70 long currentTime(); 72 long currentTime();
71 void seekTo( long ); 73 void seekTo( long );
72 // get length of media file and set it 74 // get length of media file and set it
73 void length(); 75 void length();
74 long position(); 76 long position();
75 77
76 /** 78 /**
77 * Proceed to the next media file in playlist 79 * Proceed to the next media file in playlist
78 */ 80 */
79 void nextMedia(); 81 void nextMedia();
80 82
81 /** 83 /**
82 * Get as much info about the stream from xine as possible 84 * Get as much info about the stream from xine as possible
83 */ 85 */
84 QString getMetaInfo(); 86 QString getMetaInfo();
85 87
86 /** 88 /**
87 * get the error code and "translate" it for the user 89 * get the error code and "translate" it for the user
88 * 90 *
89 */ 91 */
90 QString getErrorCode(); 92 QString getErrorCode();
91 93
92 94
93 void videoResized ( const QSize &s ); 95 void videoResized ( const QSize &s );
94 96
95 /** 97 /**
96 * Set the gamma value of the video output 98 * Set the gamma value of the video output
97 * @param int value between -100 and 100, 0 is original 99 * @param int value between -100 and 100, 0 is original
98 */ 100 */
99 void setGamma( int ); 101 void setGamma( int );
100 102
101 103
102private: 104private:
103 XINE::Lib *libXine; 105 XINE::Lib *libXine;
104 long m_currentTime; 106 long m_currentTime;
105 long m_position; 107 long m_position;
106 int m_length; 108 int m_length;
107 QString m_fileName; 109 QString m_fileName;
108 bool disabledSuspendScreenSaver : 1; 110 bool disabledSuspendScreenSaver : 1;
109 bool hasVideoChannel : 1; 111 bool hasVideoChannel : 1;
110 bool hasAudioChannel : 1; 112 bool hasAudioChannel : 1;
111 MediaPlayerState &mediaPlayerState; 113 MediaPlayerState &mediaPlayerState;
112 114
113signals: 115signals:
114 void positionChanged( long ); 116 void positionChanged( long );
115 117
118private:
119 VideoWidget *videoUI;
116}; 120};
117 121
118 122
119#endif 123#endif