summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp1
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 6f3842f..ddb4d74 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -252,250 +252,251 @@ void VideoWidget::updateSlider( long i, long max ) {
252 int width = slider->width(); 252 int width = slider->width();
253 int val = int((double)i * width / max); 253 int val = int((double)i * width / max);
254 if ( !mediaPlayerState->fullscreen() && !videoSliderBeingMoved ) { 254 if ( !mediaPlayerState->fullscreen() && !videoSliderBeingMoved ) {
255 if ( slider->value() != val ) { 255 if ( slider->value() != val ) {
256 slider->setValue( val ); 256 slider->setValue( val );
257 } 257 }
258 if ( slider->maxValue() != width ) { 258 if ( slider->maxValue() != width ) {
259 slider->setMaxValue( width ); 259 slider->setMaxValue( width );
260 } 260 }
261 } 261 }
262} 262}
263 263
264void VideoWidget::setToggleButton( int i, bool down ) { 264void VideoWidget::setToggleButton( int i, bool down ) {
265 if ( down != videoButtons[i].isDown ) { 265 if ( down != videoButtons[i].isDown ) {
266 toggleButton( i ); 266 toggleButton( i );
267 } 267 }
268} 268}
269 269
270void VideoWidget::toggleButton( int i ) { 270void VideoWidget::toggleButton( int i ) {
271 videoButtons[i].isDown = !videoButtons[i].isDown; 271 videoButtons[i].isDown = !videoButtons[i].isDown;
272 QPainter p(this); 272 QPainter p(this);
273 paintButton ( &p, i ); 273 paintButton ( &p, i );
274} 274}
275 275
276void VideoWidget::paintButton( QPainter *p, int i ) { 276void VideoWidget::paintButton( QPainter *p, int i ) {
277 277
278 if ( videoButtons[i].isDown ) { 278 if ( videoButtons[i].isDown ) {
279 p->drawPixmap( xoff, yoff, *buttonPixDown[i] ); 279 p->drawPixmap( xoff, yoff, *buttonPixDown[i] );
280 } else { 280 } else {
281 p->drawPixmap( xoff, yoff, *buttonPixUp[i] ); 281 p->drawPixmap( xoff, yoff, *buttonPixUp[i] );
282 } 282 }
283} 283}
284 284
285void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { 285void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
286 for ( int i = 0; i < numVButtons; i++ ) { 286 for ( int i = 0; i < numVButtons; i++ ) {
287 if ( event->state() == QMouseEvent::LeftButton ) { 287 if ( event->state() == QMouseEvent::LeftButton ) {
288 // The test to see if the mouse click is inside the button or not 288 // The test to see if the mouse click is inside the button or not
289 int x = event->pos().x() - xoff; 289 int x = event->pos().x() - xoff;
290 int y = event->pos().y() - yoff; 290 int y = event->pos().y() - yoff;
291 291
292 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width() 292 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width()
293 && y < imgButtonMask->height() 293 && y < imgButtonMask->height()
294 && imgButtonMask->pixelIndex( x, y ) == i + 1 ); 294 && imgButtonMask->pixelIndex( x, y ) == i + 1 );
295 295
296 if ( isOnButton && !videoButtons[i].isHeld ) { 296 if ( isOnButton && !videoButtons[i].isHeld ) {
297 videoButtons[i].isHeld = TRUE; 297 videoButtons[i].isHeld = TRUE;
298 toggleButton(i); 298 toggleButton(i);
299 299
300 switch (i) { 300 switch (i) {
301 case VideoVolUp: 301 case VideoVolUp:
302 emit moreClicked(); 302 emit moreClicked();
303 return; 303 return;
304 case VideoVolDown: 304 case VideoVolDown:
305 emit lessClicked(); 305 emit lessClicked();
306 return; 306 return;
307 } 307 }
308 } else if ( !isOnButton && videoButtons[i].isHeld ) { 308 } else if ( !isOnButton && videoButtons[i].isHeld ) {
309 videoButtons[i].isHeld = FALSE; 309 videoButtons[i].isHeld = FALSE;
310 toggleButton(i); 310 toggleButton(i);
311 } 311 }
312 } else { 312 } else {
313 313
314 if ( videoButtons[i].isHeld ) { 314 if ( videoButtons[i].isHeld ) {
315 videoButtons[i].isHeld = FALSE; 315 videoButtons[i].isHeld = FALSE;
316 if ( !videoButtons[i].isToggle ) { 316 if ( !videoButtons[i].isToggle ) {
317 setToggleButton( i, FALSE ); 317 setToggleButton( i, FALSE );
318 } 318 }
319 319
320 switch(i) { 320 switch(i) {
321 321
322 case VideoPlay: { 322 case VideoPlay: {
323 if( mediaPlayerState->isPaused ) { 323 if( mediaPlayerState->isPaused ) {
324 setToggleButton( i, FALSE ); 324 setToggleButton( i, FALSE );
325 mediaPlayerState->setPaused( FALSE ); 325 mediaPlayerState->setPaused( FALSE );
326 return; 326 return;
327 } else if( !mediaPlayerState->isPaused ) { 327 } else if( !mediaPlayerState->isPaused ) {
328 setToggleButton( i, TRUE ); 328 setToggleButton( i, TRUE );
329 mediaPlayerState->setPaused( TRUE ); 329 mediaPlayerState->setPaused( TRUE );
330 return; 330 return;
331 } else { 331 } else {
332 return; 332 return;
333 } 333 }
334 } 334 }
335 335
336 case VideoStop: mediaPlayerState->setPlaying( FALSE ); return; 336 case VideoStop: mediaPlayerState->setPlaying( FALSE ); return;
337 case VideoNext: mediaPlayerState->setNext(); return; 337 case VideoNext: mediaPlayerState->setNext(); return;
338 case VideoPrevious: mediaPlayerState->setPrev(); return; 338 case VideoPrevious: mediaPlayerState->setPrev(); return;
339 case VideoVolUp: emit moreReleased(); return; 339 case VideoVolUp: emit moreReleased(); return;
340 case VideoVolDown: emit lessReleased(); return; 340 case VideoVolDown: emit lessReleased(); return;
341 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return; 341 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
342 } 342 }
343 } 343 }
344 } 344 }
345 } 345 }
346} 346}
347 347
348void VideoWidget::mousePressEvent( QMouseEvent *event ) { 348void VideoWidget::mousePressEvent( QMouseEvent *event ) {
349 mouseMoveEvent( event ); 349 mouseMoveEvent( event );
350} 350}
351 351
352void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { 352void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
353 if ( mediaPlayerState->fullscreen() ) { 353 if ( mediaPlayerState->fullscreen() ) {
354 mediaPlayerState->setFullscreen( FALSE ); 354 mediaPlayerState->setFullscreen( FALSE );
355 makeVisible(); 355 makeVisible();
356 } 356 }
357 mouseMoveEvent( event ); 357 mouseMoveEvent( event );
358} 358}
359 359
360void VideoWidget::showEvent( QShowEvent* ) { 360void VideoWidget::showEvent( QShowEvent* ) {
361 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 361 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
362 mouseMoveEvent( &event ); 362 mouseMoveEvent( &event );
363} 363}
364 364
365 365
366 void VideoWidget::backToNormal() { 366 void VideoWidget::backToNormal() {
367 mediaPlayerState->setFullscreen( FALSE ); 367 mediaPlayerState->setFullscreen( FALSE );
368 makeVisible(); 368 makeVisible();
369 } 369 }
370 370
371void VideoWidget::makeVisible() { 371void VideoWidget::makeVisible() {
372 if ( mediaPlayerState->fullscreen() ) { 372 if ( mediaPlayerState->fullscreen() ) {
373 setBackgroundMode( QWidget::NoBackground ); 373 setBackgroundMode( QWidget::NoBackground );
374 showFullScreen(); 374 showFullScreen();
375 resize( qApp->desktop()->size() ); 375 resize( qApp->desktop()->size() );
376 slider->hide(); 376 slider->hide();
377 videoFrame-> setGeometry ( 0, 0, width ( ), height ( )); 377 videoFrame-> setGeometry ( 0, 0, width ( ), height ( ));
378 378
379 } else { 379 } else {
380 showNormal();
380 showMaximized(); 381 showMaximized();
381 setBackgroundPixmap( *pixBg ); 382 setBackgroundPixmap( *pixBg );
382 if ( mediaPlayerState->streaming() ) { 383 if ( mediaPlayerState->streaming() ) {
383 slider->hide(); 384 slider->hide();
384 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 385 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
385 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 386 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
386 } else { 387 } else {
387 slider->show(); 388 slider->show();
388 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 389 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
389 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 390 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
390 } 391 }
391 videoFrame->setGeometry( QRect( 0, 30, 240, 170 ) ); 392 videoFrame->setGeometry( QRect( 0, 30, 240, 170 ) );
392 qApp->processEvents(); 393 qApp->processEvents();
393 } 394 }
394} 395}
395 396
396 397
397void VideoWidget::paintEvent( QPaintEvent * pe) { 398void VideoWidget::paintEvent( QPaintEvent * pe) {
398 QPainter p( this ); 399 QPainter p( this );
399 400
400 if ( mediaPlayerState->fullscreen() ) { 401 if ( mediaPlayerState->fullscreen() ) {
401 // Clear the background 402 // Clear the background
402 p.setBrush( QBrush( Qt::black ) ); 403 p.setBrush( QBrush( Qt::black ) );
403 } else { 404 } else {
404 if ( !pe->erased() ) { 405 if ( !pe->erased() ) {
405 // Combine with background and double buffer 406 // Combine with background and double buffer
406 QPixmap pix( pe->rect().size() ); 407 QPixmap pix( pe->rect().size() );
407 QPainter p( &pix ); 408 QPainter p( &pix );
408 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 409 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
409 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() ); 410 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() );
410 for ( int i = 0; i < numVButtons; i++ ) { 411 for ( int i = 0; i < numVButtons; i++ ) {
411 paintButton( &p, i ); 412 paintButton( &p, i );
412 } 413 }
413 QPainter p2( this ); 414 QPainter p2( this );
414 p2.drawPixmap( pe->rect().topLeft(), pix ); 415 p2.drawPixmap( pe->rect().topLeft(), pix );
415 } else { 416 } else {
416 QPainter p( this ); 417 QPainter p( this );
417 for ( int i = 0; i < numVButtons; i++ ) 418 for ( int i = 0; i < numVButtons; i++ )
418 paintButton( &p, i ); 419 paintButton( &p, i );
419 } 420 }
420 slider->repaint( TRUE ); 421 slider->repaint( TRUE );
421 } 422 }
422} 423}
423 424
424 425
425void VideoWidget::closeEvent( QCloseEvent* ) { 426void VideoWidget::closeEvent( QCloseEvent* ) {
426 mediaPlayerState->setList(); 427 mediaPlayerState->setList();
427} 428}
428 429
429 430
430 431
431void VideoWidget::keyReleaseEvent( QKeyEvent *e) { 432void VideoWidget::keyReleaseEvent( QKeyEvent *e) {
432 switch ( e->key() ) { 433 switch ( e->key() ) {
433////////////////////////////// Zaurus keys 434////////////////////////////// Zaurus keys
434 case Key_Home: 435 case Key_Home:
435 break; 436 break;
436 case Key_F9: //activity 437 case Key_F9: //activity
437 break; 438 break;
438 case Key_F10: //contacts 439 case Key_F10: //contacts
439// hide(); 440// hide();
440 break; 441 break;
441 case Key_F11: //menu 442 case Key_F11: //menu
442 break; 443 break;
443 case Key_F12: //home 444 case Key_F12: //home
444 break; 445 break;
445 case Key_F13: //mail 446 case Key_F13: //mail
446 break; 447 break;
447 case Key_Space: { 448 case Key_Space: {
448 if(mediaPlayerState->playing()) { 449 if(mediaPlayerState->playing()) {
449 mediaPlayerState->setPlaying(FALSE); 450 mediaPlayerState->setPlaying(FALSE);
450 } else { 451 } else {
451 mediaPlayerState->setPlaying(TRUE); 452 mediaPlayerState->setPlaying(TRUE);
452 } 453 }
453 } 454 }
454 break; 455 break;
455 case Key_Down: 456 case Key_Down:
456// toggleButton(6); 457// toggleButton(6);
457 emit lessClicked(); 458 emit lessClicked();
458 emit lessReleased(); 459 emit lessReleased();
459// toggleButton(6); 460// toggleButton(6);
460 break; 461 break;
461 case Key_Up: 462 case Key_Up:
462// toggleButton(5); 463// toggleButton(5);
463 emit moreClicked(); 464 emit moreClicked();
464 emit moreReleased(); 465 emit moreReleased();
465// toggleButton(5); 466// toggleButton(5);
466 break; 467 break;
467 case Key_Right: 468 case Key_Right:
468 mediaPlayerState->setNext(); 469 mediaPlayerState->setNext();
469 break; 470 break;
470 case Key_Left: 471 case Key_Left:
471 mediaPlayerState->setPrev(); 472 mediaPlayerState->setPrev();
472 break; 473 break;
473 case Key_Escape: 474 case Key_Escape:
474#if defined(QT_QWS_IPAQ) 475#if defined(QT_QWS_IPAQ)
475 if( mediaPlayerState->isPaused ) { 476 if( mediaPlayerState->isPaused ) {
476 setToggleButton( i, FALSE ); 477 setToggleButton( i, FALSE );
477 mediaPlayerState->setPaused( FALSE ); 478 mediaPlayerState->setPaused( FALSE );
478 } else if( !mediaPlayerState->isPaused ) { 479 } else if( !mediaPlayerState->isPaused ) {
479 setToggleButton( i, TRUE ); 480 setToggleButton( i, TRUE );
480 mediaPlayerState->setPaused( TRUE ); 481 mediaPlayerState->setPaused( TRUE );
481 } 482 }
482#endif 483#endif
483 break; 484 break;
484 485
485 }; 486 };
486} 487}
487 488
488XineVideoWidget* VideoWidget::vidWidget() { 489XineVideoWidget* VideoWidget::vidWidget() {
489 return videoFrame; 490 return videoFrame;
490} 491}
491 492
492 493
493void VideoWidget::setFullscreen ( bool b ) { 494void VideoWidget::setFullscreen ( bool b ) {
494 setToggleButton( VideoFullscreen, b ); 495 setToggleButton( VideoFullscreen, b );
495} 496}
496 497
497 498
498void VideoWidget::setPlaying( bool b) { 499void VideoWidget::setPlaying( bool b) {
499 setToggleButton( VideoPlay, b ); 500 setToggleButton( VideoPlay, b );
500} 501}
501 502
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
index 8fd2743..c03ea16 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.cpp
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -1,200 +1,201 @@
1/* 1/*
2                This file is part of the Opie Project 2                This file is part of the Opie Project
3 3
4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org> 4              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com> 5 Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> 6 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
7 =. 7 =.
8 .=l. 8 .=l.
9           .>+-= 9           .>+-=
10 _;:,     .>    :=|. This program is free software; you can 10 _;:,     .>    :=|. This program is free software; you can
11.> <`_,   >  .   <= redistribute it and/or modify it under 11.> <`_,   >  .   <= redistribute it and/or modify it under
12:`=1 )Y*s>-.--   : the terms of the GNU General Public 12:`=1 )Y*s>-.--   : the terms of the GNU General Public
13.="- .-=="i,     .._ License as published by the Free Software 13.="- .-=="i,     .._ License as published by the Free Software
14 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
15     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
16    .%`+i>       _;_. 16    .%`+i>       _;_.
17    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.=       =       ; Library General Public License for more 22..}^=.=       =       ; Library General Public License for more
23++=   -.     .`     .: details. 23++=   -.     .`     .: details.
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34 34
35#include <qtimer.h> 35#include <qtimer.h>
36#include <qpe/qcopenvelope_qws.h> 36#include <qpe/qcopenvelope_qws.h>
37#include <qpe/qpeapplication.h> 37#include <qpe/qpeapplication.h>
38#include "xinecontrol.h" 38#include "xinecontrol.h"
39#include "mediaplayerstate.h" 39#include "mediaplayerstate.h"
40#include "videowidget.h" 40#include "videowidget.h"
41 41
42extern MediaPlayerState *mediaPlayerState; 42extern MediaPlayerState *mediaPlayerState;
43extern VideoWidget *videoUI; 43extern VideoWidget *videoUI;
44XineControl::XineControl( QObject *parent, const char *name ) 44XineControl::XineControl( QObject *parent, const char *name )
45 : QObject( parent, name ) { 45 : QObject( parent, name ) {
46 libXine = new XINE::Lib(videoUI->vidWidget() ); 46 libXine = new XINE::Lib(videoUI->vidWidget() );
47 47
48 connect ( videoUI, SIGNAL( videoResized ( const QSize & )), this, SLOT( videoResized ( const QSize & ))); 48 connect ( videoUI, SIGNAL( videoResized ( const QSize & )), this, SLOT( videoResized ( const QSize & )));
49 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) ); 49 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) );
50 connect( this, SIGNAL( positionChanged( long ) ), mediaPlayerState, SLOT( updatePosition( long ) ) ); 50 connect( this, SIGNAL( positionChanged( long ) ), mediaPlayerState, SLOT( updatePosition( long ) ) );
51 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) ); 51 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) );
52 connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), this, SLOT( setFullscreen( bool ) ) ); 52 connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), this, SLOT( setFullscreen( bool ) ) );
53 connect( mediaPlayerState, SIGNAL( positionChanged( long ) ), this, SLOT( seekTo( long ) ) ); 53 connect( mediaPlayerState, SIGNAL( positionChanged( long ) ), this, SLOT( seekTo( long ) ) );
54 connect( libXine, SIGNAL( stopped() ), this, SLOT( nextMedia() ) ); 54 connect( libXine, SIGNAL( stopped() ), this, SLOT( nextMedia() ) );
55 55
56 disabledSuspendScreenSaver = FALSE; 56 disabledSuspendScreenSaver = FALSE;
57} 57}
58 58
59XineControl::~XineControl() { 59XineControl::~XineControl() {
60#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 60#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
61 if ( disabledSuspendScreenSaver ) { 61 if ( disabledSuspendScreenSaver ) {
62 disabledSuspendScreenSaver = FALSE; 62 disabledSuspendScreenSaver = FALSE;
63 // Re-enable the suspend mode 63 // Re-enable the suspend mode
64 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; 64 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
65 } 65 }
66#endif 66#endif
67 delete libXine; 67 delete libXine;
68} 68}
69 69
70void XineControl::play( const QString& fileName ) { 70void XineControl::play( const QString& fileName ) {
71 hasVideoChannel=FALSE; 71 hasVideoChannel=FALSE;
72 hasAudioChannel=FALSE; 72 hasAudioChannel=FALSE;
73 m_fileName = fileName; 73 m_fileName = fileName;
74 qDebug("<<FILENAME: " + fileName + ">>>>");
74 libXine->play( fileName ); 75 libXine->play( fileName );
75 mediaPlayerState->setPlaying( true ); 76 mediaPlayerState->setPlaying( true );
76 // default to audio view until we know how to handle video 77 // default to audio view until we know how to handle video
77 // MediaDetect mdetect; 78 // MediaDetect mdetect;
78 char whichGui = mdetect.videoOrAudio( fileName ); 79 char whichGui = mdetect.videoOrAudio( fileName );
79 if (whichGui == 'f') { 80 if (whichGui == 'f') {
80 qDebug("Nicht erkannter Dateityp"); 81 qDebug("Nicht erkannter Dateityp");
81 return; 82 return;
82 } 83 }
83 84
84 if (whichGui == 'a') { 85 if (whichGui == 'a') {
85 libXine->setShowVideo( false ); 86 libXine->setShowVideo( false );
86 hasAudioChannel=TRUE; 87 hasAudioChannel=TRUE;
87 } else { 88 } else {
88 libXine->setShowVideo( true ); 89 libXine->setShowVideo( true );
89 hasVideoChannel=TRUE; 90 hasVideoChannel=TRUE;
90 } 91 }
91 92
92 // determine if slider is shown 93 // determine if slider is shown
93 // mediaPlayerState->setIsStreaming( mdetect.isStreaming( fileName ) ); 94 // mediaPlayerState->setIsStreaming( mdetect.isStreaming( fileName ) );
94 mediaPlayerState->setIsStreaming( !libXine->isSeekable() ); 95 mediaPlayerState->setIsStreaming( !libXine->isSeekable() );
95 // which gui (video / audio) 96 // which gui (video / audio)
96 mediaPlayerState->setView( whichGui ); 97 mediaPlayerState->setView( whichGui );
97 98
98#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 99#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
99 if ( !disabledSuspendScreenSaver ) { 100 if ( !disabledSuspendScreenSaver ) {
100 disabledSuspendScreenSaver = TRUE; 101 disabledSuspendScreenSaver = TRUE;
101 // Stop the screen from blanking and power saving state 102 // Stop the screen from blanking and power saving state
102 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) 103 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" )
103 << ( whichGui == 'v' ? QPEApplication::Disable : QPEApplication::DisableSuspend ); 104 << ( whichGui == 'v' ? QPEApplication::Disable : QPEApplication::DisableSuspend );
104 } 105 }
105#endif 106#endif
106 107
107 length(); 108 length();
108 position(); 109 position();
109} 110}
110 111
111void XineControl::nextMedia() { 112void XineControl::nextMedia() {
112 mediaPlayerState->setNext(); 113 mediaPlayerState->setNext();
113} 114}
114 115
115void XineControl::stop( bool isSet ) { 116void XineControl::stop( bool isSet ) {
116 if ( !isSet) { 117 if ( !isSet) {
117 libXine->stop( ); 118 libXine->stop( );
118 mediaPlayerState->setList(); 119 mediaPlayerState->setList();
119 // mediaPlayerState->setPlaying( false ); 120 // mediaPlayerState->setPlaying( false );
120 121
121#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 122#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
122 if ( disabledSuspendScreenSaver ) { 123 if ( disabledSuspendScreenSaver ) {
123 disabledSuspendScreenSaver = FALSE; 124 disabledSuspendScreenSaver = FALSE;
124 // Re-enable the suspend mode 125 // Re-enable the suspend mode
125 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; 126 QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
126 } 127 }
127#endif 128#endif
128 129
129 } else { 130 } else {
130 // play again 131 // play again
131 } 132 }
132} 133}
133 134
134/** 135/**
135 * Pause playback 136 * Pause playback
136 * @isSet 137 * @isSet
137 */ 138 */
138void XineControl::pause( bool isSet) { 139void XineControl::pause( bool isSet) {
139 if (isSet) { 140 if (isSet) {
140 libXine->pause(); 141 libXine->pause();
141 } else { 142 } else {
142 libXine->play( m_fileName, 0, m_currentTime); 143 libXine->play( m_fileName, 0, m_currentTime);
143 } 144 }
144} 145}
145 146
146 147
147/** 148/**
148 * get current time in playback 149 * get current time in playback
149 */ 150 */
150long XineControl::currentTime() { 151long XineControl::currentTime() {
151 // todo: jede sekunde überprüfen 152 // todo: jede sekunde überprüfen
152 m_currentTime = libXine->currentTime(); 153 m_currentTime = libXine->currentTime();
153 return m_currentTime; 154 return m_currentTime;
154 QTimer::singleShot( 1000, this, SLOT( currentTime() ) ); 155 QTimer::singleShot( 1000, this, SLOT( currentTime() ) );
155} 156}
156 157
157/** 158/**
158 * Set the length of the media file 159 * Set the length of the media file
159 */ 160 */
160void XineControl::length() { 161void XineControl::length() {
161 m_length = libXine->length(); 162 m_length = libXine->length();
162 mediaPlayerState->setLength( m_length ); 163 mediaPlayerState->setLength( m_length );
163} 164}
164 165
165 166
166/** 167/**
167 * Reports the position the xine backend is at right now 168 * Reports the position the xine backend is at right now
168 * @return long the postion in seconds 169 * @return long the postion in seconds
169 */ 170 */
170long XineControl::position() { 171long XineControl::position() {
171 m_position = ( currentTime() ); 172 m_position = ( currentTime() );
172 mediaPlayerState->updatePosition( m_position ); 173 mediaPlayerState->updatePosition( m_position );
173 long emitPos = (long)m_position; 174 long emitPos = (long)m_position;
174 emit positionChanged( emitPos ); 175 emit positionChanged( emitPos );
175 if(mediaPlayerState->isPlaying) 176 if(mediaPlayerState->isPlaying)
176 // needs to be stopped the media is stopped 177 // needs to be stopped the media is stopped
177 QTimer::singleShot( 1000, this, SLOT( position() ) ); 178 QTimer::singleShot( 1000, this, SLOT( position() ) );
178// qDebug("POSITION : %d", m_position); 179// qDebug("POSITION : %d", m_position);
179 return m_position; 180 return m_position;
180} 181}
181 182
182/** 183/**
183 * Set videoplayback to fullscreen 184 * Set videoplayback to fullscreen
184 * @param isSet 185 * @param isSet
185 */ 186 */
186void XineControl::setFullscreen( bool isSet ) { 187void XineControl::setFullscreen( bool isSet ) {
187 libXine->showVideoFullScreen( isSet); 188 libXine->showVideoFullScreen( isSet);
188} 189}
189 190
190/** 191/**
191 * Seek to a position in the track 192 * Seek to a position in the track
192 * @param second the second to jump to 193 * @param second the second to jump to
193 */ 194 */
194void XineControl::seekTo( long second ) { 195void XineControl::seekTo( long second ) {
195 libXine->play( m_fileName , 0, (int)second ); 196 libXine->play( m_fileName , 0, (int)second );
196} 197}
197 198
198void XineControl::videoResized ( const QSize &s ) { 199void XineControl::videoResized ( const QSize &s ) {
199 libXine-> resize ( s ); 200 libXine-> resize ( s );
200} 201}