author | llornkcor <llornkcor> | 2002-08-20 02:12:07 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-08-20 02:12:07 (UTC) |
commit | 16b105a34b4e525cf6690e55beacf4baa57e60d7 (patch) (unidiff) | |
tree | 8e3713e7483e11bbbe5ff7133bf505ca266a49e0 | |
parent | 0d336f310b310ba18af70185eed58be6e07c26d8 (diff) | |
download | opie-16b105a34b4e525cf6690e55beacf4baa57e60d7.zip opie-16b105a34b4e525cf6690e55beacf4baa57e60d7.tar.gz opie-16b105a34b4e525cf6690e55beacf4baa57e60d7.tar.bz2 |
added 'initialzing' message to caption, until after xine is initialized
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayer.cpp | 8 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp index 0f8242b..6a48b82 100644 --- a/noncore/multimedia/opieplayer2/mediaplayer.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp | |||
@@ -1,156 +1,159 @@ | |||
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 | ||
26 | extern AudioWidget *audioUI; | 26 | extern AudioWidget *audioUI; |
27 | extern VideoWidget *videoUI; | 27 | extern VideoWidget *videoUI; |
28 | extern PlayListWidget *playList; | 28 | extern PlayListWidget *playList; |
29 | extern MediaPlayerState *mediaPlayerState; | 29 | extern MediaPlayerState *mediaPlayerState; |
30 | 30 | ||
31 | 31 | ||
32 | #define FBIOBLANK 0x4611 | 32 | #define FBIOBLANK 0x4611 |
33 | 33 | ||
34 | MediaPlayer::MediaPlayer( QObject *parent, const char *name ) | 34 | MediaPlayer::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")); | ||
38 | |||
37 | qApp->processEvents(); | 39 | qApp->processEvents(); |
38 | // QPEApplication::grabKeyboard(); // EVIL | 40 | // QPEApplication::grabKeyboard(); // EVIL |
39 | connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); | 41 | connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); |
40 | 42 | ||
41 | connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); | 43 | connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); |
42 | 44 | ||
43 | connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); | 45 | connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); |
44 | 46 | ||
45 | connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); | 47 | connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); |
46 | connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); | 48 | connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); |
47 | connect( mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) ); | 49 | connect( mediaPlayerState, SIGNAL( blankToggled( bool ) ), this, SLOT ( blank( bool ) ) ); |
48 | 50 | ||
49 | connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); | 51 | connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); |
50 | connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); | 52 | connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); |
51 | connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); | 53 | connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); |
52 | connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); | 54 | connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); |
53 | 55 | ||
54 | connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); | 56 | connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) ); |
55 | connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); | 57 | connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) ); |
56 | connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); | 58 | connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) ); |
57 | connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); | 59 | connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) ); |
58 | 60 | ||
59 | volControl = new VolumeControl; | 61 | volControl = new VolumeControl; |
60 | xineControl = new XineControl(); | 62 | xineControl = new XineControl(); |
63 | playList->setCaption(tr("OpiePlayer")); | ||
61 | } | 64 | } |
62 | 65 | ||
63 | MediaPlayer::~MediaPlayer() { | 66 | MediaPlayer::~MediaPlayer() { |
64 | delete xineControl; | 67 | delete xineControl; |
65 | delete volControl; | 68 | delete volControl; |
66 | } | 69 | } |
67 | 70 | ||
68 | void MediaPlayer::pauseCheck( bool b ) { | 71 | void MediaPlayer::pauseCheck( bool b ) { |
69 | if ( b && !mediaPlayerState->playing() ) { | 72 | if ( b && !mediaPlayerState->playing() ) { |
70 | mediaPlayerState->setPaused( FALSE ); | 73 | mediaPlayerState->setPaused( FALSE ); |
71 | } | 74 | } |
72 | } | 75 | } |
73 | 76 | ||
74 | void MediaPlayer::play() { | 77 | void MediaPlayer::play() { |
75 | mediaPlayerState->setPlaying( FALSE ); | 78 | mediaPlayerState->setPlaying( FALSE ); |
76 | mediaPlayerState->setPlaying( TRUE ); | 79 | mediaPlayerState->setPlaying( TRUE ); |
77 | } | 80 | } |
78 | 81 | ||
79 | void MediaPlayer::setPlaying( bool play ) { | 82 | void MediaPlayer::setPlaying( bool play ) { |
80 | if ( !play ) { | 83 | if ( !play ) { |
81 | return; | 84 | return; |
82 | } | 85 | } |
83 | 86 | ||
84 | if ( mediaPlayerState->paused() ) { | 87 | if ( mediaPlayerState->paused() ) { |
85 | mediaPlayerState->setPaused( FALSE ); | 88 | mediaPlayerState->setPaused( FALSE ); |
86 | return; | 89 | return; |
87 | } | 90 | } |
88 | 91 | ||
89 | const DocLnk *playListCurrent = playList->current(); | 92 | const DocLnk *playListCurrent = playList->current(); |
90 | if ( playListCurrent != NULL ) { | 93 | if ( playListCurrent != NULL ) { |
91 | currentFile = playListCurrent; | 94 | currentFile = playListCurrent; |
92 | } | 95 | } |
93 | 96 | ||
94 | xineControl->play( currentFile->file() ); | 97 | xineControl->play( currentFile->file() ); |
95 | 98 | ||
96 | long seconds = mediaPlayerState->length();// | 99 | long seconds = mediaPlayerState->length();// |
97 | QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); | 100 | QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); |
98 | qDebug(time); | 101 | qDebug(time); |
99 | 102 | ||
100 | QString tickerText; | 103 | QString tickerText; |
101 | if( currentFile->file().left(4) == "http" ) | 104 | if( currentFile->file().left(4) == "http" ) |
102 | tickerText= tr( " File: " ) + currentFile->name(); | 105 | tickerText= tr( " File: " ) + currentFile->name(); |
103 | else | 106 | else |
104 | tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time; | 107 | tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time; |
105 | 108 | ||
106 | audioUI->setTickerText( currentFile->file( ) ); | 109 | audioUI->setTickerText( currentFile->file( ) ); |
107 | 110 | ||
108 | } | 111 | } |
109 | 112 | ||
110 | 113 | ||
111 | void MediaPlayer::prev() { | 114 | void MediaPlayer::prev() { |
112 | if ( playList->prev() ) { | 115 | if ( playList->prev() ) { |
113 | play(); | 116 | play(); |
114 | } else if ( mediaPlayerState->looping() ) { | 117 | } else if ( mediaPlayerState->looping() ) { |
115 | if ( playList->last() ) { | 118 | if ( playList->last() ) { |
116 | play(); | 119 | play(); |
117 | } | 120 | } |
118 | } else { | 121 | } else { |
119 | mediaPlayerState->setList(); | 122 | mediaPlayerState->setList(); |
120 | } | 123 | } |
121 | } | 124 | } |
122 | 125 | ||
123 | 126 | ||
124 | void MediaPlayer::next() { | 127 | void MediaPlayer::next() { |
125 | if ( playList->next() ) { | 128 | if ( playList->next() ) { |
126 | play(); | 129 | play(); |
127 | } else if ( mediaPlayerState->looping() ) { | 130 | } else if ( mediaPlayerState->looping() ) { |
128 | if ( playList->first() ) { | 131 | if ( playList->first() ) { |
129 | play(); | 132 | play(); |
130 | } | 133 | } |
131 | } else { | 134 | } else { |
132 | mediaPlayerState->setList(); | 135 | mediaPlayerState->setList(); |
133 | } | 136 | } |
134 | } | 137 | } |
135 | 138 | ||
136 | 139 | ||
137 | void MediaPlayer::startDecreasingVolume() { | 140 | void MediaPlayer::startDecreasingVolume() { |
138 | volumeDirection = -1; | 141 | volumeDirection = -1; |
139 | startTimer( 100 ); | 142 | startTimer( 100 ); |
140 | volControl->decVol(2); | 143 | volControl->decVol(2); |
141 | } | 144 | } |
142 | 145 | ||
143 | 146 | ||
144 | void MediaPlayer::startIncreasingVolume() { | 147 | void MediaPlayer::startIncreasingVolume() { |
145 | volumeDirection = +1; | 148 | volumeDirection = +1; |
146 | startTimer( 100 ); | 149 | startTimer( 100 ); |
147 | volControl->incVol(2); | 150 | volControl->incVol(2); |
148 | } | 151 | } |
149 | 152 | ||
150 | 153 | ||
151 | bool drawnOnScreenDisplay = FALSE; | 154 | bool drawnOnScreenDisplay = FALSE; |
152 | unsigned int onScreenDisplayVolume = 0; | 155 | unsigned int onScreenDisplayVolume = 0; |
153 | const int yoff = 110; | 156 | const int yoff = 110; |
154 | 157 | ||
155 | void MediaPlayer::stopChangingVolume() { | 158 | void MediaPlayer::stopChangingVolume() { |
156 | killTimers(); | 159 | killTimers(); |
@@ -170,126 +173,127 @@ void MediaPlayer::stopChangingVolume() { | |||
170 | } | 173 | } |
171 | } | 174 | } |
172 | 175 | ||
173 | 176 | ||
174 | void MediaPlayer::timerEvent( QTimerEvent * ) { | 177 | void MediaPlayer::timerEvent( QTimerEvent * ) { |
175 | if ( volumeDirection == +1 ) { | 178 | if ( volumeDirection == +1 ) { |
176 | volControl->incVol(2); | 179 | volControl->incVol(2); |
177 | } else if ( volumeDirection == -1 ) { | 180 | } else if ( volumeDirection == -1 ) { |
178 | volControl->decVol(2); | 181 | volControl->decVol(2); |
179 | } | 182 | } |
180 | 183 | ||
181 | 184 | ||
182 | // TODO FIXME | 185 | // TODO FIXME |
183 | unsigned int v= 0; | 186 | unsigned int v= 0; |
184 | v = volControl->volume(); | 187 | v = volControl->volume(); |
185 | v = v / 10; | 188 | v = v / 10; |
186 | 189 | ||
187 | if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) { | 190 | if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) { |
188 | return; | 191 | return; |
189 | } | 192 | } |
190 | 193 | ||
191 | int w=0; int h=0; | 194 | int w=0; int h=0; |
192 | if( !xineControl->hasVideo()) { | 195 | if( !xineControl->hasVideo()) { |
193 | w = audioUI->width(); | 196 | w = audioUI->width(); |
194 | h = audioUI->height(); | 197 | h = audioUI->height(); |
195 | 198 | ||
196 | if ( drawnOnScreenDisplay ) { | 199 | if ( drawnOnScreenDisplay ) { |
197 | if ( onScreenDisplayVolume > v ) { | 200 | if ( onScreenDisplayVolume > v ) { |
198 | 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 ); |
199 | } | 202 | } |
200 | } | 203 | } |
201 | drawnOnScreenDisplay = TRUE; | 204 | drawnOnScreenDisplay = TRUE; |
202 | onScreenDisplayVolume = v; | 205 | onScreenDisplayVolume = v; |
203 | QPainter p( audioUI ); | 206 | QPainter p( audioUI ); |
204 | p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); | 207 | p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); |
205 | p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); | 208 | p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); |
206 | 209 | ||
207 | QFont f; | 210 | QFont f; |
208 | f.setPixelSize( 20 ); | 211 | f.setPixelSize( 20 ); |
209 | f.setBold( TRUE ); | 212 | f.setBold( TRUE ); |
210 | p.setFont( f ); | 213 | p.setFont( f ); |
211 | p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); | 214 | p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); |
212 | 215 | ||
213 | for ( unsigned int i = 0; i < 10; i++ ) { | 216 | for ( unsigned int i = 0; i < 10; i++ ) { |
214 | if ( v > i ) { | 217 | if ( v > i ) { |
215 | 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 ); |
216 | } else { | 219 | } else { |
217 | 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 ); |
218 | } | 221 | } |
219 | } | 222 | } |
220 | } else { | 223 | } else { |
221 | w = videoUI->width(); | 224 | w = videoUI->width(); |
222 | h = videoUI->height(); | 225 | h = videoUI->height(); |
223 | 226 | ||
224 | if ( drawnOnScreenDisplay ) { | 227 | if ( drawnOnScreenDisplay ) { |
225 | if ( onScreenDisplayVolume > v ) { | 228 | if ( onScreenDisplayVolume > v ) { |
226 | 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 ); |
227 | } | 230 | } |
228 | } | 231 | } |
229 | drawnOnScreenDisplay = TRUE; | 232 | drawnOnScreenDisplay = TRUE; |
230 | onScreenDisplayVolume = v; | 233 | onScreenDisplayVolume = v; |
231 | QPainter p( videoUI ); | 234 | QPainter p( videoUI ); |
232 | p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); | 235 | p.setPen( QColor( 0x10, 0xD0, 0x10 ) ); |
233 | p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); | 236 | p.setBrush( QColor( 0x10, 0xD0, 0x10 ) ); |
234 | 237 | ||
235 | QFont f; | 238 | QFont f; |
236 | f.setPixelSize( 20 ); | 239 | f.setPixelSize( 20 ); |
237 | f.setBold( TRUE ); | 240 | f.setBold( TRUE ); |
238 | p.setFont( f ); | 241 | p.setFont( f ); |
239 | p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); | 242 | p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") ); |
240 | 243 | ||
241 | for ( unsigned int i = 0; i < 10; i++ ) { | 244 | for ( unsigned int i = 0; i < 10; i++ ) { |
242 | if ( v > i ) { | 245 | if ( v > i ) { |
243 | 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 ); |
244 | } else { | 247 | } else { |
245 | 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 ); |
246 | } | 249 | } |
247 | } | 250 | } |
248 | } | 251 | } |
249 | } | 252 | } |
250 | 253 | ||
251 | 254 | ||
252 | void MediaPlayer::blank( bool b ) { | 255 | void MediaPlayer::blank( bool b ) { |
253 | fd=open("/dev/fb0",O_RDWR); | 256 | fd=open("/dev/fb0",O_RDWR); |
254 | if (fd != -1) { | 257 | if (fd != -1) { |
255 | if ( b ) { | 258 | if ( b ) { |
256 | qDebug("do blanking"); | 259 | qDebug("do blanking"); |
257 | ioctl( fd, FBIOBLANK, 3 ); | 260 | ioctl( fd, FBIOBLANK, 3 ); |
258 | isBlanked = TRUE; | 261 | isBlanked = TRUE; |
259 | } else { | 262 | } else { |
260 | qDebug("do unblanking"); | 263 | qDebug("do unblanking"); |
261 | ioctl( fd, FBIOBLANK, 0); | 264 | ioctl( fd, FBIOBLANK, 0); |
262 | isBlanked = FALSE; | 265 | isBlanked = FALSE; |
263 | } | 266 | } |
264 | close( fd ); | 267 | close( fd ); |
265 | } else { | 268 | } else { |
266 | qDebug("<< /dev/fb0 could not be opend >>"); | 269 | qDebug("<< /dev/fb0 could not be opened >>"); |
267 | } | 270 | } |
268 | } | 271 | } |
269 | 272 | ||
270 | void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { | 273 | void MediaPlayer::keyReleaseEvent( QKeyEvent *e) { |
271 | switch ( e->key() ) { | 274 | switch ( e->key() ) { |
272 | ////////////////////////////// Zaurus keys | 275 | ////////////////////////////// Zaurus keys |
273 | case Key_Home: | 276 | case Key_Home: |
274 | break; | 277 | break; |
275 | case Key_F9: //activity | 278 | case Key_F9: //activity |
276 | break; | 279 | break; |
277 | case Key_F10: //contacts | 280 | case Key_F10: //contacts |
278 | break; | 281 | break; |
279 | case Key_F11: //menu | 282 | case Key_F11: //menu |
280 | break; | 283 | break; |
281 | case Key_F12: //home | 284 | case Key_F12: //home |
282 | qDebug("Blank here"); | 285 | qDebug("Blank here"); |
283 | // mediaPlayerState->toggleBlank(); | 286 | // mediaPlayerState->toggleBlank(); |
284 | break; | 287 | break; |
285 | case Key_F13: //mail | 288 | case Key_F13: //mail |
286 | qDebug("Blank here"); | 289 | qDebug("Blank here"); |
287 | // mediaPlayerState->toggleBlank(); | 290 | // mediaPlayerState->toggleBlank(); |
288 | break; | 291 | break; |
289 | } | 292 | } |
290 | } | 293 | } |
291 | 294 | ||
292 | void MediaPlayer::cleanUp() { | 295 | void MediaPlayer::cleanUp() {// this happens on closing |
296 | |||
293 | // QPEApplication::grabKeyboard(); | 297 | // QPEApplication::grabKeyboard(); |
294 | // QPEApplication::ungrabKeyboard(); | 298 | // QPEApplication::ungrabKeyboard(); |
295 | } | 299 | } |
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index 251c2e5..5c804f5 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp | |||
@@ -6,193 +6,193 @@ | |||
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 | ||
50 | extern MediaPlayerState *mediaPlayerState; | 50 | extern MediaPlayerState *mediaPlayerState; |
51 | 51 | ||
52 | 52 | ||
53 | class PlayListWidgetPrivate { | 53 | class PlayListWidgetPrivate { |
54 | public: | 54 | public: |
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 | ||
64 | class ToolButton : public QToolButton { | 64 | class ToolButton : public QToolButton { |
65 | public: | 65 | public: |
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 | ||
79 | class MenuItem : public QAction { | 79 | class MenuItem : public QAction { |
80 | public: | 80 | public: |
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 | ||
89 | PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | 89 | PlayListWidget::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 |