summaryrefslogtreecommitdiff
path: root/noncore
Unidiff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp14
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h1
2 files changed, 10 insertions, 5 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index b73a5c0..271f788 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -51,33 +51,30 @@ void MediaWidget::paintEvent( QPaintEvent *pe )
51 if ( mediaPlayerState.isFullscreen() ) { 51 if ( mediaPlayerState.isFullscreen() ) {
52 // Clear the background 52 // Clear the background
53 p.setBrush( QBrush( Qt::black ) ); 53 p.setBrush( QBrush( Qt::black ) );
54 return; 54 return;
55 } 55 }
56 56
57 if ( !pe->erased() ) { 57 if ( !pe->erased() ) {
58 // Combine with background and double buffer 58 // Combine with background and double buffer
59 QPixmap pix( pe->rect().size() ); 59 QPixmap pix( pe->rect().size() );
60 QPainter p( &pix ); 60 QPainter p( &pix );
61 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 61 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
62 p.drawTiledPixmap( pe->rect(), backgroundPixmap, pe->rect().topLeft() ); 62 p.drawTiledPixmap( pe->rect(), backgroundPixmap, pe->rect().topLeft() );
63 for ( unsigned int i = 0; i < buttons.count(); i++ ) { 63 paintAllButtons( p );
64 paintButton( p, buttons[ i ] );
65 }
66 QPainter p2( this ); 64 QPainter p2( this );
67 p2.drawPixmap( pe->rect().topLeft(), pix ); 65 p2.drawPixmap( pe->rect().topLeft(), pix );
68 } else { 66 } else {
69 QPainter p( this ); 67 QPainter p( this );
70 for ( unsigned int i = 0; i < buttons.count(); i++ ) 68 paintAllButtons( p );
71 paintButton( p, buttons[ i ] );
72 } 69 }
73} 70}
74 71
75void MediaWidget::handleCommand( Command command, bool buttonDown ) 72void MediaWidget::handleCommand( Command command, bool buttonDown )
76{ 73{
77 switch ( command ) { 74 switch ( command ) {
78 case Play: mediaPlayerState.togglePaused(); 75 case Play: mediaPlayerState.togglePaused();
79 case Stop: mediaPlayerState.setPlaying(FALSE); return; 76 case Stop: mediaPlayerState.setPlaying(FALSE); return;
80 case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; 77 case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
81 case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; 78 case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
82 case Loop: mediaPlayerState.setLooping( buttonDown ); return; 79 case Loop: mediaPlayerState.setLooping( buttonDown ); return;
83 case VolumeUp: emit moreReleased(); return; 80 case VolumeUp: emit moreReleased(); return;
@@ -87,24 +84,31 @@ void MediaWidget::handleCommand( Command command, bool buttonDown )
87 case Back: emit backReleased(); return; 84 case Back: emit backReleased(); return;
88 } 85 }
89} 86}
90 87
91bool MediaWidget::isOverButton( const QPoint &position, int buttonId ) const 88bool MediaWidget::isOverButton( const QPoint &position, int buttonId ) const
92{ 89{
93 return ( position.x() > 0 && position.y() > 0 && 90 return ( position.x() > 0 && position.y() > 0 &&
94 position.x() < buttonMask.width() && 91 position.x() < buttonMask.width() &&
95 position.y() < buttonMask.height() && 92 position.y() < buttonMask.height() &&
96 buttonMask.pixelIndex( position.x(), position.y() ) == buttonId + 1 ); 93 buttonMask.pixelIndex( position.x(), position.y() ) == buttonId + 1 );
97} 94}
98 95
96void MediaWidget::paintAllButtons( QPainter &p )
97{
98 for ( ButtonMap::ConstIterator it = buttons.begin();
99 it != buttons.end(); ++it )
100 paintButton( *it );
101}
102
99void MediaWidget::paintButton( const Button &button ) 103void MediaWidget::paintButton( const Button &button )
100{ 104{
101 QPainter p( this ); 105 QPainter p( this );
102 paintButton( p, button ); 106 paintButton( p, button );
103} 107}
104 108
105void MediaWidget::paintButton( QPainter &p, const Button &button ) 109void MediaWidget::paintButton( QPainter &p, const Button &button )
106{ 110{
107 if ( button.isDown ) 111 if ( button.isDown )
108 p.drawPixmap( upperLeftOfButtonMask, button.pixDown ); 112 p.drawPixmap( upperLeftOfButtonMask, button.pixDown );
109 else 113 else
110 p.drawPixmap( upperLeftOfButtonMask, button.pixUp ); 114 p.drawPixmap( upperLeftOfButtonMask, button.pixUp );
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index dcf7fb8..34910fb 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -78,24 +78,25 @@ signals:
78 void forwardReleased(); 78 void forwardReleased();
79 void backReleased(); 79 void backReleased();
80 80
81protected: 81protected:
82 virtual void closeEvent( QCloseEvent * ); 82 virtual void closeEvent( QCloseEvent * );
83 83
84 virtual void paintEvent( QPaintEvent *pe ); 84 virtual void paintEvent( QPaintEvent *pe );
85 85
86 void handleCommand( Command command, bool buttonDown ); 86 void handleCommand( Command command, bool buttonDown );
87 87
88 bool isOverButton( const QPoint &position, int buttonId ) const; 88 bool isOverButton( const QPoint &position, int buttonId ) const;
89 89
90 void paintAllButtons( QPainter &p );
90 void paintButton( const Button &button ); 91 void paintButton( const Button &button );
91 void paintButton( QPainter &p, const Button &button ); 92 void paintButton( QPainter &p, const Button &button );
92 93
93 void toggleButton( int buttonId ); 94 void toggleButton( int buttonId );
94 95
95 MediaPlayerState &mediaPlayerState; 96 MediaPlayerState &mediaPlayerState;
96 PlayListWidget &playList; 97 PlayListWidget &playList;
97 98
98 ButtonMap buttons; 99 ButtonMap buttons;
99 100
100 QImage buttonMask; 101 QImage buttonMask;
101 102