summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h7
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp25
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h2
3 files changed, 29 insertions, 5 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index 0b9d826..9cb75ae 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -20,30 +20,35 @@
20#ifndef MEDIAWIDGET_H 20#ifndef MEDIAWIDGET_H
21#define MEDIAWIDGET_H 21#define MEDIAWIDGET_H
22 22
23#include <qwidget.h> 23#include <qwidget.h>
24 24
25#include "mediaplayerstate.h" 25#include "mediaplayerstate.h"
26#include "playlistwidget.h" 26#include "playlistwidget.h"
27 27
28#include <vector>
29
28class MediaWidget : public QWidget 30class MediaWidget : public QWidget
29{ 31{
30 Q_OBJECT 32 Q_OBJECT
31public: 33public:
32 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back }; 34 enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back };
33 35
34 struct Button 36 struct Button
35 { 37 {
36// Button() : isToggle( false ), isHeld( false ), isDown( false ) {} 38 //Button() : isToggle( false ), isHeld( false ), isDown( false ) {}
39// Button( bool toggle, bool held, bool down )
40// : isToggle( toggle ), isHeld( held ), isDown( down ) {}
37 41
38 bool isToggle : 1; 42 bool isToggle : 1;
39 bool isHeld : 1; 43 bool isHeld : 1;
40 bool isDown : 1; 44 bool isDown : 1;
41 }; 45 };
46 typedef std::vector<Button> ButtonVector;
42 47
43 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); 48 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 );
44 virtual ~MediaWidget(); 49 virtual ~MediaWidget();
45 50
46public slots: 51public slots:
47 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0; 52 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0;
48 virtual void setLength( long length ) = 0; 53 virtual void setLength( long length ) = 0;
49 virtual void setPlaying( bool playing ) = 0; 54 virtual void setPlaying( bool playing ) = 0;
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 7c20c6d..efd756c 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -54,39 +54,56 @@
54 54
55 55
56namespace 56namespace
57{ 57{
58 58
59const int xo = 2; // movable x offset 59const int xo = 2; // movable x offset
60const int yo = 0; // movable y offset 60const int yo = 0; // movable y offset
61 61
62/*
62MediaWidget::Button videoButtons[] = { 63MediaWidget::Button videoButtons[] = {
63 { FALSE, FALSE, FALSE }, // stop 64 { FALSE, FALSE, FALSE }, // stop
64 { TRUE, FALSE, FALSE }, // play 65 { TRUE, FALSE, FALSE }, // play
65 { FALSE, FALSE, FALSE }, // previous 66 { FALSE, FALSE, FALSE }, // previous
66 { FALSE, FALSE, FALSE }, // next 67 { FALSE, FALSE, FALSE }, // next
67 { FALSE, FALSE, FALSE }, // volUp 68 { FALSE, FALSE, FALSE }, // volUp
68 { FALSE, FALSE, FALSE }, // volDown 69 { FALSE, FALSE, FALSE }, // volDown
69 { TRUE, FALSE, FALSE } // fullscreen 70 { TRUE, FALSE, FALSE } // fullscreen
70}; 71};
72*/
71 73
72const char * const skinV_mask_file_names[7] = { 74const char * const skinV_mask_file_names[7] = {
73"stop","play","back","fwd","up","down","full" 75"stop","play","back","fwd","up","down","full"
74}; 76};
75 77
76const int numVButtons = (sizeof(videoButtons)/sizeof(MediaWidget::Button)); 78//const int numVButtons = (sizeof(videoButtons)/sizeof(MediaWidget::Button));
77 79
78} 80}
79 81
80VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name ) 82VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
81 : MediaWidget( playList, mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) 83 : MediaWidget( playList, mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 )
82{ 84{
83 setCaption( tr("OpiePlayer - Video") ); 85 setCaption( tr("OpiePlayer - Video") );
84 86
87 Button defaultButton;
88 defaultButton.isToggle = defaultButton.isHeld = defaultButton.isDown = false;
89 Button toggleButton;
90 toggleButton.isToggle = true;
91 toggleButton.isHeld = toggleButton.isDown = false;
92
93 videoButtons.reserve( 7 );
94 videoButtons.push_back( defaultButton ); // stop
95 videoButtons.push_back( toggleButton ); // play
96 videoButtons.push_back( defaultButton ); // previous
97 videoButtons.push_back( defaultButton ); // next
98 videoButtons.push_back( defaultButton ); // volUp
99 videoButtons.push_back( defaultButton ); // volDown
100 videoButtons.push_back( toggleButton ); //fullscreen
101
85 videoFrame = new XineVideoWidget ( this, "Video frame" ); 102 videoFrame = new XineVideoWidget ( this, "Video frame" );
86 103
87 connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & ))); 104 connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & )));
88 connect ( videoFrame, SIGNAL( clicked () ), this, SLOT ( backToNormal() ) ); 105 connect ( videoFrame, SIGNAL( clicked () ), this, SLOT ( backToNormal() ) );
89 106
90 Config cfg("OpiePlayer"); 107 Config cfg("OpiePlayer");
91 cfg.setGroup("Options"); 108 cfg.setGroup("Options");
92 skin = cfg.readEntry("Skin","default"); 109 skin = cfg.readEntry("Skin","default");
@@ -271,17 +288,17 @@ void VideoWidget::paintButton( QPainter *p, int i ) {
271 if ( videoButtons[i].isDown ) { 288 if ( videoButtons[i].isDown ) {
272 p->drawPixmap( xoff, yoff, *buttonPixDown[i] ); 289 p->drawPixmap( xoff, yoff, *buttonPixDown[i] );
273 } else { 290 } else {
274 p->drawPixmap( xoff, yoff, *buttonPixUp[i] ); 291 p->drawPixmap( xoff, yoff, *buttonPixUp[i] );
275 } 292 }
276} 293}
277 294
278void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { 295void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
279 for ( int i = 0; i < numVButtons; i++ ) { 296 for ( unsigned int i = 0; i < videoButtons.size(); i++ ) {
280 if ( event->state() == QMouseEvent::LeftButton ) { 297 if ( event->state() == QMouseEvent::LeftButton ) {
281 // The test to see if the mouse click is inside the button or not 298 // The test to see if the mouse click is inside the button or not
282 int x = event->pos().x() - xoff; 299 int x = event->pos().x() - xoff;
283 int y = event->pos().y() - yoff; 300 int y = event->pos().y() - yoff;
284 301
285 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask.width() 302 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask.width()
286 && y < imgButtonMask.height() 303 && y < imgButtonMask.height()
287 && imgButtonMask.pixelIndex( x, y ) == i + 1 ); 304 && imgButtonMask.pixelIndex( x, y ) == i + 1 );
@@ -418,24 +435,24 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
418 p.setBrush( QBrush( Qt::black ) ); 435 p.setBrush( QBrush( Qt::black ) );
419 } else { 436 } else {
420 if ( !pe->erased() ) { 437 if ( !pe->erased() ) {
421 // Combine with background and double buffer 438 // Combine with background and double buffer
422 QPixmap pix( pe->rect().size() ); 439 QPixmap pix( pe->rect().size() );
423 QPainter p( &pix ); 440 QPainter p( &pix );
424 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 441 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
425 p.drawTiledPixmap( pe->rect(), pixBg, pe->rect().topLeft() ); 442 p.drawTiledPixmap( pe->rect(), pixBg, pe->rect().topLeft() );
426 for ( int i = 0; i < numVButtons; i++ ) { 443 for ( unsigned int i = 0; i < videoButtons.size(); i++ ) {
427 paintButton( &p, i ); 444 paintButton( &p, i );
428 } 445 }
429 QPainter p2( this ); 446 QPainter p2( this );
430 p2.drawPixmap( pe->rect().topLeft(), pix ); 447 p2.drawPixmap( pe->rect().topLeft(), pix );
431 } else { 448 } else {
432 QPainter p( this ); 449 QPainter p( this );
433 for ( int i = 0; i < numVButtons; i++ ) 450 for ( unsigned int i = 0; i < videoButtons.size(); i++ )
434 paintButton( &p, i ); 451 paintButton( &p, i );
435 } 452 }
436 //slider->repaint( TRUE ); 453 //slider->repaint( TRUE );
437 } 454 }
438} 455}
439 456
440 457
441void VideoWidget::keyReleaseEvent( QKeyEvent *e) { 458void VideoWidget::keyReleaseEvent( QKeyEvent *e) {
diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h
index f996803..34558f8 100644
--- a/noncore/multimedia/opieplayer2/videowidget.h
+++ b/noncore/multimedia/opieplayer2/videowidget.h
@@ -115,14 +115,16 @@ private:
115 115
116 QString backgroundPix; 116 QString backgroundPix;
117 QSlider *slider; 117 QSlider *slider;
118 QPixmap *pixmaps[3]; 118 QPixmap *pixmaps[3];
119 QImage *currentFrame; 119 QImage *currentFrame;
120 int scaledWidth; 120 int scaledWidth;
121 int scaledHeight; 121 int scaledHeight;
122 XineVideoWidget* videoFrame; 122 XineVideoWidget* videoFrame;
123
124 ButtonVector videoButtons;
123}; 125};
124 126
125#endif // VIDEO_WIDGET_H 127#endif // VIDEO_WIDGET_H
126 128
127 129
128 130