-rw-r--r-- | noncore/multimedia/opieplayer2/audiowidget.cpp | 5 |
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 | ||
336 | static QString timeAsString( long length ) { | 336 | static 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 | ||
342 | void AudioWidget::updateSlider( long i, long max ) { | 342 | void 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 | ||
366 | void AudioWidget::setToggleButton( int i, bool down ) { | 366 | void 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 | ||
374 | void AudioWidget::toggleButton( int i ) { | 374 | void 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 | ||
381 | void AudioWidget::paintButton( QPainter *p, int i ) { | 381 | void 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 | ||
390 | void AudioWidget::skipFor() { | 390 | void 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 | ||
396 | void AudioWidget::skipBack() { | 396 | void 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 | ||
404 | void AudioWidget::stopSkip() { | 404 | void AudioWidget::stopSkip() { |
405 | killTimers(); | 405 | killTimers(); |
406 | } | 406 | } |
407 | 407 | ||
408 | 408 | ||
409 | void AudioWidget::timerEvent( QTimerEvent * ) { | 409 | void 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 | ||
418 | void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { | 418 | void 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 | ||
486 | void AudioWidget::mousePressEvent( QMouseEvent *event ) { | 486 | void AudioWidget::mousePressEvent( QMouseEvent *event ) { |
487 | mouseMoveEvent( event ); | 487 | mouseMoveEvent( event ); |
488 | } | 488 | } |
489 | 489 | ||
490 | 490 | ||
491 | void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) { | 491 | void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) { |
492 | mouseMoveEvent( event ); | 492 | mouseMoveEvent( event ); |
493 | } | 493 | } |
494 | 494 | ||
495 | 495 | ||
496 | void AudioWidget::showEvent( QShowEvent* ) { | 496 | void 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 | ||
502 | void AudioWidget::closeEvent( QCloseEvent* ) { | 502 | void AudioWidget::closeEvent( QCloseEvent* ) { |
503 | mediaPlayerState->setList(); | 503 | mediaPlayerState->setList(); |
504 | } | 504 | } |
505 | 505 | ||
506 | 506 | ||
507 | void AudioWidget::paintEvent( QPaintEvent * pe) { | 507 | void 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 | ||
525 | void AudioWidget::keyReleaseEvent( QKeyEvent *e) { | 525 | void 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 | } |