summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-08-20 12:27:14 (UTC)
committer llornkcor <llornkcor>2002-08-20 12:27:14 (UTC)
commit41fe19a4e2e808d48429c84f4b7dd6b9af797ead (patch) (unidiff)
tree3f9b0c91c34c3d81feebd43e904e74563ba2229c
parentdfd3bcb3dd20cc72487c527d135e076a0ff78b25 (diff)
downloadopie-41fe19a4e2e808d48429c84f4b7dd6b9af797ead.zip
opie-41fe19a4e2e808d48429c84f4b7dd6b9af797ead.tar.gz
opie-41fe19a4e2e808d48429c84f4b7dd6b9af797ead.tar.bz2
fix coredump on exit
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp8
3 files changed, 8 insertions, 8 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 0526c2a..5503705 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -1,301 +1,301 @@
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 6
7#include <qmainwindow.h> 7#include <qmainwindow.h>
8#include <qmessagebox.h> 8#include <qmessagebox.h>
9#include <qwidgetstack.h> 9#include <qwidgetstack.h>
10#include <qfile.h> 10#include <qfile.h>
11 11
12#include "mediaplayer.h" 12#include "mediaplayer.h"
13#include "playlistwidget.h" 13#include "playlistwidget.h"
14#include "audiowidget.h" 14#include "audiowidget.h"
15#include "videowidget.h" 15#include "videowidget.h"
16#include "volumecontrol.h" 16#include "volumecontrol.h"
17 17
18#include "mediaplayerstate.h" 18#include "mediaplayerstate.h"
19 19
20// for setBacklight() 20// for setBacklight()
21#include <linux/fb.h> 21#include <linux/fb.h>
22#include <sys/file.h> 22#include <sys/file.h>
23#include <sys/ioctl.h> 23#include <sys/ioctl.h>
24 24
25 25
26extern AudioWidget *audioUI; 26extern AudioWidget *audioUI;
27extern VideoWidget *videoUI; 27extern VideoWidget *videoUI;
28extern PlayListWidget *playList; 28extern PlayListWidget *playList;
29extern MediaPlayerState *mediaPlayerState; 29extern MediaPlayerState *mediaPlayerState;
30 30
31 31
32#define FBIOBLANK 0x4611 32#define FBIOBLANK 0x4611
33 33
34MediaPlayer::MediaPlayer( QObject *parent, const char *name ) 34MediaPlayer::MediaPlayer( QObject *parent, const char *name )
35 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) { 35 : QObject( parent, name ), volumeDirection( 0 ), currentFile( NULL ) {
36 36
37 playList->setCaption(tr("OpiePlayer: Initializating")); 37 playList->setCaption(tr("OpiePlayer: Initializating"));
38 38
39 qApp->processEvents(); 39 qApp->processEvents();
40 // QPEApplication::grabKeyboard(); // EVIL 40 // QPEApplication::grabKeyboard(); // EVIL
41 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 41 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
42 42
43 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 43 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
44 44
45 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 45 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
46 46
47 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 47 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
48 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 48 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
49 connect( mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) ); 49 connect( mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) );
50 50
51 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 51 connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
52 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 52 connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
53 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 53 connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
54 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 54 connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
55 55
56 connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); 56 connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
57 connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); 57 connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
58 connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); 58 connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
59 connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); 59 connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
60 60
61 volControl = new VolumeControl; 61 volControl = new VolumeControl;
62 xineControl = new XineControl(); 62 xineControl = new XineControl();
63 playList->setCaption(tr("OpiePlayer")); 63 playList->setCaption(tr("OpiePlayer"));
64} 64}
65 65
66MediaPlayer::~MediaPlayer() { 66MediaPlayer::~MediaPlayer() {
67 delete xineControl; 67 delete xineControl;
68 delete volControl; 68 delete volControl;
69} 69}
70 70
71void MediaPlayer::pauseCheck( bool b ) { 71void MediaPlayer::pauseCheck( bool b ) {
72 if ( b && !mediaPlayerState->playing() ) { 72 if ( b && !mediaPlayerState->playing() ) {
73 mediaPlayerState->setPaused( FALSE ); 73 mediaPlayerState->setPaused( FALSE );
74 } 74 }
75} 75}
76 76
77void MediaPlayer::play() { 77void MediaPlayer::play() {
78 mediaPlayerState->setPlaying( FALSE ); 78 mediaPlayerState->setPlaying( FALSE );
79 mediaPlayerState->setPlaying( TRUE ); 79 mediaPlayerState->setPlaying( TRUE );
80} 80}
81 81
82void MediaPlayer::setPlaying( bool play ) { 82void MediaPlayer::setPlaying( bool play ) {
83 if ( !play ) { 83 if ( !play ) {
84 return; 84 return;
85 } 85 }
86 86
87 if ( mediaPlayerState->paused() ) { 87 if ( mediaPlayerState->paused() ) {
88 mediaPlayerState->setPaused( FALSE ); 88 mediaPlayerState->setPaused( FALSE );
89 return; 89 return;
90 } 90 }
91 91
92 const DocLnk *playListCurrent = playList->current(); 92 const DocLnk *playListCurrent = playList->current();
93 if ( playListCurrent != NULL ) { 93 if ( playListCurrent != NULL ) {
94 currentFile = playListCurrent; 94 currentFile = playListCurrent;
95 } 95 }
96 96
97 xineControl->play( currentFile->file() ); 97 xineControl->play( currentFile->file() );
98 98
99 long seconds = mediaPlayerState->length();// 99 long seconds = mediaPlayerState->length();//
100 QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); 100 QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
101 qDebug(time); 101 qDebug(time);
102 102
103 QString tickerText; 103 QString tickerText;
104 if( currentFile->file().left(4) == "http" ) 104 if( currentFile->file().left(4) == "http" )
105 tickerText= tr( " File: " ) + currentFile->name(); 105 tickerText= tr( " File: " ) + currentFile->name();
106 else 106 else
107 tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time; 107 tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time;
108 108
109 audioUI->setTickerText( currentFile->file( ) ); 109 audioUI->setTickerText( currentFile->file( ) );
110 110
111} 111}
112 112
113 113
114void MediaPlayer::prev() { 114void MediaPlayer::prev() {
115 if ( playList->prev() ) { 115 if ( playList->prev() ) {
116 play(); 116 play();
117 } else if ( mediaPlayerState->looping() ) { 117 } else if ( mediaPlayerState->looping() ) {
118 if ( playList->last() ) { 118 if ( playList->last() ) {
119 play(); 119 play();
120 } 120 }
121 } else { 121 } else {
122 mediaPlayerState->setList(); 122 mediaPlayerState->setList();
123 } 123 }
124} 124}
125 125
126 126
127void MediaPlayer::next() { 127void MediaPlayer::next() {
128 if ( playList->next() ) { 128 if ( playList->next() ) {
129 play(); 129 play();
130 } else if ( mediaPlayerState->looping() ) { 130 } else if ( mediaPlayerState->looping() ) {
131 if ( playList->first() ) { 131 if ( playList->first() ) {
132 play(); 132 play();
133 } 133 }
134 } else { 134 } else {
135 mediaPlayerState->setList(); 135 mediaPlayerState->setList();
136 } 136 }
137} 137}
138 138
139 139
140void MediaPlayer::startDecreasingVolume() { 140void MediaPlayer::startDecreasingVolume() {
141 volumeDirection = -1; 141 volumeDirection = -1;
142 startTimer( 100 ); 142 startTimer( 100 );
143 volControl->decVol(2); 143 volControl->decVol(2);
144} 144}
145 145
146 146
147void MediaPlayer::startIncreasingVolume() { 147void MediaPlayer::startIncreasingVolume() {
148 volumeDirection = +1; 148 volumeDirection = +1;
149 startTimer( 100 ); 149 startTimer( 100 );
150 volControl->incVol(2); 150 volControl->incVol(2);
151} 151}
152 152
153 153
154bool drawnOnScreenDisplay = FALSE; 154bool drawnOnScreenDisplay = FALSE;
155unsigned int onScreenDisplayVolume = 0; 155unsigned int onScreenDisplayVolume = 0;
156const int yoff = 110; 156const int yoff = 110;
157 157
158void MediaPlayer::stopChangingVolume() { 158void MediaPlayer::stopChangingVolume() {
159 killTimers(); 159 killTimers();
160 // Get rid of the on-screen display stuff 160 // Get rid of the on-screen display stuff
161 drawnOnScreenDisplay = FALSE; 161 drawnOnScreenDisplay = FALSE;
162 onScreenDisplayVolume = 0; 162 onScreenDisplayVolume = 0;
163 int w=0; 163 int w=0;
164 int h=0; 164 int h=0;
165 if( !xineControl->hasVideo()) { 165 if( !xineControl->hasVideo()) {
166 w = audioUI->width(); 166 w = audioUI->width();
167 h = audioUI->height(); 167 h = audioUI->height();
168 audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE ); 168 audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
169 } else { 169 } else {
170 w = videoUI->width(); 170 w = videoUI->width();
171 h = videoUI->height(); 171 h = videoUI->height();
172 videoUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE ); 172 videoUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
173 } 173 }
174} 174}
175 175
176 176
177void MediaPlayer::timerEvent( QTimerEvent * ) { 177void MediaPlayer::timerEvent( QTimerEvent * ) {
178 if ( volumeDirection == +1 ) { 178 if ( volumeDirection == +1 ) {
179 volControl->incVol(2); 179 volControl->incVol(2);
180 } else if ( volumeDirection == -1 ) { 180 } else if ( volumeDirection == -1 ) {
181 volControl->decVol(2); 181 volControl->decVol(2);
182 } 182 }
183 183
184 184
185 // TODO FIXME 185 // TODO FIXME
186 unsigned int v= 0; 186 unsigned int v= 0;
187 v = volControl->volume(); 187 v = volControl->volume();
188 v = v / 10; 188 v = v / 10;
189 189
190 if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) { 190 if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) {
191 return; 191 return;
192 } 192 }
193 193
194 int w=0; int h=0; 194 int w=0; int h=0;
195 if( !xineControl->hasVideo()) { 195 if( !xineControl->hasVideo()) {
196 w = audioUI->width(); 196 w = audioUI->width();
197 h = audioUI->height(); 197 h = audioUI->height();
198 198
199 if ( drawnOnScreenDisplay ) { 199 if ( drawnOnScreenDisplay ) {
200 if ( onScreenDisplayVolume > v ) { 200 if ( onScreenDisplayVolume > v ) {
201 audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE ); 201 audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
202 } 202 }
203 } 203 }
204 drawnOnScreenDisplay = TRUE; 204 drawnOnScreenDisplay = TRUE;
205 onScreenDisplayVolume = v; 205 onScreenDisplayVolume = v;
206 QPainter p( audioUI ); 206 QPainter p( audioUI );
207 p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); 207 p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
208 p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); 208 p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
209 209
210 QFont f; 210 QFont f;
211 f.setPixelSize( 20 ); 211 f.setPixelSize( 20 );
212 f.setBold( TRUE ); 212 f.setBold( TRUE );
213 p.setFont( f ); 213 p.setFont( f );
214 p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); 214 p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
215 215
216 for ( unsigned int i = 0; i < 10; i++ ) { 216 for ( unsigned int i = 0; i < 10; i++ ) {
217 if ( v > i ) { 217 if ( v > i ) {
218 p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 ); 218 p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
219 } else { 219 } else {
220 p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 ); 220 p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
221 } 221 }
222 } 222 }
223 } else { 223 } else {
224 w = videoUI->width(); 224 w = videoUI->width();
225 h = videoUI->height(); 225 h = videoUI->height();
226 226
227 if ( drawnOnScreenDisplay ) { 227 if ( drawnOnScreenDisplay ) {
228 if ( onScreenDisplayVolume > v ) { 228 if ( onScreenDisplayVolume > v ) {
229 videoUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE ); 229 videoUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
230 } 230 }
231 } 231 }
232 drawnOnScreenDisplay = TRUE; 232 drawnOnScreenDisplay = TRUE;
233 onScreenDisplayVolume = v; 233 onScreenDisplayVolume = v;
234 QPainter p( videoUI ); 234 QPainter p( videoUI );
235 p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); 235 p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
236 p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); 236 p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
237 237
238 QFont f; 238 QFont f;
239 f.setPixelSize( 20 ); 239 f.setPixelSize( 20 );
240 f.setBold( TRUE ); 240 f.setBold( TRUE );
241 p.setFont( f ); 241 p.setFont( f );
242 p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); 242 p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
243 243
244 for ( unsigned int i = 0; i < 10; i++ ) { 244 for ( unsigned int i = 0; i < 10; i++ ) {
245 if ( v > i ) { 245 if ( v > i ) {
246 p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 ); 246 p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
247 } else { 247 } else {
248 p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 ); 248 p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
249 } 249 }
250 } 250 }
251 } 251 }
252} 252}
253 253
254 254
255void MediaPlayer::blank( bool b ) { 255void MediaPlayer::blank( bool b ) {
256 fd=open("/dev/fb0",O_RDWR); 256 fd=open("/dev/fb0",O_RDWR);
257 if (fd != -1) { 257 if (fd != -1) {
258 if ( b ) { 258 if ( b ) {
259 qDebug("do blanking"); 259 qDebug("do blanking");
260 ioctl( fd, FBIOBLANK, 3 ); 260 ioctl( fd, FBIOBLANK, 3 );
261 isBlanked = TRUE; 261 isBlanked = TRUE;
262 } else { 262 } else {
263 qDebug("do unblanking"); 263 qDebug("do unblanking");
264 ioctl( fd, FBIOBLANK, 0); 264 ioctl( fd, FBIOBLANK, 0);
265 isBlanked = FALSE; 265 isBlanked = FALSE;
266 } 266 }
267 close( fd ); 267 close( fd );
268 } else { 268 } else {
269 qDebug("<< /dev/fb0 could not be opened >>"); 269 qDebug("<< /dev/fb0 could not be opened >>");
270 } 270 }
271} 271}
272 272
273void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { 273void MediaPlayer::keyReleaseEvent( QKeyEvent *e) {
274 switch ( e->key() ) { 274 switch ( e->key() ) {
275////////////////////////////// Zaurus keys 275////////////////////////////// Zaurus keys
276 case Key_Home: 276 case Key_Home:
277 break; 277 break;
278 case Key_F9: //activity 278 case Key_F9: //activity
279 break; 279 break;
280 case Key_F10: //contacts 280 case Key_F10: //contacts
281 break; 281 break;
282 case Key_F11: //menu 282 case Key_F11: //menu
283 break; 283 break;
284 case Key_F12: //home 284 case Key_F12: //home
285 qDebug("Blank here"); 285 qDebug("Blank here");
286// mediaPlayerState->toggleBlank(); 286// mediaPlayerState->toggleBlank();
287 break; 287 break;
288 case Key_F13: //mail 288 case Key_F13: //mail
289 qDebug("Blank here"); 289 qDebug("Blank here");
290 // mediaPlayerState->toggleBlank(); 290 // mediaPlayerState->toggleBlank();
291 break; 291 break;
292 } 292 }
293} 293}
294 294
295void MediaPlayer::cleanUp() {// this happens on closing 295void MediaPlayer::cleanUp() {// this happens on closing
296 Config cfg( "OpiePlayer" ); 296 Config cfg( "OpiePlayer" );
297 playList->writeConfig( cfg ); 297 playList->writeConfig( cfg );
298 298
299// QPEApplication::grabKeyboard(); 299// QPEApplication::grabKeyboard();
300// QPEApplication::ungrabKeyboard(); 300// QPEApplication::ungrabKeyboard();
301} 301}
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
index eaedaa5..d984022 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
@@ -1,282 +1,282 @@
1#include <qpe/qpeapplication.h> 1#include <qpe/qpeapplication.h>
2#include <qpe/qlibrary.h> 2#include <qpe/qlibrary.h>
3#include <qpe/config.h> 3#include <qpe/config.h>
4#include <qvaluelist.h> 4#include <qvaluelist.h>
5#include <qobject.h> 5#include <qobject.h>
6#include <qdir.h> 6#include <qdir.h>
7#include "mediaplayerstate.h" 7#include "mediaplayerstate.h"
8 8
9 9
10 10
11//#define MediaPlayerDebug(x) qDebug x 11//#define MediaPlayerDebug(x) qDebug x
12#define MediaPlayerDebug(x) 12#define MediaPlayerDebug(x)
13 13
14 14
15MediaPlayerState::MediaPlayerState( QObject *parent, const char *name ) 15MediaPlayerState::MediaPlayerState( QObject *parent, const char *name )
16 : QObject( parent, name ) { 16 : QObject( parent, name ) {
17 Config cfg( "OpiePlayer" ); 17 Config cfg( "OpiePlayer" );
18 readConfig( cfg ); 18 readConfig( cfg );
19 isStreaming = false; 19 isStreaming = false;
20} 20}
21 21
22 22
23MediaPlayerState::~MediaPlayerState() { 23MediaPlayerState::~MediaPlayerState() {
24 Config cfg( "OpiePlayer" ); 24// Config cfg( "OpiePlayer" );
25 writeConfig( cfg ); 25// writeConfig( cfg );
26 26
27} 27}
28 28
29 29
30void MediaPlayerState::readConfig( Config& cfg ) { 30void MediaPlayerState::readConfig( Config& cfg ) {
31 cfg.setGroup("Options"); 31 cfg.setGroup("Options");
32 isFullscreen = cfg.readBoolEntry( "FullScreen" ); 32 isFullscreen = cfg.readBoolEntry( "FullScreen" );
33 isScaled = cfg.readBoolEntry( "Scaling" ); 33 isScaled = cfg.readBoolEntry( "Scaling" );
34 isLooping = cfg.readBoolEntry( "Looping" ); 34 isLooping = cfg.readBoolEntry( "Looping" );
35 isShuffled = cfg.readBoolEntry( "Shuffle" ); 35 isShuffled = cfg.readBoolEntry( "Shuffle" );
36 usePlaylist = cfg.readBoolEntry( "UsePlayList" ); 36 usePlaylist = cfg.readBoolEntry( "UsePlayList" );
37 usePlaylist = TRUE; 37 usePlaylist = TRUE;
38 isPlaying = FALSE; 38 isPlaying = FALSE;
39 isStreaming = FALSE; 39 isStreaming = FALSE;
40 isPaused = FALSE; 40 isPaused = FALSE;
41 curPosition = 0; 41 curPosition = 0;
42 curLength = 0; 42 curLength = 0;
43 curView = 'l'; 43 curView = 'l';
44} 44}
45 45
46 46
47void MediaPlayerState::writeConfig( Config& cfg ) const { 47void MediaPlayerState::writeConfig( Config& cfg ) const {
48 cfg.setGroup("Options"); 48 cfg.setGroup("Options");
49 cfg.writeEntry("FullScreen", isFullscreen ); 49 cfg.writeEntry("FullScreen", isFullscreen );
50 cfg.writeEntry("Scaling", isScaled ); 50 cfg.writeEntry("Scaling", isScaled );
51 cfg.writeEntry("Looping", isLooping ); 51 cfg.writeEntry("Looping", isLooping );
52 cfg.writeEntry("Shuffle", isShuffled ); 52 cfg.writeEntry("Shuffle", isShuffled );
53 cfg.writeEntry("UsePlayList", usePlaylist ); 53 cfg.writeEntry("UsePlayList", usePlaylist );
54} 54}
55 55
56 56
57// public stuff 57// public stuff
58 58
59 59
60bool MediaPlayerState::streaming() { 60bool MediaPlayerState::streaming() {
61 return isStreaming; 61 return isStreaming;
62} 62}
63 63
64bool MediaPlayerState::fullscreen() { 64bool MediaPlayerState::fullscreen() {
65 return isFullscreen; 65 return isFullscreen;
66} 66}
67 67
68bool MediaPlayerState::scaled() { 68bool MediaPlayerState::scaled() {
69 return isScaled; 69 return isScaled;
70} 70}
71 71
72bool MediaPlayerState::looping() { 72bool MediaPlayerState::looping() {
73 return isLooping; 73 return isLooping;
74} 74}
75 75
76bool MediaPlayerState::shuffled() { 76bool MediaPlayerState::shuffled() {
77 return isShuffled; 77 return isShuffled;
78} 78}
79 79
80 80
81bool MediaPlayerState:: playlist() { 81bool MediaPlayerState:: playlist() {
82 return usePlaylist; 82 return usePlaylist;
83} 83}
84 84
85bool MediaPlayerState::paused() { 85bool MediaPlayerState::paused() {
86 return isPaused; 86 return isPaused;
87} 87}
88 88
89bool MediaPlayerState::playing() { 89bool MediaPlayerState::playing() {
90 return isPlaying; 90 return isPlaying;
91} 91}
92 92
93bool MediaPlayerState::stop() { 93bool MediaPlayerState::stop() {
94 return isStoped; 94 return isStoped;
95} 95}
96 96
97long MediaPlayerState::position() { 97long MediaPlayerState::position() {
98 return curPosition; 98 return curPosition;
99} 99}
100 100
101long MediaPlayerState::length() { 101long MediaPlayerState::length() {
102 return curLength; 102 return curLength;
103} 103}
104 104
105char MediaPlayerState::view() { 105char MediaPlayerState::view() {
106 return curView; 106 return curView;
107} 107}
108 108
109// slots 109// slots
110void MediaPlayerState::setIsStreaming( bool b ) { 110void MediaPlayerState::setIsStreaming( bool b ) {
111 111
112 if ( isStreaming == b ) { 112 if ( isStreaming == b ) {
113 return; 113 return;
114 } 114 }
115 isStreaming = b; 115 isStreaming = b;
116} 116}
117 117
118 118
119void MediaPlayerState::setFullscreen( bool b ) { 119void MediaPlayerState::setFullscreen( bool b ) {
120 if ( isFullscreen == b ) { 120 if ( isFullscreen == b ) {
121 return; 121 return;
122 } 122 }
123 isFullscreen = b; 123 isFullscreen = b;
124 emit fullscreenToggled(b); 124 emit fullscreenToggled(b);
125} 125}
126 126
127 127
128void MediaPlayerState::setBlanked( bool b ) { 128void MediaPlayerState::setBlanked( bool b ) {
129 if ( isBlanked == b ) { 129 if ( isBlanked == b ) {
130 return; 130 return;
131 } 131 }
132 isBlanked = b; 132 isBlanked = b;
133 emit blankToggled(b); 133 emit blankToggled(b);
134} 134}
135 135
136 136
137void MediaPlayerState::setScaled( bool b ) { 137void MediaPlayerState::setScaled( bool b ) {
138 if ( isScaled == b ) { 138 if ( isScaled == b ) {
139 return; 139 return;
140 } 140 }
141 isScaled = b; 141 isScaled = b;
142 emit scaledToggled(b); 142 emit scaledToggled(b);
143} 143}
144 144
145void MediaPlayerState::setLooping( bool b ) { 145void MediaPlayerState::setLooping( bool b ) {
146 if ( isLooping == b ) { 146 if ( isLooping == b ) {
147 return; 147 return;
148 } 148 }
149 isLooping = b; 149 isLooping = b;
150 emit loopingToggled(b); 150 emit loopingToggled(b);
151} 151}
152 152
153void MediaPlayerState::setShuffled( bool b ) { 153void MediaPlayerState::setShuffled( bool b ) {
154 if ( isShuffled == b ) { 154 if ( isShuffled == b ) {
155 return; 155 return;
156 } 156 }
157 isShuffled = b; 157 isShuffled = b;
158 emit shuffledToggled(b); 158 emit shuffledToggled(b);
159} 159}
160 160
161void MediaPlayerState::setPlaylist( bool b ) { 161void MediaPlayerState::setPlaylist( bool b ) {
162 if ( usePlaylist == b ) { 162 if ( usePlaylist == b ) {
163 return; 163 return;
164 } 164 }
165 usePlaylist = b; 165 usePlaylist = b;
166 emit playlistToggled(b); 166 emit playlistToggled(b);
167} 167}
168 168
169void MediaPlayerState::setPaused( bool b ) { 169void MediaPlayerState::setPaused( bool b ) {
170 if ( isPaused == b ) { 170 if ( isPaused == b ) {
171 isPaused = FALSE; 171 isPaused = FALSE;
172 emit pausedToggled(FALSE); 172 emit pausedToggled(FALSE);
173 return; 173 return;
174 } 174 }
175 isPaused = b; 175 isPaused = b;
176 emit pausedToggled(b); 176 emit pausedToggled(b);
177} 177}
178 178
179void MediaPlayerState::setPlaying( bool b ) { 179void MediaPlayerState::setPlaying( bool b ) {
180 if ( isPlaying == b ) { 180 if ( isPlaying == b ) {
181 return; 181 return;
182 } 182 }
183 isPlaying = b; 183 isPlaying = b;
184 isStoped = !b; 184 isStoped = !b;
185 emit playingToggled(b); 185 emit playingToggled(b);
186} 186}
187 187
188void MediaPlayerState::setStop( bool b ) { 188void MediaPlayerState::setStop( bool b ) {
189 if ( isStoped == b ) { 189 if ( isStoped == b ) {
190 return; 190 return;
191 } 191 }
192 isStoped = b; 192 isStoped = b;
193 emit stopToggled(b); 193 emit stopToggled(b);
194} 194}
195 195
196void MediaPlayerState::setPosition( long p ) { 196void MediaPlayerState::setPosition( long p ) {
197 if ( curPosition == p ) { 197 if ( curPosition == p ) {
198 return; 198 return;
199 } 199 }
200 curPosition = p; 200 curPosition = p;
201 emit positionChanged(p); 201 emit positionChanged(p);
202} 202}
203 203
204void MediaPlayerState::updatePosition( long p ){ 204void MediaPlayerState::updatePosition( long p ){
205 if ( curPosition == p ) { 205 if ( curPosition == p ) {
206 return; 206 return;
207 } 207 }
208 curPosition = p; 208 curPosition = p;
209 emit positionUpdated(p); 209 emit positionUpdated(p);
210} 210}
211 211
212void MediaPlayerState::setLength( long l ) { 212void MediaPlayerState::setLength( long l ) {
213 if ( curLength == l ) { 213 if ( curLength == l ) {
214 return; 214 return;
215 } 215 }
216 curLength = l; 216 curLength = l;
217 emit lengthChanged(l); 217 emit lengthChanged(l);
218} 218}
219 219
220void MediaPlayerState::setView( char v ) { 220void MediaPlayerState::setView( char v ) {
221 if ( curView == v ) { 221 if ( curView == v ) {
222 return; 222 return;
223 } 223 }
224 curView = v; 224 curView = v;
225 emit viewChanged(v); 225 emit viewChanged(v);
226} 226}
227 227
228void MediaPlayerState::setPrev(){ 228void MediaPlayerState::setPrev(){
229 emit prev(); 229 emit prev();
230} 230}
231 231
232void MediaPlayerState::setNext() { 232void MediaPlayerState::setNext() {
233 emit next(); 233 emit next();
234} 234}
235 235
236void MediaPlayerState::setList() { 236void MediaPlayerState::setList() {
237 setPlaying( FALSE ); 237 setPlaying( FALSE );
238 setView('l'); 238 setView('l');
239} 239}
240 240
241void MediaPlayerState::setVideo() { 241void MediaPlayerState::setVideo() {
242 setView('v'); 242 setView('v');
243} 243}
244 244
245void MediaPlayerState::setAudio() { 245void MediaPlayerState::setAudio() {
246 setView('a'); 246 setView('a');
247} 247}
248 248
249void MediaPlayerState::toggleFullscreen() { 249void MediaPlayerState::toggleFullscreen() {
250 setFullscreen( !isFullscreen ); 250 setFullscreen( !isFullscreen );
251} 251}
252 252
253void MediaPlayerState::toggleScaled() { 253void MediaPlayerState::toggleScaled() {
254 setScaled( !isScaled); 254 setScaled( !isScaled);
255} 255}
256 256
257void MediaPlayerState::toggleLooping() { 257void MediaPlayerState::toggleLooping() {
258 setLooping( !isLooping); 258 setLooping( !isLooping);
259} 259}
260 260
261void MediaPlayerState::toggleShuffled() { 261void MediaPlayerState::toggleShuffled() {
262 setShuffled( !isShuffled); 262 setShuffled( !isShuffled);
263} 263}
264 264
265void MediaPlayerState::togglePlaylist() { 265void MediaPlayerState::togglePlaylist() {
266 setPlaylist( !usePlaylist); 266 setPlaylist( !usePlaylist);
267} 267}
268 268
269void MediaPlayerState::togglePaused() { 269void MediaPlayerState::togglePaused() {
270 setPaused( !isPaused); 270 setPaused( !isPaused);
271} 271}
272 272
273void MediaPlayerState::togglePlaying() { 273void MediaPlayerState::togglePlaying() {
274 setPlaying( !isPlaying); 274 setPlaying( !isPlaying);
275} 275}
276 276
277void MediaPlayerState::toggleBlank() { 277void MediaPlayerState::toggleBlank() {
278 setBlanked( !isBlanked); 278 setBlanked( !isBlanked);
279} 279}
280 280
281 281
282 282
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index bc9b166..75e2979 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -1,1247 +1,1247 @@
1 1
2#define QTOPIA_INTERNAL_FSLP 2#define QTOPIA_INTERNAL_FSLP
3#include <qpe/qpemenubar.h> 3#include <qpe/qpemenubar.h>
4#include <qpe/qpetoolbar.h> 4#include <qpe/qpetoolbar.h>
5#include <qpe/fileselector.h> 5#include <qpe/fileselector.h>
6#include <qpe/qpeapplication.h> 6#include <qpe/qpeapplication.h>
7#include <qpe/lnkproperties.h> 7#include <qpe/lnkproperties.h>
8#include <qpe/storage.h> 8#include <qpe/storage.h>
9 9
10#include <qpe/applnk.h> 10#include <qpe/applnk.h>
11#include <qpopupmenu.h> 11#include <qpopupmenu.h>
12#include <qpe/config.h> 12#include <qpe/config.h>
13#include <qpe/global.h> 13#include <qpe/global.h>
14#include <qpe/resource.h> 14#include <qpe/resource.h>
15#include <qaction.h> 15#include <qaction.h>
16#include <qcursor.h> 16#include <qcursor.h>
17#include <qimage.h> 17#include <qimage.h>
18#include <qfile.h> 18#include <qfile.h>
19#include <qdir.h> 19#include <qdir.h>
20#include <qlayout.h> 20#include <qlayout.h>
21#include <qlabel.h> 21#include <qlabel.h>
22#include <qlist.h> 22#include <qlist.h>
23#include <qlistbox.h> 23#include <qlistbox.h>
24#include <qmainwindow.h> 24#include <qmainwindow.h>
25#include <qmessagebox.h> 25#include <qmessagebox.h>
26#include <qtoolbutton.h> 26#include <qtoolbutton.h>
27#include <qtabwidget.h> 27#include <qtabwidget.h>
28#include <qlistview.h> 28#include <qlistview.h>
29#include <qpoint.h> 29#include <qpoint.h>
30#include <qlineedit.h> 30#include <qlineedit.h>
31#include <qpushbutton.h> 31#include <qpushbutton.h>
32#include <qregexp.h> 32#include <qregexp.h>
33#include <qtextstream.h> 33#include <qtextstream.h>
34 34
35 35
36#include "playlistselection.h" 36#include "playlistselection.h"
37#include "playlistwidget.h" 37#include "playlistwidget.h"
38#include "mediaplayerstate.h" 38#include "mediaplayerstate.h"
39 39
40#include "inputDialog.h" 40#include "inputDialog.h"
41 41
42#include <stdlib.h> 42#include <stdlib.h>
43#include "audiowidget.h" 43#include "audiowidget.h"
44#include "videowidget.h" 44#include "videowidget.h"
45 45
46#define BUTTONS_ON_TOOLBAR 46#define BUTTONS_ON_TOOLBAR
47#define SIDE_BUTTONS 47#define SIDE_BUTTONS
48#define CAN_SAVE_LOAD_PLAYLISTS 48#define CAN_SAVE_LOAD_PLAYLISTS
49 49
50extern MediaPlayerState *mediaPlayerState; 50extern MediaPlayerState *mediaPlayerState;
51 51
52 52
53class PlayListWidgetPrivate { 53class PlayListWidgetPrivate {
54public: 54public:
55 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove; 55 QToolButton *tbPlay, *tbFull, *tbLoop, *tbScale, *tbShuffle, *tbAddToList, *tbRemoveFromList, *tbMoveUp, *tbMoveDown, *tbRemove;
56 QFrame *playListFrame; 56 QFrame *playListFrame;
57 FileSelector *files; 57 FileSelector *files;
58 PlayListSelection *selectedFiles; 58 PlayListSelection *selectedFiles;
59 bool setDocumentUsed; 59 bool setDocumentUsed;
60 DocLnk *current; 60 DocLnk *current;
61}; 61};
62 62
63 63
64class ToolButton : public QToolButton { 64class ToolButton : public QToolButton {
65public: 65public:
66 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ) 66 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE )
67 : QToolButton( parent, name ) { 67 : QToolButton( parent, name ) {
68 setTextLabel( name ); 68 setTextLabel( name );
69 setPixmap( Resource::loadPixmap( icon ) ); 69 setPixmap( Resource::loadPixmap( icon ) );
70 setAutoRaise( TRUE ); 70 setAutoRaise( TRUE );
71 setFocusPolicy( QWidget::NoFocus ); 71 setFocusPolicy( QWidget::NoFocus );
72 setToggleButton( t ); 72 setToggleButton( t );
73 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 73 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
74 QPEMenuToolFocusManager::manager()->addWidget( this ); 74 QPEMenuToolFocusManager::manager()->addWidget( this );
75 } 75 }
76}; 76};
77 77
78 78
79class MenuItem : public QAction { 79class MenuItem : public QAction {
80public: 80public:
81 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot ) 81 MenuItem( QWidget *parent, const QString& text, QObject *handler, const QString& slot )
82 : QAction( text, QString::null, 0, 0 ) { 82 : QAction( text, QString::null, 0, 0 ) {
83 connect( this, SIGNAL( activated() ), handler, slot ); 83 connect( this, SIGNAL( activated() ), handler, slot );
84 addTo( parent ); 84 addTo( parent );
85 } 85 }
86}; 86};
87 87
88 88
89PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) 89PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
90 : QMainWindow( parent, name, fl ) { 90 : QMainWindow( parent, name, fl ) {
91 91
92 d = new PlayListWidgetPrivate; 92 d = new PlayListWidgetPrivate;
93 d->setDocumentUsed = FALSE; 93 d->setDocumentUsed = FALSE;
94 d->current = NULL; 94 d->current = NULL;
95 fromSetDocument = FALSE; 95 fromSetDocument = FALSE;
96 insanityBool=FALSE; 96 insanityBool=FALSE;
97 audioScan = FALSE; 97 audioScan = FALSE;
98 videoScan = FALSE; 98 videoScan = FALSE;
99 99
100 setBackgroundMode( PaletteButton ); 100 setBackgroundMode( PaletteButton );
101 101
102// setCaption( tr("OpiePlayer") ); 102// setCaption( tr("OpiePlayer") );
103// setIcon( Resource::loadPixmap( "opieplayer2/MPEGPlayer" ) ); 103// setIcon( Resource::loadPixmap( "opieplayer2/MPEGPlayer" ) );
104 104
105 setToolBarsMovable( FALSE ); 105 setToolBarsMovable( FALSE );
106 106
107 // Create Toolbar 107 // Create Toolbar
108 QPEToolBar *toolbar = new QPEToolBar( this ); 108 QPEToolBar *toolbar = new QPEToolBar( this );
109 toolbar->setHorizontalStretchable( TRUE ); 109 toolbar->setHorizontalStretchable( TRUE );
110 110
111 // Create Menubar 111 // Create Menubar
112 QPEMenuBar *menu = new QPEMenuBar( toolbar ); 112 QPEMenuBar *menu = new QPEMenuBar( toolbar );
113 menu->setMargin( 0 ); 113 menu->setMargin( 0 );
114 114
115 QPEToolBar *bar = new QPEToolBar( this ); 115 QPEToolBar *bar = new QPEToolBar( this );
116 bar->setLabel( tr( "Play Operations" ) ); 116 bar->setLabel( tr( "Play Operations" ) );
117 117
118 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close"); 118 tbDeletePlaylist = new QPushButton( Resource::loadIconSet("trash"),"",bar,"close");
119 tbDeletePlaylist->setFlat(TRUE); 119 tbDeletePlaylist->setFlat(TRUE);
120 tbDeletePlaylist->setFixedSize(20,20); 120 tbDeletePlaylist->setFixedSize(20,20);
121 121
122 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer2/add_to_playlist", 122 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer2/add_to_playlist",
123 this , SLOT(addSelected()) ); 123 this , SLOT(addSelected()) );
124 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer2/remove_from_playlist", 124 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), "opieplayer2/remove_from_playlist",
125 this , SLOT(removeSelected()) ); 125 this , SLOT(removeSelected()) );
126 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play", 126 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play",
127 this , SLOT( btnPlay(bool) ), TRUE ); 127 this , SLOT( btnPlay(bool) ), TRUE );
128 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle", 128 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle",
129 mediaPlayerState, SLOT(setShuffled(bool)), TRUE ); 129 mediaPlayerState, SLOT(setShuffled(bool)), TRUE );
130 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer2/loop", 130 d->tbLoop = new ToolButton( bar, tr( "Loop" ),"opieplayer2/loop",
131 mediaPlayerState, SLOT(setLooping(bool)), TRUE ); 131 mediaPlayerState, SLOT(setLooping(bool)), TRUE );
132 tbDeletePlaylist->hide(); 132 tbDeletePlaylist->hide();
133 133
134 QPopupMenu *pmPlayList = new QPopupMenu( this ); 134 QPopupMenu *pmPlayList = new QPopupMenu( this );
135 menu->insertItem( tr( "File" ), pmPlayList ); 135 menu->insertItem( tr( "File" ), pmPlayList );
136 (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); 136 (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) );
137 (void)new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); 137 (void)new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) );
138 (void)new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) ); 138 (void)new MenuItem( pmPlayList, tr( "Add all video files" ), this, SLOT( addAllVideoToList() ) );
139 (void)new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) ); 139 (void)new MenuItem( pmPlayList, tr( "Add all files" ), this, SLOT( addAllToList() ) );
140 pmPlayList->insertSeparator(-1); 140 pmPlayList->insertSeparator(-1);
141 (void)new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) ); 141 (void)new MenuItem( pmPlayList, tr( "Save PlayList" ), this, SLOT( saveList() ) );
142 (void)new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) ); 142 (void)new MenuItem( pmPlayList, tr( "Export playlist to m3u" ), this, SLOT(writem3u() ) );
143 pmPlayList->insertSeparator(-1); 143 pmPlayList->insertSeparator(-1);
144 (void)new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) ); 144 (void)new MenuItem( pmPlayList, tr( "Open File or URL" ), this,SLOT( openFile() ) );
145 pmPlayList->insertSeparator(-1); 145 pmPlayList->insertSeparator(-1);
146 (void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) ); 146 (void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), this,SLOT( scanForAudio() ) );
147 (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) ); 147 (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), this,SLOT( scanForVideo() ) );
148 148
149 pmView = new QPopupMenu( this ); 149 pmView = new QPopupMenu( this );
150 menu->insertItem( tr( "View" ), pmView ); 150 menu->insertItem( tr( "View" ), pmView );
151 pmView->isCheckable(); 151 pmView->isCheckable();
152 152
153 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) ); 153 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) );
154 154
155 Config cfg( "OpiePlayer" ); 155 Config cfg( "OpiePlayer" );
156 bool b= cfg.readBoolEntry("FullScreen", 0); 156 bool b= cfg.readBoolEntry("FullScreen", 0);
157 mediaPlayerState->setFullscreen( b ); 157 mediaPlayerState->setFullscreen( b );
158 pmView->setItemChecked( -16, b ); 158 pmView->setItemChecked( -16, b );
159 159
160 // pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) ); 160 // pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) );
161 161
162 pmView->insertSeparator(-1); 162 pmView->insertSeparator(-1);
163 163
164 skinsMenu = new QPopupMenu( this ); 164 skinsMenu = new QPopupMenu( this );
165 pmView->insertItem( tr( "Skins" ), skinsMenu ); 165 pmView->insertItem( tr( "Skins" ), skinsMenu );
166 skinsMenu->isCheckable(); 166 skinsMenu->isCheckable();
167 populateSkinsMenu(); 167 populateSkinsMenu();
168 168
169 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); 169 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
170 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); 170 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton );
171 171
172 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton ); 172 QHBox *hbox6 = new QHBox( vbox4 ); hbox6->setBackgroundMode( PaletteButton );
173 173
174 tabWidget = new QTabWidget( hbox6, "tabWidget" ); 174 tabWidget = new QTabWidget( hbox6, "tabWidget" );
175 // tabWidget->setTabShape(QTabWidget::Triangular); 175 // tabWidget->setTabShape(QTabWidget::Triangular);
176 176
177 QWidget *pTab; 177 QWidget *pTab;
178 pTab = new QWidget( tabWidget, "pTab" ); 178 pTab = new QWidget( tabWidget, "pTab" );
179 tabWidget->insertTab( pTab,"Playlist"); 179 tabWidget->insertTab( pTab,"Playlist");
180 180
181 181
182 QGridLayout *Playout = new QGridLayout( pTab ); 182 QGridLayout *Playout = new QGridLayout( pTab );
183 Playout->setSpacing( 2); 183 Playout->setSpacing( 2);
184 Playout->setMargin( 2); 184 Playout->setMargin( 2);
185 185
186 // Add the playlist area 186 // Add the playlist area
187 187
188 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton ); 188 QVBox *vbox3 = new QVBox( pTab ); vbox3->setBackgroundMode( PaletteButton );
189 d->playListFrame = vbox3; 189 d->playListFrame = vbox3;
190 190
191 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton ); 191 QHBox *hbox2 = new QHBox( vbox3 ); hbox2->setBackgroundMode( PaletteButton );
192 192
193 d->selectedFiles = new PlayListSelection( hbox2); 193 d->selectedFiles = new PlayListSelection( hbox2);
194 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton ); 194 QVBox *vbox1 = new QVBox( hbox2 ); vbox1->setBackgroundMode( PaletteButton );
195 195
196 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold); 196 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold);
197 197
198 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch 198 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch
199 (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", d->selectedFiles, SLOT(moveSelectedUp()) ); 199 (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", d->selectedFiles, SLOT(moveSelectedUp()) );
200 (void)new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", d->selectedFiles, SLOT(removeSelected()) ); 200 (void)new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", d->selectedFiles, SLOT(removeSelected()) );
201 (void)new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", d->selectedFiles, SLOT(moveSelectedDown()) ); 201 (void)new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", d->selectedFiles, SLOT(moveSelectedDown()) );
202 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch 202 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch
203 203
204 204
205 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 ); 205 Playout->addMultiCellWidget( vbox3, 0, 0, 0, 1 );
206 206
207 QWidget *aTab; 207 QWidget *aTab;
208 aTab = new QWidget( tabWidget, "aTab" ); 208 aTab = new QWidget( tabWidget, "aTab" );
209 209
210 QGridLayout *Alayout = new QGridLayout( aTab ); 210 QGridLayout *Alayout = new QGridLayout( aTab );
211 Alayout->setSpacing( 2); 211 Alayout->setSpacing( 2);
212 Alayout->setMargin( 2); 212 Alayout->setMargin( 2);
213 213
214 audioView = new QListView( aTab, "Audioview" ); 214 audioView = new QListView( aTab, "Audioview" );
215 audioView->addColumn( tr("Title"),140); 215 audioView->addColumn( tr("Title"),140);
216 audioView->addColumn(tr("Size"), -1); 216 audioView->addColumn(tr("Size"), -1);
217 audioView->addColumn(tr("Media"),-1); 217 audioView->addColumn(tr("Media"),-1);
218 audioView->setColumnAlignment(1, Qt::AlignRight); 218 audioView->setColumnAlignment(1, Qt::AlignRight);
219 audioView->setColumnAlignment(2, Qt::AlignRight); 219 audioView->setColumnAlignment(2, Qt::AlignRight);
220 audioView->setAllColumnsShowFocus(TRUE); 220 audioView->setAllColumnsShowFocus(TRUE);
221 audioView->setSorting(0,TRUE); 221 audioView->setSorting(0,TRUE);
222 222
223 audioView->setMultiSelection( TRUE ); 223 audioView->setMultiSelection( TRUE );
224 audioView->setSelectionMode( QListView::Extended); 224 audioView->setSelectionMode( QListView::Extended);
225 225
226 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 ); 226 Alayout->addMultiCellWidget( audioView, 0, 0, 0, 1 );
227 227
228 tabWidget->insertTab(aTab,tr("Audio")); 228 tabWidget->insertTab(aTab,tr("Audio"));
229 229
230 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); 230 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
231 231
232 QWidget *vTab; 232 QWidget *vTab;
233 vTab = new QWidget( tabWidget, "vTab" ); 233 vTab = new QWidget( tabWidget, "vTab" );
234 234
235 QGridLayout *Vlayout = new QGridLayout( vTab ); 235 QGridLayout *Vlayout = new QGridLayout( vTab );
236 Vlayout->setSpacing( 2); 236 Vlayout->setSpacing( 2);
237 Vlayout->setMargin( 2); 237 Vlayout->setMargin( 2);
238 238
239 videoView = new QListView( vTab, "Videoview" ); 239 videoView = new QListView( vTab, "Videoview" );
240 240
241 videoView->addColumn(tr("Title"),140); 241 videoView->addColumn(tr("Title"),140);
242 videoView->addColumn(tr("Size"),-1); 242 videoView->addColumn(tr("Size"),-1);
243 videoView->addColumn(tr("Media"),-1); 243 videoView->addColumn(tr("Media"),-1);
244 videoView->setColumnAlignment(1, Qt::AlignRight); 244 videoView->setColumnAlignment(1, Qt::AlignRight);
245 videoView->setColumnAlignment(2, Qt::AlignRight); 245 videoView->setColumnAlignment(2, Qt::AlignRight);
246 videoView->setAllColumnsShowFocus(TRUE); 246 videoView->setAllColumnsShowFocus(TRUE);
247 videoView->setSorting(0,TRUE); 247 videoView->setSorting(0,TRUE);
248 248
249 videoView->setMultiSelection( TRUE ); 249 videoView->setMultiSelection( TRUE );
250 videoView->setSelectionMode( QListView::Extended); 250 videoView->setSelectionMode( QListView::Extended);
251 251
252 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 ); 252 Vlayout->addMultiCellWidget( videoView, 0, 0, 0, 1 );
253 253
254 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); 254 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
255 255
256 tabWidget->insertTab( vTab,tr("Video")); 256 tabWidget->insertTab( vTab,tr("Video"));
257 257
258 //playlists list 258 //playlists list
259 QWidget *LTab; 259 QWidget *LTab;
260 LTab = new QWidget( tabWidget, "LTab" ); 260 LTab = new QWidget( tabWidget, "LTab" );
261 QGridLayout *Llayout = new QGridLayout( LTab ); 261 QGridLayout *Llayout = new QGridLayout( LTab );
262 Llayout->setSpacing( 2); 262 Llayout->setSpacing( 2);
263 Llayout->setMargin( 2); 263 Llayout->setMargin( 2);
264 264
265 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy 265 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
266 Llayout->addMultiCellWidget( playLists, 0, 0, 0, 1 ); 266 Llayout->addMultiCellWidget( playLists, 0, 0, 0, 1 );
267 267
268 tabWidget->insertTab(LTab,tr("Lists")); 268 tabWidget->insertTab(LTab,tr("Lists"));
269 269
270 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); 270 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
271 271
272 connect( pmView, SIGNAL( activated(int)), this, SLOT( pmViewActivated(int) ) ); 272 connect( pmView, SIGNAL( activated(int)), this, SLOT( pmViewActivated(int) ) );
273 273
274 connect( skinsMenu, SIGNAL( activated(int)), this, SLOT(skinsMenuActivated(int) ) ); 274 connect( skinsMenu, SIGNAL( activated(int)), this, SLOT(skinsMenuActivated(int) ) );
275 275
276 // connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled() ) ); 276 // connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled() ) );
277 277
278 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 278 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
279 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); 279 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
280 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 280 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
281 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 281 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
282 connect( audioView, SIGNAL( returnPressed( QListViewItem *)), 282 connect( audioView, SIGNAL( returnPressed( QListViewItem *)),
283 this,SLOT( playIt( QListViewItem *)) ); 283 this,SLOT( playIt( QListViewItem *)) );
284 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 284 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
285 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 285 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
286 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 286 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
287 connect( videoView, SIGNAL( returnPressed( QListViewItem *)), 287 connect( videoView, SIGNAL( returnPressed( QListViewItem *)),
288 this,SLOT( playIt( QListViewItem *)) ); 288 this,SLOT( playIt( QListViewItem *)) );
289 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 289 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
290 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 290 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
291 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 291 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
292 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 292 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
293 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); 293 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
294 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); 294 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
295 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 295 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
296 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 296 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
297 297
298 setCentralWidget( vbox5 ); 298 setCentralWidget( vbox5 );
299 299
300 readConfig( cfg ); 300 readConfig( cfg );
301 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 301 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
302 loadList(DocLnk( currentPlaylist)); 302 loadList(DocLnk( currentPlaylist));
303 setCaption(tr("OpiePlayer: ")+ currentPlaylist ); 303 setCaption(tr("OpiePlayer: ")+ currentPlaylist );
304 304
305 initializeStates(); 305 initializeStates();
306} 306}
307 307
308 308
309PlayListWidget::~PlayListWidget() { 309PlayListWidget::~PlayListWidget() {
310 if ( d->current ) { 310 if ( d->current ) {
311 delete d->current; 311 delete d->current;
312 } 312 }
313 delete d; 313 delete d;
314} 314}
315 315
316 316
317void PlayListWidget::initializeStates() { 317void PlayListWidget::initializeStates() {
318 318
319 d->tbPlay->setOn( mediaPlayerState->playing() ); 319 d->tbPlay->setOn( mediaPlayerState->playing() );
320 d->tbLoop->setOn( mediaPlayerState->looping() ); 320 d->tbLoop->setOn( mediaPlayerState->looping() );
321 d->tbShuffle->setOn( mediaPlayerState->shuffled() ); 321 d->tbShuffle->setOn( mediaPlayerState->shuffled() );
322 setPlaylist( true); 322 setPlaylist( true);
323} 323}
324 324
325 325
326void PlayListWidget::readConfig( Config& cfg ) { 326void PlayListWidget::readConfig( Config& cfg ) {
327 cfg.setGroup("PlayList"); 327 cfg.setGroup("PlayList");
328 QString currentString = cfg.readEntry("current", "" ); 328 QString currentString = cfg.readEntry("current", "" );
329 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 329 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
330 for ( int i = 0; i < noOfFiles; i++ ) { 330 for ( int i = 0; i < noOfFiles; i++ ) {
331 QString entryName; 331 QString entryName;
332 entryName.sprintf( "File%i", i + 1 ); 332 entryName.sprintf( "File%i", i + 1 );
333 QString linkFile = cfg.readEntry( entryName ); 333 QString linkFile = cfg.readEntry( entryName );
334 if(QFileInfo( linkFile).exists() ) { 334 if(QFileInfo( linkFile).exists() ) {
335 DocLnk lnk( linkFile ); 335 DocLnk lnk( linkFile );
336 if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) { 336 if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) {
337 d->selectedFiles->addToSelection( lnk ); 337 d->selectedFiles->addToSelection( lnk );
338 } 338 }
339 } 339 }
340 } 340 }
341 d->selectedFiles->setSelectedItem( currentString); 341 d->selectedFiles->setSelectedItem( currentString);
342} 342}
343 343
344 344
345void PlayListWidget::writeConfig( Config& cfg ) const { 345void PlayListWidget::writeConfig( Config& cfg ) const {
346 346
347 d->selectedFiles->writeCurrent( cfg); 347 d->selectedFiles->writeCurrent( cfg);
348 cfg.setGroup("PlayList"); 348 cfg.setGroup("PlayList");
349 int noOfFiles = 0; 349 int noOfFiles = 0;
350 d->selectedFiles->first(); 350 d->selectedFiles->first();
351 do { 351 do {
352 const DocLnk *lnk = d->selectedFiles->current(); 352 const DocLnk *lnk = d->selectedFiles->current();
353 if ( lnk ) { 353 if ( lnk ) {
354 QString entryName; 354 QString entryName;
355 entryName.sprintf( "File%i", noOfFiles + 1 ); 355 entryName.sprintf( "File%i", noOfFiles + 1 );
356 cfg.writeEntry( entryName, lnk->linkFile() ); 356 cfg.writeEntry( entryName, lnk->linkFile() );
357 // if this link does exist, add it so we have the file 357 // if this link does exist, add it so we have the file
358 // next time... 358 // next time...
359 if ( !QFile::exists( lnk->linkFile() ) ) { 359 if ( !QFile::exists( lnk->linkFile() ) ) {
360 // the way writing lnks doesn't really check for out 360 // the way writing lnks doesn't really check for out
361 // of disk space, but check it anyway. 361 // of disk space, but check it anyway.
362 if ( !lnk->writeLink() ) { 362 if ( !lnk->writeLink() ) {
363 QMessageBox::critical( 0, tr("Out of space"), 363 QMessageBox::critical( 0, tr("Out of space"),
364 tr( "There was a problem saving " 364 tr( "There was a problem saving "
365 "the playlist.\n" 365 "the playlist.\n"
366 "Your playlist " 366 "Your playlist "
367 "may be missing some entries\n" 367 "may be missing some entries\n"
368 "the next time you start it." ) 368 "the next time you start it." )
369 ); 369 );
370 } 370 }
371 } 371 }
372 noOfFiles++; 372 noOfFiles++;
373 } 373 }
374 } 374 }
375 while ( d->selectedFiles->next() ); 375 while ( d->selectedFiles->next() );
376 cfg.writeEntry("NumberOfFiles", noOfFiles ); 376 cfg.writeEntry("NumberOfFiles", noOfFiles );
377} 377}
378 378
379 379
380void PlayListWidget::addToSelection( const DocLnk& lnk ) { 380void PlayListWidget::addToSelection( const DocLnk& lnk ) {
381 d->setDocumentUsed = FALSE; 381 d->setDocumentUsed = FALSE;
382 if ( mediaPlayerState->playlist() ) { 382 if ( mediaPlayerState->playlist() ) {
383 if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) 383 if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" )
384 d->selectedFiles->addToSelection( lnk ); 384 d->selectedFiles->addToSelection( lnk );
385 } 385 }
386 else 386 else
387 mediaPlayerState->setPlaying( TRUE ); 387 mediaPlayerState->setPlaying( TRUE );
388} 388}
389 389
390 390
391void PlayListWidget::clearList() { 391void PlayListWidget::clearList() {
392 while ( first() ) { 392 while ( first() ) {
393 d->selectedFiles->removeSelected(); 393 d->selectedFiles->removeSelected();
394 } 394 }
395} 395}
396 396
397 397
398void PlayListWidget::addAllToList() { 398void PlayListWidget::addAllToList() {
399 DocLnkSet filesAll; 399 DocLnkSet filesAll;
400 Global::findDocuments(&filesAll, "video/*;audio/*"); 400 Global::findDocuments(&filesAll, "video/*;audio/*");
401 QListIterator<DocLnk> Adit( filesAll.children() ); 401 QListIterator<DocLnk> Adit( filesAll.children() );
402 for ( ; Adit.current(); ++Adit ) { 402 for ( ; Adit.current(); ++Adit ) {
403 if(QFileInfo(Adit.current()->file()).exists()) { 403 if(QFileInfo(Adit.current()->file()).exists()) {
404 d->selectedFiles->addToSelection( **Adit ); 404 d->selectedFiles->addToSelection( **Adit );
405 } 405 }
406 } 406 }
407} 407}
408 408
409 409
410void PlayListWidget::addAllMusicToList() { 410void PlayListWidget::addAllMusicToList() {
411 QListIterator<DocLnk> dit( files.children() ); 411 QListIterator<DocLnk> dit( files.children() );
412 for ( ; dit.current(); ++dit ) { 412 for ( ; dit.current(); ++dit ) {
413 if(QFileInfo(dit.current()->file()).exists()) { 413 if(QFileInfo(dit.current()->file()).exists()) {
414 d->selectedFiles->addToSelection( **dit ); 414 d->selectedFiles->addToSelection( **dit );
415 } 415 }
416 } 416 }
417} 417}
418 418
419 419
420void PlayListWidget::addAllVideoToList() { 420void PlayListWidget::addAllVideoToList() {
421 QListIterator<DocLnk> dit( vFiles.children() ); 421 QListIterator<DocLnk> dit( vFiles.children() );
422 for ( ; dit.current(); ++dit ) 422 for ( ; dit.current(); ++dit )
423 if(QFileInfo( dit.current()->file()).exists()) 423 if(QFileInfo( dit.current()->file()).exists())
424 d->selectedFiles->addToSelection( **dit ); 424 d->selectedFiles->addToSelection( **dit );
425} 425}
426 426
427 427
428void PlayListWidget::setDocument(const QString& fileref) { 428void PlayListWidget::setDocument(const QString& fileref) {
429 qDebug(fileref); 429 qDebug(fileref);
430 fromSetDocument = TRUE; 430 fromSetDocument = TRUE;
431 if ( fileref.isNull() ) { 431 if ( fileref.isNull() ) {
432 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); 432 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) );
433 return; 433 return;
434 } 434 }
435 435
436 if(fileref.find("m3u",0,TRUE) != -1) { //is m3u 436 if(fileref.find("m3u",0,TRUE) != -1) { //is m3u
437 readm3u( fileref); 437 readm3u( fileref);
438 } else if(fileref.find("pls",0,TRUE) != -1) { //is pls 438 } else if(fileref.find("pls",0,TRUE) != -1) { //is pls
439 readPls( fileref); 439 readPls( fileref);
440 } else if(fileref.find("playlist",0,TRUE) != -1) {//is playlist 440 } else if(fileref.find("playlist",0,TRUE) != -1) {//is playlist
441 clearList(); 441 clearList();
442 loadList(DocLnk(fileref)); 442 loadList(DocLnk(fileref));
443 d->selectedFiles->first(); 443 d->selectedFiles->first();
444 } else { 444 } else {
445 clearList(); 445 clearList();
446 addToSelection( DocLnk( fileref ) ); 446 addToSelection( DocLnk( fileref ) );
447 d->setDocumentUsed = TRUE; 447 d->setDocumentUsed = TRUE;
448 mediaPlayerState->setPlaying( FALSE ); 448 mediaPlayerState->setPlaying( FALSE );
449 qApp->processEvents(); 449 qApp->processEvents();
450 mediaPlayerState->setPlaying( TRUE ); 450 mediaPlayerState->setPlaying( TRUE );
451 qApp->processEvents(); 451 qApp->processEvents();
452 setCaption(tr("OpiePlayer")); 452 setCaption(tr("OpiePlayer"));
453 } 453 }
454} 454}
455 455
456 456
457void PlayListWidget::setActiveWindow() { 457void PlayListWidget::setActiveWindow() {
458// qDebug("SETTING active window"); 458// qDebug("SETTING active window");
459 // When we get raised we need to ensure that it switches views 459 // When we get raised we need to ensure that it switches views
460 char origView = mediaPlayerState->view(); 460 char origView = mediaPlayerState->view();
461 mediaPlayerState->setView( 'l' ); // invalidate 461 mediaPlayerState->setView( 'l' ); // invalidate
462 mediaPlayerState->setView( origView ); // now switch back 462 mediaPlayerState->setView( origView ); // now switch back
463} 463}
464 464
465 465
466void PlayListWidget::useSelectedDocument() { 466void PlayListWidget::useSelectedDocument() {
467 d->setDocumentUsed = FALSE; 467 d->setDocumentUsed = FALSE;
468} 468}
469 469
470 470
471const DocLnk *PlayListWidget::current() { // this is fugly 471const DocLnk *PlayListWidget::current() { // this is fugly
472 472
473 switch (tabWidget->currentPageIndex()) { 473 switch (tabWidget->currentPageIndex()) {
474 case 0: //playlist 474 case 0: //playlist
475 { 475 {
476// qDebug("playlist"); 476// qDebug("playlist");
477 if ( mediaPlayerState->playlist() ) { 477 if ( mediaPlayerState->playlist() ) {
478 return d->selectedFiles->current(); 478 return d->selectedFiles->current();
479 } else if ( d->setDocumentUsed && d->current ) { 479 } else if ( d->setDocumentUsed && d->current ) {
480 return d->current; 480 return d->current;
481 } else { 481 } else {
482 return d->files->selected(); 482 return d->files->selected();
483 } 483 }
484 } 484 }
485 break; 485 break;
486 case 1://audio 486 case 1://audio
487 { 487 {
488// qDebug("audioView"); 488// qDebug("audioView");
489 QListIterator<DocLnk> dit( files.children() ); 489 QListIterator<DocLnk> dit( files.children() );
490 for ( ; dit.current(); ++dit ) { 490 for ( ; dit.current(); ++dit ) {
491 if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) { 491 if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) {
492 insanityBool=TRUE; 492 insanityBool=TRUE;
493 return dit; 493 return dit;
494 } 494 }
495 } 495 }
496 } 496 }
497 break; 497 break;
498 case 2: // video 498 case 2: // video
499 { 499 {
500// qDebug("videoView"); 500// qDebug("videoView");
501 QListIterator<DocLnk> Vdit( vFiles.children() ); 501 QListIterator<DocLnk> Vdit( vFiles.children() );
502 for ( ; Vdit.current(); ++Vdit ) { 502 for ( ; Vdit.current(); ++Vdit ) {
503 if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) { 503 if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) {
504 insanityBool=TRUE; 504 insanityBool=TRUE;
505 return Vdit; 505 return Vdit;
506 } 506 }
507 } 507 }
508 } 508 }
509 break; 509 break;
510 }; 510 };
511 return 0; 511 return 0;
512} 512}
513 513
514bool PlayListWidget::prev() { 514bool PlayListWidget::prev() {
515 if ( mediaPlayerState->playlist() ) { 515 if ( mediaPlayerState->playlist() ) {
516 if ( mediaPlayerState->shuffled() ) { 516 if ( mediaPlayerState->shuffled() ) {
517 const DocLnk *cur = current(); 517 const DocLnk *cur = current();
518 int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0)); 518 int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0));
519 for ( int i = 0; i < j; i++ ) { 519 for ( int i = 0; i < j; i++ ) {
520 if ( !d->selectedFiles->next() ) 520 if ( !d->selectedFiles->next() )
521 d->selectedFiles->first(); 521 d->selectedFiles->first();
522 } 522 }
523 if ( cur == current() ) 523 if ( cur == current() )
524 if ( !d->selectedFiles->next() ) 524 if ( !d->selectedFiles->next() )
525 d->selectedFiles->first(); 525 d->selectedFiles->first();
526 return TRUE; 526 return TRUE;
527 } else { 527 } else {
528 if ( !d->selectedFiles->prev() ) { 528 if ( !d->selectedFiles->prev() ) {
529 if ( mediaPlayerState->looping() ) { 529 if ( mediaPlayerState->looping() ) {
530 return d->selectedFiles->last(); 530 return d->selectedFiles->last();
531 } else { 531 } else {
532 return FALSE; 532 return FALSE;
533 } 533 }
534 } 534 }
535 return TRUE; 535 return TRUE;
536 } 536 }
537 } else { 537 } else {
538 return mediaPlayerState->looping(); 538 return mediaPlayerState->looping();
539 } 539 }
540} 540}
541 541
542 542
543bool PlayListWidget::next() { 543bool PlayListWidget::next() {
544 if ( mediaPlayerState->playlist() ) { 544 if ( mediaPlayerState->playlist() ) {
545 if ( mediaPlayerState->shuffled() ) { 545 if ( mediaPlayerState->shuffled() ) {
546 return prev(); 546 return prev();
547 } else { 547 } else {
548 if ( !d->selectedFiles->next() ) { 548 if ( !d->selectedFiles->next() ) {
549 if ( mediaPlayerState->looping() ) { 549 if ( mediaPlayerState->looping() ) {
550 return d->selectedFiles->first(); 550 return d->selectedFiles->first();
551 } else { 551 } else {
552 return FALSE; 552 return FALSE;
553 } 553 }
554 } 554 }
555 return TRUE; 555 return TRUE;
556 } 556 }
557 } else { 557 } else {
558 return mediaPlayerState->looping(); 558 return mediaPlayerState->looping();
559 } 559 }
560} 560}
561 561
562 562
563bool PlayListWidget::first() { 563bool PlayListWidget::first() {
564 if ( mediaPlayerState->playlist() ) 564 if ( mediaPlayerState->playlist() )
565 return d->selectedFiles->first(); 565 return d->selectedFiles->first();
566 else 566 else
567 return mediaPlayerState->looping(); 567 return mediaPlayerState->looping();
568} 568}
569 569
570 570
571bool PlayListWidget::last() { 571bool PlayListWidget::last() {
572 if ( mediaPlayerState->playlist() ) 572 if ( mediaPlayerState->playlist() )
573 return d->selectedFiles->last(); 573 return d->selectedFiles->last();
574 else 574 else
575 return mediaPlayerState->looping(); 575 return mediaPlayerState->looping();
576} 576}
577 577
578 578
579void PlayListWidget::saveList() { 579void PlayListWidget::saveList() {
580 580
581 QString filename; 581 QString filename;
582 InputDialog *fileDlg = 0l; 582 InputDialog *fileDlg = 0l;
583 fileDlg = new InputDialog(this,tr("Save Playlist"),TRUE, 0); 583 fileDlg = new InputDialog(this,tr("Save Playlist"),TRUE, 0);
584 fileDlg->exec(); 584 fileDlg->exec();
585 if( fileDlg->result() == 1 ) { 585 if( fileDlg->result() == 1 ) {
586 if ( d->current ) 586 if ( d->current )
587 delete d->current; 587 delete d->current;
588 filename = fileDlg->text();//+".playlist"; 588 filename = fileDlg->text();//+".playlist";
589 // qDebug("saving playlist "+filename+".playlist"); 589 // qDebug("saving playlist "+filename+".playlist");
590 Config cfg( filename +".playlist"); 590 Config cfg( filename +".playlist");
591 writeConfig( cfg ); 591 writeConfig( cfg );
592 592
593 DocLnk lnk; 593 DocLnk lnk;
594 lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property 594 lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property
595 lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D 595 lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D
596 lnk.setIcon("opieplayer2/playlist2"); 596 lnk.setIcon("opieplayer2/playlist2");
597 lnk.setName( filename); //sets file name 597 lnk.setName( filename); //sets file name
598 // qDebug(filename); 598 // qDebug(filename);
599 if(!lnk.writeLink()) { 599 if(!lnk.writeLink()) {
600 qDebug("Writing doclink did not work"); 600 qDebug("Writing doclink did not work");
601 } 601 }
602 } 602 }
603 Config config( "OpiePlayer" ); 603 Config config( "OpiePlayer" );
604 config.writeEntry("CurrentPlaylist",filename); 604 config.writeEntry("CurrentPlaylist",filename);
605 setCaption(tr("OpiePlayer: ")+filename); 605 setCaption(tr("OpiePlayer: ")+filename);
606 d->selectedFiles->first(); 606 d->selectedFiles->first();
607 if(fileDlg) { 607 if(fileDlg) {
608 delete fileDlg; 608 delete fileDlg;
609 } 609 }
610} 610}
611 611
612void PlayListWidget::loadList( const DocLnk & lnk) { 612void PlayListWidget::loadList( const DocLnk & lnk) {
613 QString name= lnk.name(); 613 QString name= lnk.name();
614 // qDebug("currentList is "+name); 614 // qDebug("currentList is "+name);
615 if( name.length()>1) { 615 if( name.length()>1) {
616 setCaption("OpiePlayer: "+name); 616 setCaption("OpiePlayer: "+name);
617 // qDebug("load list "+ name+".playlist"); 617 // qDebug("load list "+ name+".playlist");
618 clearList(); 618 clearList();
619 Config cfg( name+".playlist"); 619 Config cfg( name+".playlist");
620 readConfig(cfg); 620 readConfig(cfg);
621 621
622 tabWidget->setCurrentPage(0); 622 tabWidget->setCurrentPage(0);
623 623
624 Config config( "OpiePlayer" ); 624 Config config( "OpiePlayer" );
625 config.writeEntry("CurrentPlaylist", name); 625 config.writeEntry("CurrentPlaylist", name);
626 // d->selectedFiles->first(); 626 // d->selectedFiles->first();
627 } 627 }
628 628
629} 629}
630 630
631void PlayListWidget::setPlaylist( bool shown ) { 631void PlayListWidget::setPlaylist( bool shown ) {
632 if ( shown ) { 632 if ( shown ) {
633 d->playListFrame->show(); 633 d->playListFrame->show();
634 } else { 634 } else {
635 d->playListFrame->hide(); 635 d->playListFrame->hide();
636 } 636 }
637} 637}
638 638
639void PlayListWidget::setView( char view ) { 639void PlayListWidget::setView( char view ) {
640 if ( view == 'l' ) 640 if ( view == 'l' )
641 showMaximized(); 641 showMaximized();
642 else 642 else
643 hide(); 643 hide();
644} 644}
645 645
646void PlayListWidget::addSelected() { 646void PlayListWidget::addSelected() {
647 647
648 Config cfg( "OpiePlayer" ); 648 Config cfg( "OpiePlayer" );
649 cfg.setGroup("PlayList"); 649 cfg.setGroup("PlayList");
650 QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); 650 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
651 // int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 651 // int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
652 652
653 switch (tabWidget->currentPageIndex()) { 653 switch (tabWidget->currentPageIndex()) {
654 case 0: //playlist 654 case 0: //playlist
655 break; 655 break;
656 case 1: { //audio 656 case 1: { //audio
657 QListViewItemIterator it( audioView ); 657 QListViewItemIterator it( audioView );
658 // iterate through all items of the listview 658 // iterate through all items of the listview
659 for ( ; it.current(); ++it ) { 659 for ( ; it.current(); ++it ) {
660 if ( it.current()->isSelected() ) { 660 if ( it.current()->isSelected() ) {
661 QListIterator<DocLnk> dit( files.children() ); 661 QListIterator<DocLnk> dit( files.children() );
662 for ( ; dit.current(); ++dit ) { 662 for ( ; dit.current(); ++dit ) {
663 if( dit.current()->name() == it.current()->text(0) ) { 663 if( dit.current()->name() == it.current()->text(0) ) {
664 if(QFileInfo( dit.current()->file()).exists()) 664 if(QFileInfo( dit.current()->file()).exists())
665 d->selectedFiles->addToSelection( **dit ); 665 d->selectedFiles->addToSelection( **dit );
666 } 666 }
667 } 667 }
668 audioView->setSelected( it.current(),FALSE); 668 audioView->setSelected( it.current(),FALSE);
669 } 669 }
670 } 670 }
671 tabWidget->setCurrentPage(0); 671 tabWidget->setCurrentPage(0);
672 } 672 }
673 break; 673 break;
674 case 2: { // video 674 case 2: { // video
675 QListViewItemIterator it( videoView ); 675 QListViewItemIterator it( videoView );
676 // iterate through all items of the listview 676 // iterate through all items of the listview
677 for ( ; it.current(); ++it ) { 677 for ( ; it.current(); ++it ) {
678 if ( it.current()->isSelected() ) { 678 if ( it.current()->isSelected() ) {
679 QListIterator<DocLnk> dit( vFiles.children() ); 679 QListIterator<DocLnk> dit( vFiles.children() );
680 for ( ; dit.current(); ++dit ) { 680 for ( ; dit.current(); ++dit ) {
681 if( dit.current()->name() == it.current()->text(0) ) { 681 if( dit.current()->name() == it.current()->text(0) ) {
682 if(QFileInfo( dit.current()->file()).exists()) 682 if(QFileInfo( dit.current()->file()).exists())
683 d->selectedFiles->addToSelection( **dit ); 683 d->selectedFiles->addToSelection( **dit );
684 } 684 }
685 } 685 }
686 videoView->setSelected( it.current(),FALSE); 686 videoView->setSelected( it.current(),FALSE);
687 } 687 }
688 } 688 }
689 tabWidget->setCurrentPage(0); 689 tabWidget->setCurrentPage(0);
690 } 690 }
691 break; 691 break;
692 }; 692 };
693} 693}
694 694
695void PlayListWidget::removeSelected() { 695void PlayListWidget::removeSelected() {
696 d->selectedFiles->removeSelected( ); 696 d->selectedFiles->removeSelected( );
697} 697}
698 698
699void PlayListWidget::playIt( QListViewItem *it) { 699void PlayListWidget::playIt( QListViewItem *it) {
700 if(!it) return; 700 if(!it) return;
701 mediaPlayerState->setPlaying(FALSE); 701 mediaPlayerState->setPlaying(FALSE);
702 mediaPlayerState->setPlaying(TRUE); 702 mediaPlayerState->setPlaying(TRUE);
703 d->selectedFiles->unSelect(); 703 d->selectedFiles->unSelect();
704} 704}
705 705
706void PlayListWidget::addToSelection( QListViewItem *it) { 706void PlayListWidget::addToSelection( QListViewItem *it) {
707 d->setDocumentUsed = FALSE; 707 d->setDocumentUsed = FALSE;
708 708
709 if(it) { 709 if(it) {
710 switch (tabWidget->currentPageIndex()) { 710 switch (tabWidget->currentPageIndex()) {
711 case 1: { 711 case 1: {
712 QListIterator<DocLnk> dit( files.children() ); 712 QListIterator<DocLnk> dit( files.children() );
713 for ( ; dit.current(); ++dit ) { 713 for ( ; dit.current(); ++dit ) {
714 if( dit.current()->name() == it->text(0)) { 714 if( dit.current()->name() == it->text(0)) {
715 if(QFileInfo( dit.current()->file()).exists()) 715 if(QFileInfo( dit.current()->file()).exists())
716 d->selectedFiles->addToSelection( **dit ); 716 d->selectedFiles->addToSelection( **dit );
717 } 717 }
718 } 718 }
719 } 719 }
720 break; 720 break;
721 case 2: { 721 case 2: {
722 QListIterator<DocLnk> dit( vFiles.children() ); 722 QListIterator<DocLnk> dit( vFiles.children() );
723 for ( ; dit.current(); ++dit ) { 723 for ( ; dit.current(); ++dit ) {
724 if( dit.current()->name() == it->text(0)) { 724 if( dit.current()->name() == it->text(0)) {
725 if(QFileInfo( dit.current()->file()).exists()) 725 if(QFileInfo( dit.current()->file()).exists())
726 d->selectedFiles->addToSelection( **dit ); 726 d->selectedFiles->addToSelection( **dit );
727 } 727 }
728 } 728 }
729 } 729 }
730 break; 730 break;
731 case 0: 731 case 0:
732 break; 732 break;
733 }; 733 };
734 tabWidget->setCurrentPage(0); 734 tabWidget->setCurrentPage(0);
735 } 735 }
736} 736}
737 737
738void PlayListWidget::tabChanged(QWidget *) { 738void PlayListWidget::tabChanged(QWidget *) {
739 739
740 switch ( tabWidget->currentPageIndex()) { 740 switch ( tabWidget->currentPageIndex()) {
741 case 0: 741 case 0:
742 { 742 {
743 if( !tbDeletePlaylist->isHidden()) 743 if( !tbDeletePlaylist->isHidden())
744 tbDeletePlaylist->hide(); 744 tbDeletePlaylist->hide();
745 d->tbRemoveFromList->setEnabled(TRUE); 745 d->tbRemoveFromList->setEnabled(TRUE);
746 d->tbAddToList->setEnabled(FALSE); 746 d->tbAddToList->setEnabled(FALSE);
747 } 747 }
748 break; 748 break;
749 case 1: 749 case 1:
750 { 750 {
751 audioView->clear(); 751 audioView->clear();
752 populateAudioView(); 752 populateAudioView();
753 753
754 if( !tbDeletePlaylist->isHidden()) 754 if( !tbDeletePlaylist->isHidden())
755 tbDeletePlaylist->hide(); 755 tbDeletePlaylist->hide();
756 d->tbRemoveFromList->setEnabled(FALSE); 756 d->tbRemoveFromList->setEnabled(FALSE);
757 d->tbAddToList->setEnabled(TRUE); 757 d->tbAddToList->setEnabled(TRUE);
758 } 758 }
759 break; 759 break;
760 case 2: 760 case 2:
761 { 761 {
762 videoView->clear(); 762 videoView->clear();
763 populateVideoView(); 763 populateVideoView();
764 if( !tbDeletePlaylist->isHidden()) 764 if( !tbDeletePlaylist->isHidden())
765 tbDeletePlaylist->hide(); 765 tbDeletePlaylist->hide();
766 d->tbRemoveFromList->setEnabled(FALSE); 766 d->tbRemoveFromList->setEnabled(FALSE);
767 d->tbAddToList->setEnabled(TRUE); 767 d->tbAddToList->setEnabled(TRUE);
768 } 768 }
769 break; 769 break;
770 case 3: 770 case 3:
771 { 771 {
772 if( tbDeletePlaylist->isHidden()) 772 if( tbDeletePlaylist->isHidden())
773 tbDeletePlaylist->show(); 773 tbDeletePlaylist->show();
774 playLists->reread(); 774 playLists->reread();
775 } 775 }
776 break; 776 break;
777 }; 777 };
778} 778}
779 779
780void PlayListWidget::btnPlay(bool b) { 780void PlayListWidget::btnPlay(bool b) {
781 781
782 // mediaPlayerState->setPlaying(b); 782 // mediaPlayerState->setPlaying(b);
783 switch ( tabWidget->currentPageIndex()) { 783 switch ( tabWidget->currentPageIndex()) {
784 case 0: 784 case 0:
785 { 785 {
786 mediaPlayerState->setPlaying(b); 786 mediaPlayerState->setPlaying(b);
787 } 787 }
788 break; 788 break;
789 case 1: 789 case 1:
790 { 790 {
791 addToSelection( audioView->currentItem() ); 791 addToSelection( audioView->currentItem() );
792 mediaPlayerState->setPlaying(b); 792 mediaPlayerState->setPlaying(b);
793 d->selectedFiles->removeSelected( ); 793 d->selectedFiles->removeSelected( );
794 tabWidget->setCurrentPage(1); 794 tabWidget->setCurrentPage(1);
795 d->selectedFiles->unSelect(); 795 d->selectedFiles->unSelect();
796 insanityBool=FALSE; 796 insanityBool=FALSE;
797 }// audioView->clearSelection(); 797 }// audioView->clearSelection();
798 break; 798 break;
799 case 2: 799 case 2:
800 { 800 {
801 addToSelection( videoView->currentItem() ); 801 addToSelection( videoView->currentItem() );
802 mediaPlayerState->setPlaying(b); 802 mediaPlayerState->setPlaying(b);
803 qApp->processEvents(); 803 qApp->processEvents();
804 d->selectedFiles->removeSelected( ); 804 d->selectedFiles->removeSelected( );
805 tabWidget->setCurrentPage(2); 805 tabWidget->setCurrentPage(2);
806 d->selectedFiles->unSelect(); 806 d->selectedFiles->unSelect();
807 insanityBool=FALSE; 807 insanityBool=FALSE;
808 }// videoView->clearSelection(); 808 }// videoView->clearSelection();
809 break; 809 break;
810 }; 810 };
811 811
812} 812}
813 813
814void PlayListWidget::deletePlaylist() { 814void PlayListWidget::deletePlaylist() {
815 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 815 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
816 (tr("You really want to delete\nthis playlist?")), 816 (tr("You really want to delete\nthis playlist?")),
817 (tr("Yes")), (tr("No")), 0 )){ 817 (tr("Yes")), (tr("No")), 0 )){
818 case 0: // Yes clicked, 818 case 0: // Yes clicked,
819 QFile().remove(playLists->selected()->file()); 819 QFile().remove(playLists->selected()->file());
820 QFile().remove(playLists->selected()->linkFile()); 820 QFile().remove(playLists->selected()->linkFile());
821 playLists->reread(); 821 playLists->reread();
822 break; 822 break;
823 case 1: // Cancel 823 case 1: // Cancel
824 break; 824 break;
825 }; 825 };
826} 826}
827 827
828void PlayListWidget::viewPressed( int mouse, QListViewItem *, const QPoint& , int) { 828void PlayListWidget::viewPressed( int mouse, QListViewItem *, const QPoint& , int) {
829 switch (mouse) { 829 switch (mouse) {
830 case 1: 830 case 1:
831 break; 831 break;
832 case 2:{ 832 case 2:{
833 QPopupMenu m; 833 QPopupMenu m;
834 m.insertItem( tr( "Play" ), this, SLOT( playSelected() )); 834 m.insertItem( tr( "Play" ), this, SLOT( playSelected() ));
835 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() )); 835 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() ));
836 m.exec( QCursor::pos() ); 836 m.exec( QCursor::pos() );
837 } 837 }
838 break; 838 break;
839 }; 839 };
840} 840}
841 841
842void PlayListWidget::playSelected() { 842void PlayListWidget::playSelected() {
843 btnPlay( TRUE); 843 btnPlay( TRUE);
844} 844}
845 845
846void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *, const QPoint& , int ) { 846void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *, const QPoint& , int ) {
847 switch (mouse) { 847 switch (mouse) {
848 case 1: 848 case 1:
849 849
850 break; 850 break;
851 case 2: 851 case 2:
852 { 852 {
853 QPopupMenu m; 853 QPopupMenu m;
854 m.insertItem( tr( "Play Selected" ), this, SLOT( playSelected() )); 854 m.insertItem( tr( "Play Selected" ), this, SLOT( playSelected() ));
855 m.insertItem( tr( "Remove" ), this, SLOT( removeSelected() )); 855 m.insertItem( tr( "Remove" ), this, SLOT( removeSelected() ));
856 m.exec( QCursor::pos() ); 856 m.exec( QCursor::pos() );
857 } 857 }
858 break; 858 break;
859 }; 859 };
860} 860}
861 861
862 862
863void PlayListWidget::scanForAudio() { 863void PlayListWidget::scanForAudio() {
864// qDebug("scan for audio"); 864// qDebug("scan for audio");
865 files.detachChildren(); 865 files.detachChildren();
866 QListIterator<DocLnk> sdit( files.children() ); 866 QListIterator<DocLnk> sdit( files.children() );
867 for ( ; sdit.current(); ++sdit ) { 867 for ( ; sdit.current(); ++sdit ) {
868 delete sdit.current(); 868 delete sdit.current();
869 } 869 }
870 Global::findDocuments(&files, "audio/*"); 870 Global::findDocuments(&files, "audio/*");
871 audioScan = TRUE; 871 audioScan = TRUE;
872} 872}
873 873
874void PlayListWidget::scanForVideo() { 874void PlayListWidget::scanForVideo() {
875// qDebug("scan for video"); 875// qDebug("scan for video");
876 vFiles.detachChildren(); 876 vFiles.detachChildren();
877 QListIterator<DocLnk> sdit( vFiles.children() ); 877 QListIterator<DocLnk> sdit( vFiles.children() );
878 for ( ; sdit.current(); ++sdit ) { 878 for ( ; sdit.current(); ++sdit ) {
879 delete sdit.current(); 879 delete sdit.current();
880 } 880 }
881 Global::findDocuments(&vFiles, "video/*"); 881 Global::findDocuments(&vFiles, "video/*");
882 videoScan = TRUE; 882 videoScan = TRUE;
883} 883}
884 884
885void PlayListWidget::populateAudioView() { 885void PlayListWidget::populateAudioView() {
886 886
887 audioView->clear(); 887 audioView->clear();
888 StorageInfo storageInfo; 888 StorageInfo storageInfo;
889 const QList<FileSystem> &fs = storageInfo.fileSystems(); 889 const QList<FileSystem> &fs = storageInfo.fileSystems();
890 if(!audioScan) scanForAudio(); 890 if(!audioScan) scanForAudio();
891 891
892 QListIterator<DocLnk> dit( files.children() ); 892 QListIterator<DocLnk> dit( files.children() );
893 QListIterator<FileSystem> it ( fs ); 893 QListIterator<FileSystem> it ( fs );
894 894
895 QString storage; 895 QString storage;
896 for ( ; dit.current(); ++dit ) { 896 for ( ; dit.current(); ++dit ) {
897 for( ; it.current(); ++it ){ 897 for( ; it.current(); ++it ){
898 const QString name = (*it)->name(); 898 const QString name = (*it)->name();
899 const QString path = (*it)->path(); 899 const QString path = (*it)->path();
900 if(dit.current()->file().find(path) != -1 ) storage=name; 900 if(dit.current()->file().find(path) != -1 ) storage=name;
901 } 901 }
902 902
903 QListViewItem * newItem; 903 QListViewItem * newItem;
904 if ( QFile( dit.current()->file()).exists() ) { 904 if ( QFile( dit.current()->file()).exists() ) {
905 // qDebug(dit.current()->name()); 905 // qDebug(dit.current()->name());
906 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), 906 newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(),
907 QString::number( QFile( dit.current()->file()).size() ), storage); 907 QString::number( QFile( dit.current()->file()).size() ), storage);
908 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/musicfile" )); 908 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/musicfile" ));
909 } 909 }
910 } 910 }
911 911
912} 912}
913 913
914void PlayListWidget::populateVideoView() { 914void PlayListWidget::populateVideoView() {
915 videoView->clear(); 915 videoView->clear();
916 StorageInfo storageInfo; 916 StorageInfo storageInfo;
917 const QList<FileSystem> &fs = storageInfo.fileSystems(); 917 const QList<FileSystem> &fs = storageInfo.fileSystems();
918 918
919 if(!videoScan ) scanForVideo(); 919 if(!videoScan ) scanForVideo();
920 920
921 QListIterator<DocLnk> Vdit( vFiles.children() ); 921 QListIterator<DocLnk> Vdit( vFiles.children() );
922 QListIterator<FileSystem> it ( fs ); 922 QListIterator<FileSystem> it ( fs );
923 videoView->clear(); 923 videoView->clear();
924 QString storage; 924 QString storage;
925 for ( ; Vdit.current(); ++Vdit ) { 925 for ( ; Vdit.current(); ++Vdit ) {
926 for( ; it.current(); ++it ){ 926 for( ; it.current(); ++it ){
927 const QString name = (*it)->name(); 927 const QString name = (*it)->name();
928 const QString path = (*it)->path(); 928 const QString path = (*it)->path();
929 if( Vdit.current()->file().find(path) != -1 ) storage=name; 929 if( Vdit.current()->file().find(path) != -1 ) storage=name;
930 } 930 }
931 931
932 QListViewItem * newItem; 932 QListViewItem * newItem;
933 if ( QFile( Vdit.current()->file()).exists() ) { 933 if ( QFile( Vdit.current()->file()).exists() ) {
934 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), 934 newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(),
935 QString::number( QFile( Vdit.current()->file()).size() ), storage); 935 QString::number( QFile( Vdit.current()->file()).size() ), storage);
936 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/videofile" )); 936 newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/videofile" ));
937 } 937 }
938 } 938 }
939} 939}
940 940
941void PlayListWidget::openFile() { 941void PlayListWidget::openFile() {
942 QString filename, name; 942 QString filename, name;
943 InputDialog *fileDlg; 943 InputDialog *fileDlg;
944 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0); 944 fileDlg = new InputDialog(this,tr("Open file or URL"),TRUE, 0);
945 fileDlg->exec(); 945 fileDlg->exec();
946 if( fileDlg->result() == 1 ) { 946 if( fileDlg->result() == 1 ) {
947 filename = fileDlg->text(); 947 filename = fileDlg->text();
948 948
949 qDebug("Selected filename is "+filename); 949 qDebug("Selected filename is "+filename);
950 if(filename.right(3) == "m3u") { 950 if(filename.right(3) == "m3u") {
951 readm3u( filename ); 951 readm3u( filename );
952 } else if(filename.right(3) == "pls") { 952 } else if(filename.right(3) == "pls") {
953 readPls( filename ); 953 readPls( filename );
954 } else { 954 } else {
955 DocLnk lnk; 955 DocLnk lnk;
956 956
957 lnk.setName(filename); //sets file name 957 lnk.setName(filename); //sets file name
958 lnk.setFile(filename); //sets File property 958 lnk.setFile(filename); //sets File property
959 lnk.setType("audio/x-mpegurl"); 959 lnk.setType("audio/x-mpegurl");
960 lnk.setExec("opieplayer"); 960 lnk.setExec("opieplayer");
961 lnk.setIcon("opieplayer2/MPEGPlayer"); 961 lnk.setIcon("opieplayer2/MPEGPlayer");
962 962
963 if(!lnk.writeLink()) { 963 if(!lnk.writeLink()) {
964 qDebug("Writing doclink did not work"); 964 qDebug("Writing doclink did not work");
965 } 965 }
966 d->selectedFiles->addToSelection( lnk); 966 d->selectedFiles->addToSelection( lnk);
967 } 967 }
968 } 968 }
969 if(fileDlg) { 969 if(fileDlg) {
970 delete fileDlg; 970 delete fileDlg;
971 } 971 }
972} 972}
973 973
974void PlayListWidget::keyReleaseEvent( QKeyEvent *e) 974void PlayListWidget::keyReleaseEvent( QKeyEvent *e)
975{ 975{
976 switch ( e->key() ) { 976 switch ( e->key() ) {
977 ////////////////////////////// Zaurus keys 977 ////////////////////////////// Zaurus keys
978 case Key_F9: //activity 978 case Key_F9: //activity
979 // if(audioUI->isHidden()) 979 // if(audioUI->isHidden())
980 // audioUI->showMaximized(); 980 // audioUI->showMaximized();
981 break; 981 break;
982 case Key_F10: //contacts 982 case Key_F10: //contacts
983 // if( videoUI->isHidden()) 983 // if( videoUI->isHidden())
984 // videoUI->showMaximized(); 984 // videoUI->showMaximized();
985 break; 985 break;
986 case Key_F11: //menu 986 case Key_F11: //menu
987 break; 987 break;
988 case Key_F12: //home 988 case Key_F12: //home
989 // doBlank(); 989 // doBlank();
990 break; 990 break;
991 case Key_F13: //mail 991 case Key_F13: //mail
992 // doUnblank(); 992 // doUnblank();
993 break; 993 break;
994 case Key_Q: //add to playlist 994 case Key_Q: //add to playlist
995 addSelected(); 995 addSelected();
996 break; 996 break;
997 case Key_R: //remove from playlist 997 case Key_R: //remove from playlist
998 removeSelected(); 998 removeSelected();
999 break; 999 break;
1000 // case Key_P: //play 1000 // case Key_P: //play
1001 // qDebug("Play"); 1001 // qDebug("Play");
1002 // playSelected(); 1002 // playSelected();
1003 // break; 1003 // break;
1004 case Key_Space: 1004 case Key_Space:
1005 // playSelected(); puh 1005 // playSelected(); puh
1006 break; 1006 break;
1007 case Key_1: 1007 case Key_1:
1008 tabWidget->setCurrentPage(0); 1008 tabWidget->setCurrentPage(0);
1009 break; 1009 break;
1010 case Key_2: 1010 case Key_2:
1011 tabWidget->setCurrentPage(1); 1011 tabWidget->setCurrentPage(1);
1012 break; 1012 break;
1013 case Key_3: 1013 case Key_3:
1014 tabWidget->setCurrentPage(2); 1014 tabWidget->setCurrentPage(2);
1015 break; 1015 break;
1016 case Key_4: 1016 case Key_4:
1017 tabWidget->setCurrentPage(3); 1017 tabWidget->setCurrentPage(3);
1018 break; 1018 break;
1019 case Key_Down: 1019 case Key_Down:
1020 if ( !d->selectedFiles->next() ) 1020 if ( !d->selectedFiles->next() )
1021 d->selectedFiles->first(); 1021 d->selectedFiles->first();
1022 1022
1023 break; 1023 break;
1024 case Key_Up: 1024 case Key_Up:
1025 if ( !d->selectedFiles->prev() ) 1025 if ( !d->selectedFiles->prev() )
1026 // d->selectedFiles->last(); 1026 // d->selectedFiles->last();
1027 1027
1028 break; 1028 break;
1029 1029
1030 } 1030 }
1031} 1031}
1032 1032
1033void PlayListWidget::keyPressEvent( QKeyEvent *) 1033void PlayListWidget::keyPressEvent( QKeyEvent *)
1034{ 1034{
1035 // qDebug("Key press"); 1035 // qDebug("Key press");
1036 // switch ( e->key() ) { 1036 // switch ( e->key() ) {
1037 // ////////////////////////////// Zaurus keys 1037 // ////////////////////////////// Zaurus keys
1038 // case Key_A: //add to playlist 1038 // case Key_A: //add to playlist
1039 // qDebug("Add"); 1039 // qDebug("Add");
1040 // addSelected(); 1040 // addSelected();
1041 // break; 1041 // break;
1042 // case Key_R: //remove from playlist 1042 // case Key_R: //remove from playlist
1043 // removeSelected(); 1043 // removeSelected();
1044 // break; 1044 // break;
1045 // case Key_P: //play 1045 // case Key_P: //play
1046 // qDebug("Play"); 1046 // qDebug("Play");
1047 // playSelected(); 1047 // playSelected();
1048 // break; 1048 // break;
1049 // case Key_Space: 1049 // case Key_Space:
1050 // qDebug("Play"); 1050 // qDebug("Play");
1051 // playSelected(); 1051 // playSelected();
1052 // break; 1052 // break;
1053 // } 1053 // }
1054} 1054}
1055 1055
1056 1056
1057 1057
1058void PlayListWidget::readm3u(const QString &filename) { 1058void PlayListWidget::readm3u(const QString &filename) {
1059 1059
1060 qDebug("m3u filename is "+filename); 1060 qDebug("m3u filename is "+filename);
1061 QFile f(filename); 1061 QFile f(filename);
1062 1062
1063 if(f.open(IO_ReadOnly)) { 1063 if(f.open(IO_ReadOnly)) {
1064 QTextStream t(&f); 1064 QTextStream t(&f);
1065 QString s;//, first, second; 1065 QString s;//, first, second;
1066 int i=0; 1066 int i=0;
1067 while ( !t.atEnd()) { 1067 while ( !t.atEnd()) {
1068 s=t.readLine(); 1068 s=t.readLine();
1069 1069
1070 if(s.find("#",0,TRUE) == -1) { 1070 if(s.find("#",0,TRUE) == -1) {
1071 if(s.find(" ",0,TRUE) == -1) { // not sure if this is neede since cf uses vfat 1071 if(s.find(" ",0,TRUE) == -1) { // not sure if this is neede since cf uses vfat
1072 if(s.left(2) == "E:" || s.left(2) == "P:") { 1072 if(s.left(2) == "E:" || s.left(2) == "P:") {
1073 s=s.right(s.length()-2); 1073 s=s.right(s.length()-2);
1074 // if(QFile(s).exists()) { 1074 // if(QFile(s).exists()) {
1075 DocLnk lnk( s ); 1075 DocLnk lnk( s );
1076 QFileInfo f(s); 1076 QFileInfo f(s);
1077 QString name = f.baseName(); 1077 QString name = f.baseName();
1078 name = name.right( name.length()-name.findRev( "\\",-1,TRUE ) -1 ); 1078 name = name.right( name.length()-name.findRev( "\\",-1,TRUE ) -1 );
1079 lnk.setName( name ); 1079 lnk.setName( name );
1080 s=s.replace( QRegExp("\\"),"/"); 1080 s=s.replace( QRegExp("\\"),"/");
1081 lnk.setFile( s ); 1081 lnk.setFile( s );
1082 lnk.writeLink(); 1082 lnk.writeLink();
1083 qDebug("add "+name); 1083 qDebug("add "+name);
1084 d->selectedFiles->addToSelection( lnk); 1084 d->selectedFiles->addToSelection( lnk);
1085 // } 1085 // }
1086 } else { // is url 1086 } else { // is url
1087 s.replace(QRegExp("%20")," "); 1087 s.replace(QRegExp("%20")," ");
1088 DocLnk lnk( s ); 1088 DocLnk lnk( s );
1089 QString name; 1089 QString name;
1090 if(name.left(4)=="http") { 1090 if(name.left(4)=="http") {
1091 name = s.right( s.length() - 7); 1091 name = s.right( s.length() - 7);
1092 } else { 1092 } else {
1093 name = s; 1093 name = s;
1094 } 1094 }
1095 lnk.setName(name); 1095 lnk.setName(name);
1096 if(s.at(s.length()-4) == '.') { 1096 if(s.at(s.length()-4) == '.') {
1097 lnk.setFile( s); 1097 lnk.setFile( s);
1098 } else { 1098 } else {
1099 lnk.setFile( s+"/"); 1099 lnk.setFile( s+"/");
1100 } 1100 }
1101 lnk.setType("audio/x-mpegurl"); 1101 lnk.setType("audio/x-mpegurl");
1102 lnk.writeLink(); 1102 lnk.writeLink();
1103 d->selectedFiles->addToSelection( lnk); 1103 d->selectedFiles->addToSelection( lnk);
1104 } 1104 }
1105 i++; 1105 i++;
1106 } 1106 }
1107 } 1107 }
1108 } 1108 }
1109 } 1109 }
1110 f.close(); 1110 f.close();
1111} 1111}
1112 1112
1113void PlayListWidget::writem3u() { 1113void PlayListWidget::writem3u() {
1114 1114
1115 InputDialog *fileDlg; 1115 InputDialog *fileDlg;
1116 fileDlg = new InputDialog(this,tr("Save m3u Playlist "),TRUE, 0); 1116 fileDlg = new InputDialog(this,tr("Save m3u Playlist "),TRUE, 0);
1117 fileDlg->exec(); 1117 fileDlg->exec();
1118 QString filename,list; 1118 QString filename,list;
1119 if( fileDlg->result() == 1 ) { 1119 if( fileDlg->result() == 1 ) {
1120 filename = fileDlg->text(); 1120 filename = fileDlg->text();
1121 qDebug(filename); 1121 qDebug(filename);
1122 int noOfFiles = 0; 1122 int noOfFiles = 0;
1123 d->selectedFiles->first(); 1123 d->selectedFiles->first();
1124 do { 1124 do {
1125 // we dont check for existance because of url's 1125 // we dont check for existance because of url's
1126 // qDebug(d->selectedFiles->current()->file()); 1126 // qDebug(d->selectedFiles->current()->file());
1127 list += d->selectedFiles->current()->file()+"\n"; 1127 list += d->selectedFiles->current()->file()+"\n";
1128 noOfFiles++; 1128 noOfFiles++;
1129 } 1129 }
1130 while ( d->selectedFiles->next() ); 1130 while ( d->selectedFiles->next() );
1131 qDebug(list); 1131 qDebug(list);
1132 if(filename.left(1) != "/") 1132 if(filename.left(1) != "/")
1133 filename=QPEApplication::documentDir()+"/"+filename; 1133 filename=QPEApplication::documentDir()+"/"+filename;
1134 if(filename.right(3) != "m3u") 1134 if(filename.right(3) != "m3u")
1135 filename=filename+".m3u"; 1135 filename=filename+".m3u";
1136 1136
1137 QFile f(filename); 1137 QFile f(filename);
1138 f.open(IO_WriteOnly); 1138 f.open(IO_WriteOnly);
1139 f.writeBlock(list, list.length()); 1139 f.writeBlock(list, list.length());
1140 f.close(); 1140 f.close();
1141 } 1141 }
1142 if(fileDlg) delete fileDlg; 1142 if(fileDlg) delete fileDlg;
1143} 1143}
1144 1144
1145void PlayListWidget::readPls(const QString &filename) { 1145void PlayListWidget::readPls(const QString &filename) {
1146 1146
1147 qDebug("pls filename is "+filename); 1147 qDebug("pls filename is "+filename);
1148 QFile f(filename); 1148 QFile f(filename);
1149 1149
1150 if(f.open(IO_ReadOnly)) { 1150 if(f.open(IO_ReadOnly)) {
1151 QTextStream t(&f); 1151 QTextStream t(&f);
1152 QString s;//, first, second; 1152 QString s;//, first, second;
1153 int i=0; 1153 int i=0;
1154 while ( !t.atEnd()) { 1154 while ( !t.atEnd()) {
1155 s=t.readLine(); 1155 s=t.readLine();
1156 if(s.left(4) == "File") { 1156 if(s.left(4) == "File") {
1157 s=s.right(s.length() - 6); 1157 s=s.right(s.length() - 6);
1158 s.replace(QRegExp("%20")," "); 1158 s.replace(QRegExp("%20")," ");
1159 qDebug("adding "+s+" to playlist"); 1159 qDebug("adding "+s+" to playlist");
1160 // numberofentries=2 1160 // numberofentries=2
1161 // File1=http 1161 // File1=http
1162 // Title 1162 // Title
1163 // Length 1163 // Length
1164 // Version 1164 // Version
1165 // File2=http 1165 // File2=http
1166 s=s.replace( QRegExp("\\"),"/"); 1166 s=s.replace( QRegExp("\\"),"/");
1167 DocLnk lnk( s ); 1167 DocLnk lnk( s );
1168 QFileInfo f(s); 1168 QFileInfo f(s);
1169 QString name = f.baseName(); 1169 QString name = f.baseName();
1170 if(name.left(4)=="http") 1170 if(name.left(4)=="http")
1171 name = s.right( s.length() - 7); 1171 name = s.right( s.length() - 7);
1172 else 1172 else
1173 name=s; 1173 name=s;
1174 name = name.right(name.length()-name.findRev("\\",-1,TRUE)-1); 1174 name = name.right(name.length()-name.findRev("\\",-1,TRUE)-1);
1175 lnk.setName( name); 1175 lnk.setName( name);
1176 if(s.at(s.length()-4) == '.') // if this is probably a file 1176 if(s.at(s.length()-4) == '.') // if this is probably a file
1177 lnk.setFile( s); 1177 lnk.setFile( s);
1178 else { //if its a url 1178 else { //if its a url
1179 if( name.right(1).find('/') == -1) 1179 if( name.right(1).find('/') == -1)
1180 s+="/"; 1180 s+="/";
1181 lnk.setFile( s); 1181 lnk.setFile( s);
1182 } 1182 }
1183 lnk.setType("audio/x-mpegurl"); 1183 lnk.setType("audio/x-mpegurl");
1184 1184
1185 qDebug("DocLnk add "+name); 1185 qDebug("DocLnk add "+name);
1186 d->selectedFiles->addToSelection( lnk); 1186 d->selectedFiles->addToSelection( lnk);
1187 } 1187 }
1188 } 1188 }
1189 i++; 1189 i++;
1190 } 1190 }
1191} 1191}
1192 1192
1193void PlayListWidget::pmViewActivated(int index) { 1193void PlayListWidget::pmViewActivated(int index) {
1194// qDebug("%d", index); 1194// qDebug("%d", index);
1195 switch(index) { 1195 switch(index) {
1196 case -16: 1196 case -16:
1197 { 1197 {
1198 1198
1199 mediaPlayerState->toggleFullscreen(); 1199 mediaPlayerState->toggleFullscreen();
1200 bool b=mediaPlayerState->fullscreen(); 1200 bool b=mediaPlayerState->fullscreen();
1201 pmView->setItemChecked( index,b); 1201 pmView->setItemChecked( index,b);
1202 Config cfg( "OpiePlayer" ); 1202 Config cfg( "OpiePlayer" );
1203 cfg.writeEntry("FullScreen", b); 1203 cfg.writeEntry("FullScreen", b);
1204 1204
1205 } 1205 }
1206 break; 1206 break;
1207 }; 1207 };
1208} 1208}
1209 1209
1210void PlayListWidget::populateSkinsMenu() { 1210void PlayListWidget::populateSkinsMenu() {
1211 int item=0; 1211 int item=0;
1212 defaultSkinIndex=0; 1212 defaultSkinIndex=0;
1213 QString skinName; 1213 QString skinName;
1214 Config cfg( "OpiePlayer" ); 1214 Config cfg( "OpiePlayer" );
1215 cfg.setGroup("Options"); 1215 cfg.setGroup("Options");
1216 QString skin = cfg.readEntry("Skin","default"); 1216 QString skin = cfg.readEntry("Skin","default");
1217 1217
1218 QDir skinsDir(QPEApplication::qpeDir()+"/pics/opieplayer2/skins"); 1218 QDir skinsDir(QPEApplication::qpeDir()+"/pics/opieplayer2/skins");
1219 skinsDir.setFilter( QDir::Dirs); 1219 skinsDir.setFilter( QDir::Dirs);
1220 skinsDir.setSorting(QDir::Name); 1220 skinsDir.setSorting(QDir::Name);
1221 const QFileInfoList *skinslist = skinsDir.entryInfoList(); 1221 const QFileInfoList *skinslist = skinsDir.entryInfoList();
1222 QFileInfoListIterator it( *skinslist ); 1222 QFileInfoListIterator it( *skinslist );
1223 QFileInfo *fi; 1223 QFileInfo *fi;
1224 while ( (fi=it.current()) ) { 1224 while ( (fi=it.current()) ) {
1225 skinName = fi->fileName(); 1225 skinName = fi->fileName();
1226 qDebug( fi->fileName()); 1226 qDebug( fi->fileName());
1227 if( skinName != "." && skinName != ".." && skinName !="CVS") 1227 if( skinName != "." && skinName != ".." && skinName !="CVS")
1228 item = skinsMenu->insertItem( fi->fileName()); 1228 item = skinsMenu->insertItem( fi->fileName());
1229 if( skinName == "default") 1229 if( skinName == "default")
1230 defaultSkinIndex = item; 1230 defaultSkinIndex = item;
1231 if( skinName == skin) 1231 if( skinName == skin)
1232 skinsMenu->setItemChecked( item, TRUE); 1232 skinsMenu->setItemChecked( item, TRUE);
1233 1233
1234 ++it; 1234 ++it;
1235 } 1235 }
1236} 1236}
1237 1237
1238void PlayListWidget::skinsMenuActivated(int item) { 1238void PlayListWidget::skinsMenuActivated(int item) {
1239 for(int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i--) { 1239 for(int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i--) {
1240 skinsMenu->setItemChecked( i, FALSE); 1240 skinsMenu->setItemChecked( i, FALSE);
1241 } 1241 }
1242 skinsMenu->setItemChecked( item, TRUE); 1242 skinsMenu->setItemChecked( item, TRUE);
1243 1243
1244 Config cfg( "OpiePlayer" ); 1244 Config cfg( "OpiePlayer" );
1245 cfg.setGroup("Options"); 1245 cfg.setGroup("Options");
1246 cfg.writeEntry("Skin", skinsMenu->text( item)); 1246 cfg.writeEntry("Skin", skinsMenu->text( item));
1247} 1247}