summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index a718826..040e965 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -323,270 +323,273 @@ void AudioWidget::setView( char view ) {
323 } 323 }
324 324
325 if ( view == 'a' ) { 325 if ( view == 'a' ) {
326 // startTimer( 150 ); 326 // startTimer( 150 );
327 showMaximized(); 327 showMaximized();
328 } else { 328 } else {
329 killTimers(); 329 killTimers();
330 hide(); 330 hide();
331 } 331 }
332 qApp->processEvents(); 332 qApp->processEvents();
333} 333}
334 334
335 335
336static QString timeAsString( long length ) { 336static QString timeAsString( long length ) {
337 int minutes = length / 60; 337 int minutes = length / 60;
338 int seconds = length % 60; 338 int seconds = length % 60;
339 return QString("%1:%2%3").arg( minutes ).arg( seconds / 10 ).arg( seconds % 10 ); 339 return QString("%1:%2%3").arg( minutes ).arg( seconds / 10 ).arg( seconds % 10 );
340} 340}
341 341
342void AudioWidget::updateSlider( long i, long max ) { 342void AudioWidget::updateSlider( long i, long max ) {
343 343
344 time.setText( timeAsString( i ) + " / " + timeAsString( max ) ); 344 time.setText( timeAsString( i ) + " / " + timeAsString( max ) );
345// qDebug( timeAsString( i ) + " / " + timeAsString( max ) ) ; 345// qDebug( timeAsString( i ) + " / " + timeAsString( max ) ) ;
346 346
347 if ( max == 0 ) { 347 if ( max == 0 ) {
348 return; 348 return;
349 } 349 }
350 // Will flicker too much if we don't do this 350 // Will flicker too much if we don't do this
351 // Scale to something reasonable 351 // Scale to something reasonable
352 int width = slider.width(); 352 int width = slider.width();
353 int val = int((double)i * width / max); 353 int val = int((double)i * width / max);
354 if ( !audioSliderBeingMoved ) { 354 if ( !audioSliderBeingMoved ) {
355 if ( slider.value() != val ) { 355 if ( slider.value() != val ) {
356 slider.setValue( val ); 356 slider.setValue( val );
357 } 357 }
358 358
359 if ( slider.maxValue() != width ) { 359 if ( slider.maxValue() != width ) {
360 slider.setMaxValue( width ); 360 slider.setMaxValue( width );
361 } 361 }
362 } 362 }
363} 363}
364 364
365 365
366void AudioWidget::setToggleButton( int i, bool down ) { 366void AudioWidget::setToggleButton( int i, bool down ) {
367 qDebug("setToggleButton %d", i); 367 qDebug("setToggleButton %d", i);
368 if ( down != audioButtons[i].isDown ) { 368 if ( down != audioButtons[i].isDown ) {
369 toggleButton( i ); 369 toggleButton( i );
370 } 370 }
371} 371}
372 372
373 373
374void AudioWidget::toggleButton( int i ) { 374void AudioWidget::toggleButton( int i ) {
375 audioButtons[i].isDown = !audioButtons[i].isDown; 375 audioButtons[i].isDown = !audioButtons[i].isDown;
376 QPainter p(this); 376 QPainter p(this);
377 paintButton ( &p, i ); 377 paintButton ( &p, i );
378} 378}
379 379
380 380
381void AudioWidget::paintButton( QPainter *p, int i ) { 381void AudioWidget::paintButton( QPainter *p, int i ) {
382 if ( audioButtons[i].isDown ) { 382 if ( audioButtons[i].isDown ) {
383 p->drawPixmap( xoff, yoff, *buttonPixDown[i] ); 383 p->drawPixmap( xoff, yoff, *buttonPixDown[i] );
384 } else { 384 } else {
385 p->drawPixmap( xoff, yoff, *buttonPixUp[i] ); 385 p->drawPixmap( xoff, yoff, *buttonPixUp[i] );
386 } 386 }
387} 387}
388 388
389 389
390void AudioWidget::skipFor() { 390void AudioWidget::skipFor() {
391 skipDirection = +1; 391 skipDirection = +1;
392 startTimer( 50 ); 392 startTimer( 50 );
393 mediaPlayerState->setPosition( mediaPlayerState->position() + 2 ); 393 mediaPlayerState->setPosition( mediaPlayerState->position() + 2 );
394} 394}
395 395
396void AudioWidget::skipBack() { 396void AudioWidget::skipBack() {
397 skipDirection = -1; 397 skipDirection = -1;
398 startTimer( 50 ); 398 startTimer( 50 );
399 mediaPlayerState->setPosition( mediaPlayerState->position() - 2 ); 399 mediaPlayerState->setPosition( mediaPlayerState->position() - 2 );
400} 400}
401 401
402 402
403 403
404void AudioWidget::stopSkip() { 404void AudioWidget::stopSkip() {
405 killTimers(); 405 killTimers();
406} 406}
407 407
408 408
409void AudioWidget::timerEvent( QTimerEvent * ) { 409void AudioWidget::timerEvent( QTimerEvent * ) {
410 if ( skipDirection == +1 ) { 410 if ( skipDirection == +1 ) {
411 mediaPlayerState->setPosition( mediaPlayerState->position() + 2 ); 411 mediaPlayerState->setPosition( mediaPlayerState->position() + 2 );
412 } else if ( skipDirection == -1 ) { 412 } else if ( skipDirection == -1 ) {
413 mediaPlayerState->setPosition( mediaPlayerState->position() - 2 ); 413 mediaPlayerState->setPosition( mediaPlayerState->position() - 2 );
414 } 414 }
415} 415}
416 416
417 417
418void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { 418void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
419 for ( int i = 0; i < numButtons; i++ ) { 419 for ( int i = 0; i < numButtons; i++ ) {
420 if ( event->state() == QMouseEvent::LeftButton ) { 420 if ( event->state() == QMouseEvent::LeftButton ) {
421 // The test to see if the mouse click is inside the button or not 421 // The test to see if the mouse click is inside the button or not
422 int x = event->pos().x() - xoff; 422 int x = event->pos().x() - xoff;
423 int y = event->pos().y() - yoff; 423 int y = event->pos().y() - yoff;
424 424
425 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width() 425 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width()
426 && y < imgButtonMask->height() 426 && y < imgButtonMask->height()
427 && imgButtonMask->pixelIndex( x, y ) == i + 1 ); 427 && imgButtonMask->pixelIndex( x, y ) == i + 1 );
428 428
429 if ( isOnButton && !audioButtons[i].isHeld ) { 429 if ( isOnButton && !audioButtons[i].isHeld ) {
430 audioButtons[i].isHeld = TRUE; 430 audioButtons[i].isHeld = TRUE;
431 toggleButton(i); 431 toggleButton(i);
432 switch (i) { 432 switch (i) {
433 case AudioVolumeUp: 433 case AudioVolumeUp:
434 emit moreClicked(); 434 emit moreClicked();
435 return; 435 return;
436 case AudioVolumeDown: 436 case AudioVolumeDown:
437 emit lessClicked(); 437 emit lessClicked();
438 return; 438 return;
439 case AudioForward: 439 case AudioForward:
440 emit forwardClicked(); 440 emit forwardClicked();
441 return; 441 return;
442 case AudioBack: 442 case AudioBack:
443 emit backClicked(); 443 emit backClicked();
444 return; 444 return;
445 } 445 }
446 } else if ( !isOnButton && audioButtons[i].isHeld ) { 446 } else if ( !isOnButton && audioButtons[i].isHeld ) {
447 audioButtons[i].isHeld = FALSE; 447 audioButtons[i].isHeld = FALSE;
448 toggleButton(i); 448 toggleButton(i);
449 } 449 }
450 } else { 450 } else {
451 if ( audioButtons[i].isHeld ) { 451 if ( audioButtons[i].isHeld ) {
452 audioButtons[i].isHeld = FALSE; 452 audioButtons[i].isHeld = FALSE;
453 if ( !audioButtons[i].isToggle ) { 453 if ( !audioButtons[i].isToggle ) {
454 setToggleButton( i, FALSE ); 454 setToggleButton( i, FALSE );
455 } 455 }
456 switch (i) { 456 switch (i) {
457 case AudioPlay: 457 case AudioPlay:
458 if( mediaPlayerState->isPaused ) { 458 if( mediaPlayerState->isPaused ) {
459// setToggleButton( i, FALSE ); 459// setToggleButton( i, FALSE );
460 mediaPlayerState->setPaused( FALSE ); 460 mediaPlayerState->setPaused( FALSE );
461 return; 461 return;
462 } else if( !mediaPlayerState->isPaused ) { 462 } else if( !mediaPlayerState->isPaused ) {
463// setToggleButton( i, TRUE ); 463// setToggleButton( i, TRUE );
464 mediaPlayerState->setPaused( TRUE ); 464 mediaPlayerState->setPaused( TRUE );
465 return; 465 return;
466 } else { 466 } else {
467 // setToggleButton( i, TRUE ); 467 // setToggleButton( i, TRUE );
468 // mediaPlayerState->setPlaying( videoButtons[i].isDown ); 468 // mediaPlayerState->setPlaying( videoButtons[i].isDown );
469 } 469 }
470 case AudioStop: mediaPlayerState->setPlaying(FALSE); return; 470 case AudioStop: mediaPlayerState->setPlaying(FALSE); return;
471 case AudioNext: mediaPlayerState->setNext(); return; 471 case AudioNext: mediaPlayerState->setNext(); return;
472 case AudioPrevious: mediaPlayerState->setPrev(); return; 472 case AudioPrevious: mediaPlayerState->setPrev(); return;
473 case AudioLoop: mediaPlayerState->setLooping(audioButtons[i].isDown); return; 473 case AudioLoop: mediaPlayerState->setLooping(audioButtons[i].isDown); return;
474 case AudioVolumeUp: emit moreReleased(); return; 474 case AudioVolumeUp: emit moreReleased(); return;
475 case AudioVolumeDown: emit lessReleased(); return; 475 case AudioVolumeDown: emit lessReleased(); return;
476 case AudioPlayList: mediaPlayerState->setList(); return; 476 case AudioPlayList: mediaPlayerState->setList(); return;
477 case AudioForward: emit forwardReleased(); return; 477 case AudioForward: emit forwardReleased(); return;
478 case AudioBack: emit backReleased(); return; 478 case AudioBack: emit backReleased(); return;
479 } 479 }
480 } 480 }
481 } 481 }
482 } 482 }
483} 483}
484 484
485 485
486void AudioWidget::mousePressEvent( QMouseEvent *event ) { 486void AudioWidget::mousePressEvent( QMouseEvent *event ) {
487 mouseMoveEvent( event ); 487 mouseMoveEvent( event );
488} 488}
489 489
490 490
491void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) { 491void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) {
492 mouseMoveEvent( event ); 492 mouseMoveEvent( event );
493} 493}
494 494
495 495
496void AudioWidget::showEvent( QShowEvent* ) { 496void AudioWidget::showEvent( QShowEvent* ) {
497 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 497 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
498 mouseMoveEvent( &event ); 498 mouseMoveEvent( &event );
499} 499}
500 500
501 501
502void AudioWidget::closeEvent( QCloseEvent* ) { 502void AudioWidget::closeEvent( QCloseEvent* ) {
503 mediaPlayerState->setList(); 503 mediaPlayerState->setList();
504} 504}
505 505
506 506
507void AudioWidget::paintEvent( QPaintEvent * pe) { 507void AudioWidget::paintEvent( QPaintEvent * pe) {
508 if ( !pe->erased() ) { 508 if ( !pe->erased() ) {
509 // Combine with background and double buffer 509 // Combine with background and double buffer
510 QPixmap pix( pe->rect().size() ); 510 QPixmap pix( pe->rect().size() );
511 QPainter p( &pix ); 511 QPainter p( &pix );
512 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 512 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
513 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() ); 513 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() );
514 for ( int i = 0; i < numButtons; i++ ) 514 for ( int i = 0; i < numButtons; i++ )
515 paintButton( &p, i ); 515 paintButton( &p, i );
516 QPainter p2( this ); 516 QPainter p2( this );
517 p2.drawPixmap( pe->rect().topLeft(), pix ); 517 p2.drawPixmap( pe->rect().topLeft(), pix );
518 } else { 518 } else {
519 QPainter p( this ); 519 QPainter p( this );
520 for ( int i = 0; i < numButtons; i++ ) 520 for ( int i = 0; i < numButtons; i++ )
521 paintButton( &p, i ); 521 paintButton( &p, i );
522 } 522 }
523} 523}
524 524
525void AudioWidget::keyReleaseEvent( QKeyEvent *e) { 525void AudioWidget::keyReleaseEvent( QKeyEvent *e) {
526 switch ( e->key() ) { 526 switch ( e->key() ) {
527 ////////////////////////////// Zaurus keys 527 ////////////////////////////// Zaurus keys
528 case Key_Home: 528 case Key_Home:
529 break; 529 break;
530 case Key_F9: //activity 530 case Key_F9: //activity
531 hide(); 531 hide();
532 // qDebug("Audio F9"); 532 // qDebug("Audio F9");
533 break; 533 break;
534 case Key_F10: //contacts 534 case Key_F10: //contacts
535 break; 535 break;
536 case Key_F11: //menu 536 case Key_F11: //menu
537 mediaPlayerState->toggleBlank(); 537 mediaPlayerState->toggleBlank();
538 break; 538 break;
539 case Key_F12: //home 539 case Key_F12: //home
540 break; 540 break;
541 case Key_F13: //mail 541 case Key_F13: //mail
542 mediaPlayerState->toggleBlank(); 542 mediaPlayerState->toggleBlank();
543 break; 543 break;
544 case Key_Space: { 544 case Key_Space: {
545 if(mediaPlayerState->playing()) { 545 if(mediaPlayerState->playing()) {
546 // toggleButton(1); 546 // toggleButton(1);
547 mediaPlayerState->setPlaying(FALSE); 547 mediaPlayerState->setPlaying(FALSE);
548 // toggleButton(1); 548 // toggleButton(1);
549 } else { 549 } else {
550 // toggleButton(0); 550 // toggleButton(0);
551 mediaPlayerState->setPlaying(TRUE); 551 mediaPlayerState->setPlaying(TRUE);
552 // toggleButton(0); 552 // toggleButton(0);
553 } 553 }
554 } 554 }
555 break; 555 break;
556 case Key_Down: 556 case Key_Down:
557 // toggleButton(6); 557 // toggleButton(6);
558 emit lessClicked(); 558 emit lessClicked();
559 emit lessReleased(); 559 emit lessReleased();
560 // toggleButton(6); 560 // toggleButton(6);
561 break; 561 break;
562 case Key_Up: 562 case Key_Up:
563 // toggleButton(5); 563 // toggleButton(5);
564 emit moreClicked(); 564 emit moreClicked();
565 emit moreReleased(); 565 emit moreReleased();
566 // toggleButton(5); 566 // toggleButton(5);
567 break; 567 break;
568 case Key_Right: 568 case Key_Right:
569 // toggleButton(3); 569 // toggleButton(3);
570 mediaPlayerState->setNext(); 570 mediaPlayerState->setNext();
571 // toggleButton(3); 571 // toggleButton(3);
572 break; 572 break;
573 case Key_Left: 573 case Key_Left:
574 // toggleButton(4); 574 // toggleButton(4);
575 mediaPlayerState->setPrev(); 575 mediaPlayerState->setPrev();
576 // toggleButton(4); 576 // toggleButton(4);
577 break; 577 break;
578 case Key_Escape: { 578 case Key_Escape: {
579#if defined(QT_QWS_IPAQ) 579/*
580 * author pleas tell me where the i come from .-)
581 #if defined(QT_QWS_IPAQ)
580 if( mediaPlayerState->isPaused ) { 582 if( mediaPlayerState->isPaused ) {
581 setToggleButton( i, FALSE ); 583 setToggleButton( i, FALSE );
582 mediaPlayerState->setPaused( FALSE ); 584 mediaPlayerState->setPaused( FALSE );
583 } else if( !mediaPlayerState->isPaused ) { 585 } else if( !mediaPlayerState->isPaused ) {
584 setToggleButton( i, TRUE ); 586 setToggleButton( i, TRUE );
585 mediaPlayerState->setPaused( TRUE ); 587 mediaPlayerState->setPaused( TRUE );
586 } 588 }
587#endif 589#endif
590*/
588 } 591 }
589 break; 592 break;
590 593
591 }; 594 };
592} 595}