summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-11-10 16:43:22 (UTC)
committer harlekin <harlekin>2002-11-10 16:43:22 (UTC)
commit5a8660a4089fa2160da47e2a4d63baea431b48b1 (patch) (unidiff)
tree4d4e7edb3c8fe6dc741fb19c6f5587093f7d4a57
parentcb4821802897bbf6e06be3b2608656e05db68b96 (diff)
downloadopie-5a8660a4089fa2160da47e2a4d63baea431b48b1.zip
opie-5a8660a4089fa2160da47e2a4d63baea431b48b1.tar.gz
opie-5a8660a4089fa2160da47e2a4d63baea431b48b1.tar.bz2
update
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp49
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h1
2 files changed, 25 insertions, 25 deletions
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index a847605..c643273 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -112,65 +112,64 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
112 112
113 if ( !masks[i]->isNull() ) { 113 if ( !masks[i]->isNull() ) {
114 QImage imgMask = masks[i]->convertToImage(); 114 QImage imgMask = masks[i]->convertToImage();
115 uchar **dest = imgButtonMask->jumpTable(); 115 uchar **dest = imgButtonMask->jumpTable();
116 for ( int y = 0; y < imgUp->height(); y++ ) { 116 for ( int y = 0; y < imgUp->height(); y++ ) {
117 uchar *line = dest[y]; 117 uchar *line = dest[y];
118 for ( int x = 0; x < imgUp->width(); x++ ) { 118 for ( int x = 0; x < imgUp->width(); x++ ) {
119 if ( !qRed( imgMask.pixel( x, y ) ) ) 119 if ( !qRed( imgMask.pixel( x, y ) ) )
120 line[x] = i + 1; 120 line[x] = i + 1;
121 } 121 }
122 } 122 }
123 } 123 }
124 } 124 }
125 125
126 for ( int i = 0; i < 7; i++ ) { 126 for ( int i = 0; i < 7; i++ ) {
127 buttonPixUp[i] = NULL; 127 buttonPixUp[i] = NULL;
128 buttonPixDown[i] = NULL; 128 buttonPixDown[i] = NULL;
129 } 129 }
130 130
131 setBackgroundPixmap( *pixBg ); 131 setBackgroundPixmap( *pixBg );
132 132
133 slider = new QSlider( Qt::Horizontal, this ); 133 slider = new QSlider( Qt::Horizontal, this );
134 slider->setMinValue( 0 ); 134 slider->setMinValue( 0 );
135 slider->setMaxValue( 1 ); 135 slider->setMaxValue( 1 );
136 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) ); 136 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
137 //slider->setFocusPolicy( QWidget::NoFocus ); 137 //slider->setFocusPolicy( QWidget::NoFocus );
138 138
139 resizeEvent( NULL ); 139 resizeEvent( NULL );
140 140
141 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) ); 141 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) );
142 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) ); 142 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
143 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) ); 143 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
144 connect( mediaPlayerState, SIGNAL( isSeekableToggled( bool ) ), this, SLOT( setSeekable( bool ) ) );
145 144
146 setLength( mediaPlayerState->length() ); 145 setLength( mediaPlayerState->length() );
147 setPosition( mediaPlayerState->position() ); 146 setPosition( mediaPlayerState->position() );
148 setFullscreen( mediaPlayerState->fullscreen() ); 147 setFullscreen( mediaPlayerState->fullscreen() );
149 setPlaying( mediaPlayerState->playing() ); 148 setPlaying( mediaPlayerState->playing() );
150} 149}
151 150
152 151
153VideoWidget::~VideoWidget() { 152VideoWidget::~VideoWidget() {
154 153
155 for ( int i = 0; i < 7; i++ ) { 154 for ( int i = 0; i < 7; i++ ) {
156 delete buttonPixUp[i]; 155 delete buttonPixUp[i];
157 delete buttonPixDown[i]; 156 delete buttonPixDown[i];
158 } 157 }
159 158
160 delete pixBg; 159 delete pixBg;
161 delete imgUp; 160 delete imgUp;
162 delete imgDn; 161 delete imgDn;
163 delete imgButtonMask; 162 delete imgButtonMask;
164 for ( int i = 0; i < 7; i++ ) { 163 for ( int i = 0; i < 7; i++ ) {
165 delete masks[i]; 164 delete masks[i];
166 } 165 }
167 166
168} 167}
169 168
170QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) { 169QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
171 QPixmap pix( img.width(), img.height() ); 170 QPixmap pix( img.width(), img.height() );
172 QPainter p( &pix ); 171 QPainter p( &pix );
173 p.drawTiledPixmap( pix.rect(), bg, offset ); 172 p.drawTiledPixmap( pix.rect(), bg, offset );
174 p.drawImage( 0, 0, img ); 173 p.drawImage( 0, 0, img );
175 return new QPixmap( pix ); 174 return new QPixmap( pix );
176} 175}
@@ -352,169 +351,171 @@ void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
352 } 351 }
353 } 352 }
354} 353}
355 354
356void VideoWidget::mousePressEvent( QMouseEvent *event ) { 355void VideoWidget::mousePressEvent( QMouseEvent *event ) {
357 mouseMoveEvent( event ); 356 mouseMoveEvent( event );
358} 357}
359 358
360void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { 359void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
361 if ( mediaPlayerState->fullscreen() ) { 360 if ( mediaPlayerState->fullscreen() ) {
362 mediaPlayerState->setFullscreen( FALSE ); 361 mediaPlayerState->setFullscreen( FALSE );
363 makeVisible(); 362 makeVisible();
364 } 363 }
365 mouseMoveEvent( event ); 364 mouseMoveEvent( event );
366} 365}
367 366
368void VideoWidget::showEvent( QShowEvent* ) { 367void VideoWidget::showEvent( QShowEvent* ) {
369 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 368 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
370 mouseMoveEvent( &event ); 369 mouseMoveEvent( &event );
371} 370}
372 371
373 372
374 void VideoWidget::backToNormal() { 373 void VideoWidget::backToNormal() {
375 mediaPlayerState->setFullscreen( FALSE ); 374 mediaPlayerState->setFullscreen( FALSE );
376 makeVisible(); 375 makeVisible();
377 } 376 }
378 377
379void VideoWidget::makeVisible() { 378void VideoWidget::makeVisible() {
380 if ( mediaPlayerState->fullscreen() ) { 379 if ( mediaPlayerState->fullscreen() ) {
381 setBackgroundMode( QWidget::NoBackground ); 380 setBackgroundMode( QWidget::NoBackground );
382 showFullScreen(); 381 showFullScreen();
383 resize( qApp->desktop()->size() ); 382 resize( qApp->desktop()->size() );
384 slider->hide();
385 videoFrame-> setGeometry ( 0, 0, width ( ), height ( )); 383 videoFrame-> setGeometry ( 0, 0, width ( ), height ( ));
384
385 slider->hide();
386 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
387 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
388 disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
389 disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
390
386 } else { 391 } else {
387 showNormal(); 392 showNormal();
388 showMaximized(); 393 showMaximized();
389 setBackgroundPixmap( *pixBg ); 394 setBackgroundPixmap( *pixBg );
390 QWidget *d = QApplication::desktop(); 395 QWidget *d = QApplication::desktop();
391 int w = d->width(); 396 int w = d->width();
392 int h = d->height(); 397 int h = d->height();
393 398
394 if(w>h) { 399 if(w>h) {
395 int newW=(w/2)-(246/2); //this will only work with 320x240 400 int newW=(w/2)-(246/2); //this will only work with 320x240
396 videoFrame->setGeometry( QRect( newW, 4, 240, 170 ) ); 401 videoFrame->setGeometry( QRect( newW, 4, 240, 170 ) );
397 } else { 402 } else {
398 videoFrame->setGeometry( QRect( 0, 30, 240, 170 ) ); 403 videoFrame->setGeometry( QRect( 0, 30, 240, 170 ) );
399 } 404 }
400 }
401}
402
403 405
404void VideoWidget::setSeekable( bool isSeekable ) { 406 if ( !mediaPlayerState->seekable() ) {
405 407 if( !slider->isHidden()) {
406 if ( !isSeekable || mediaPlayerState->fullscreen() ) { 408 slider->hide();
407 qDebug("<<<<<<<<<<<<<<file is STREAMING>>>>>>>>>>>>>>>>>>>"); 409 }
408 if( !slider->isHidden()) { 410 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
409 slider->hide(); 411 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
412 disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
413 disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
414 } else {
415 slider->show();
416 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
417 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
418 connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
419 connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
410 } 420 }
411 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
412 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
413 disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
414 disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
415 } else {
416 slider->show();
417 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
418 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
419 connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
420 connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
421 } 421 }
422} 422}
423 423
424 424
425
426
425void VideoWidget::paintEvent( QPaintEvent * pe) { 427void VideoWidget::paintEvent( QPaintEvent * pe) {
426 QPainter p( this ); 428 QPainter p( this );
427 429
428 if ( mediaPlayerState->fullscreen() ) { 430 if ( mediaPlayerState->fullscreen() ) {
429 // Clear the background 431 // Clear the background
430 p.setBrush( QBrush( Qt::black ) ); 432 p.setBrush( QBrush( Qt::black ) );
431 } else { 433 } else {
432 if ( !pe->erased() ) { 434 if ( !pe->erased() ) {
433 // Combine with background and double buffer 435 // Combine with background and double buffer
434 QPixmap pix( pe->rect().size() ); 436 QPixmap pix( pe->rect().size() );
435 QPainter p( &pix ); 437 QPainter p( &pix );
436 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 438 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
437 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() ); 439 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() );
438 for ( int i = 0; i < numVButtons; i++ ) { 440 for ( int i = 0; i < numVButtons; i++ ) {
439 paintButton( &p, i ); 441 paintButton( &p, i );
440 } 442 }
441 QPainter p2( this ); 443 QPainter p2( this );
442 p2.drawPixmap( pe->rect().topLeft(), pix ); 444 p2.drawPixmap( pe->rect().topLeft(), pix );
443 } else { 445 } else {
444 QPainter p( this ); 446 QPainter p( this );
445 for ( int i = 0; i < numVButtons; i++ ) 447 for ( int i = 0; i < numVButtons; i++ )
446 paintButton( &p, i ); 448 paintButton( &p, i );
447 } 449 }
448 //slider->repaint( TRUE ); 450 //slider->repaint( TRUE );
449 } 451 }
450} 452}
451 453
452 454
453void VideoWidget::closeEvent( QCloseEvent* ) { 455void VideoWidget::closeEvent( QCloseEvent* ) {
454 mediaPlayerState->setList(); 456 mediaPlayerState->setList();
455} 457}
456 458
457 459
458
459void VideoWidget::keyReleaseEvent( QKeyEvent *e) { 460void VideoWidget::keyReleaseEvent( QKeyEvent *e) {
460 switch ( e->key() ) { 461 switch ( e->key() ) {
461////////////////////////////// Zaurus keys 462////////////////////////////// Zaurus keys
462 case Key_Home: 463 case Key_Home:
463 break; 464 break;
464 case Key_F9: //activity 465 case Key_F9: //activity
465 break; 466 break;
466 case Key_F10: //contacts 467 case Key_F10: //contacts
467// hide(); 468// hide();
468 break; 469 break;
469 case Key_F11: //menu 470 case Key_F11: //menu
470 break; 471 break;
471 case Key_F12: //home 472 case Key_F12: //home
472 break; 473 break;
473 case Key_F13: //mail 474 case Key_F13: //mail
474 break; 475 break;
475 case Key_Space: { 476 case Key_Space: {
476 if(mediaPlayerState->playing()) { 477 if(mediaPlayerState->playing()) {
477 mediaPlayerState->setPlaying(FALSE); 478 mediaPlayerState->setPlaying(FALSE);
478 } else { 479 } else {
479 mediaPlayerState->setPlaying(TRUE); 480 mediaPlayerState->setPlaying(TRUE);
480 } 481 }
481 } 482 }
482 break; 483 break;
483 case Key_Down: 484 case Key_Down:
484// toggleButton(6); 485// toggleButton(6);
485 emit lessClicked(); 486 emit lessClicked();
486 emit lessReleased(); 487 emit lessReleased();
487// toggleButton(6); 488// toggleButton(6);
488 break; 489 break;
489 case Key_Up: 490 case Key_Up:
490// toggleButton(5); 491// toggleButton(5);
491 emit moreClicked(); 492 emit moreClicked();
492 emit moreReleased(); 493 emit moreReleased();
493// toggleButton(5); 494// toggleButton(5);
494 break; 495 break;
495 case Key_Right: 496 case Key_Right:
496 mediaPlayerState->setNext(); 497 mediaPlayerState->setNext();
497 break; 498 break;
498 case Key_Left: 499 case Key_Left:
499 mediaPlayerState->setPrev(); 500 mediaPlayerState->setPrev();
500 break; 501 break;
501 case Key_Escape: 502 case Key_Escape:
502 break; 503 break;
503 504
504 }; 505 };
505} 506}
506 507
507XineVideoWidget* VideoWidget::vidWidget() { 508XineVideoWidget* VideoWidget::vidWidget() {
508 return videoFrame; 509 return videoFrame;
509} 510}
510 511
511 512
512void VideoWidget::setFullscreen ( bool b ) { 513void VideoWidget::setFullscreen ( bool b ) {
513 setToggleButton( VideoFullscreen, b ); 514 setToggleButton( VideoFullscreen, b );
514} 515}
515 516
516 517
517void VideoWidget::setPlaying( bool b) { 518void VideoWidget::setPlaying( bool b) {
518 setToggleButton( VideoPlay, b ); 519 setToggleButton( VideoPlay, b );
519} 520}
520 521
diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h
index fd02805..990fa5f 100644
--- a/noncore/multimedia/opieplayer2/videowidget.h
+++ b/noncore/multimedia/opieplayer2/videowidget.h
@@ -40,65 +40,64 @@
40class QPixmap; 40class QPixmap;
41class QSlider; 41class QSlider;
42 42
43enum VideoButtons { 43enum VideoButtons {
44 VideoStop = 0, 44 VideoStop = 0,
45 VideoPlay, 45 VideoPlay,
46// VideoPause, 46// VideoPause,
47 VideoPrevious, 47 VideoPrevious,
48 VideoNext, 48 VideoNext,
49 VideoVolUp, 49 VideoVolUp,
50 VideoVolDown, 50 VideoVolDown,
51 VideoFullscreen 51 VideoFullscreen
52}; 52};
53 53
54class VideoWidget : public QWidget { 54class VideoWidget : public QWidget {
55 Q_OBJECT 55 Q_OBJECT
56public: 56public:
57 VideoWidget( QWidget* parent=0, const char* name=0, WFlags f=0 ); 57 VideoWidget( QWidget* parent=0, const char* name=0, WFlags f=0 );
58 ~VideoWidget(); 58 ~VideoWidget();
59 59
60 60
61 XineVideoWidget* vidWidget(); 61 XineVideoWidget* vidWidget();
62public slots: 62public slots:
63 void updateSlider( long, long ); 63 void updateSlider( long, long );
64 void sliderPressed( ); 64 void sliderPressed( );
65 void sliderReleased( ); 65 void sliderReleased( );
66 void setPlaying( bool b); 66 void setPlaying( bool b);
67 void setFullscreen( bool b ); 67 void setFullscreen( bool b );
68 void makeVisible(); 68 void makeVisible();
69 void backToNormal(); 69 void backToNormal();
70 void setPosition( long ); 70 void setPosition( long );
71 void setLength( long ); 71 void setLength( long );
72 void setSeekable( bool );
73 void setView( char ); 72 void setView( char );
74 73
75signals: 74signals:
76 void moreClicked(); 75 void moreClicked();
77 void lessClicked(); 76 void lessClicked();
78 void moreReleased(); 77 void moreReleased();
79 void lessReleased(); 78 void lessReleased();
80 void sliderMoved( long ); 79 void sliderMoved( long );
81 void videoResized ( const QSize &s ); 80 void videoResized ( const QSize &s );
82 81
83protected: 82protected:
84 83
85 void resizeEvent( QResizeEvent * ); 84 void resizeEvent( QResizeEvent * );
86 void paintEvent( QPaintEvent *pe ); 85 void paintEvent( QPaintEvent *pe );
87 void showEvent( QShowEvent *se ); 86 void showEvent( QShowEvent *se );
88 void mouseMoveEvent( QMouseEvent *event ); 87 void mouseMoveEvent( QMouseEvent *event );
89 void mousePressEvent( QMouseEvent *event ); 88 void mousePressEvent( QMouseEvent *event );
90 void mouseReleaseEvent( QMouseEvent *event ); 89 void mouseReleaseEvent( QMouseEvent *event );
91 void closeEvent( QCloseEvent *event ); 90 void closeEvent( QCloseEvent *event );
92 void keyReleaseEvent( QKeyEvent *e); 91 void keyReleaseEvent( QKeyEvent *e);
93 92
94private: 93private:
95// Ticker songInfo; 94// Ticker songInfo;
96 QPixmap *pixBg; 95 QPixmap *pixBg;
97 QImage *imgUp; 96 QImage *imgUp;
98 QImage *imgDn; 97 QImage *imgDn;
99 QImage *imgButtonMask; 98 QImage *imgButtonMask;
100 QBitmap *masks[7]; 99 QBitmap *masks[7];
101 QPixmap *buttonPixUp[7]; 100 QPixmap *buttonPixUp[7];
102 QPixmap *buttonPixDown[7]; 101 QPixmap *buttonPixDown[7];
103 QString skin; 102 QString skin;
104// QPixmap *pixmaps[4]; 103// QPixmap *pixmaps[4];