summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp6
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h4
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp12
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h4
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp14
5 files changed, 17 insertions, 23 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 8c7e614..ef606ab 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -296,120 +296,120 @@ void AudioWidget::updateSlider( long i, long max ) {
296 int val = int((double)i * width / max); 296 int val = int((double)i * width / max);
297 if ( !audioSliderBeingMoved ) { 297 if ( !audioSliderBeingMoved ) {
298 if ( slider.value() != val ) { 298 if ( slider.value() != val ) {
299 slider.setValue( val ); 299 slider.setValue( val );
300 } 300 }
301 301
302 if ( slider.maxValue() != width ) { 302 if ( slider.maxValue() != width ) {
303 slider.setMaxValue( width ); 303 slider.setMaxValue( width );
304 } 304 }
305 } 305 }
306} 306}
307 307
308void AudioWidget::skipFor() { 308void AudioWidget::skipFor() {
309 skipDirection = +1; 309 skipDirection = +1;
310 startTimer( 50 ); 310 startTimer( 50 );
311 mediaPlayerState.setPosition( mediaPlayerState.position() + 2 ); 311 mediaPlayerState.setPosition( mediaPlayerState.position() + 2 );
312} 312}
313 313
314void AudioWidget::skipBack() { 314void AudioWidget::skipBack() {
315 skipDirection = -1; 315 skipDirection = -1;
316 startTimer( 50 ); 316 startTimer( 50 );
317 mediaPlayerState.setPosition( mediaPlayerState.position() - 2 ); 317 mediaPlayerState.setPosition( mediaPlayerState.position() - 2 );
318} 318}
319 319
320 320
321 321
322void AudioWidget::stopSkip() { 322void AudioWidget::stopSkip() {
323 killTimers(); 323 killTimers();
324} 324}
325 325
326 326
327void AudioWidget::timerEvent( QTimerEvent * ) { 327void AudioWidget::timerEvent( QTimerEvent * ) {
328 if ( skipDirection == +1 ) { 328 if ( skipDirection == +1 ) {
329 mediaPlayerState.setPosition( mediaPlayerState.position() + 2 ); 329 mediaPlayerState.setPosition( mediaPlayerState.position() + 2 );
330 } else if ( skipDirection == -1 ) { 330 } else if ( skipDirection == -1 ) {
331 mediaPlayerState.setPosition( mediaPlayerState.position() - 2 ); 331 mediaPlayerState.setPosition( mediaPlayerState.position() - 2 );
332 } 332 }
333} 333}
334 334
335 335
336void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { 336void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
337 for ( unsigned int i = 0; i < buttons.count(); i++ ) { 337 for ( unsigned int i = 0; i < buttons.count(); i++ ) {
338 if ( event->state() == QMouseEvent::LeftButton ) { 338 if ( event->state() == QMouseEvent::LeftButton ) {
339 // The test to see if the mouse click is inside the button or not 339 // The test to see if the mouse click is inside the button or not
340 bool isOnButton = isOverButton( event->pos() - upperLeftOfButtonMask, i ); 340 bool isOnButton = isOverButton( event->pos() - upperLeftOfButtonMask, i );
341 341
342 if ( isOnButton && !buttons[i].isHeld ) { 342 if ( isOnButton && !buttons[i].isHeld ) {
343 buttons[i].isHeld = TRUE; 343 buttons[i].isHeld = TRUE;
344 toggleButton(i); 344 toggleButton( buttons[ i ] );
345 switch (i) { 345 switch (i) {
346 case VolumeUp: 346 case VolumeUp:
347 emit moreClicked(); 347 emit moreClicked();
348 return; 348 return;
349 case VolumeDown: 349 case VolumeDown:
350 emit lessClicked(); 350 emit lessClicked();
351 return; 351 return;
352 case Forward: 352 case Forward:
353 emit forwardClicked(); 353 emit forwardClicked();
354 return; 354 return;
355 case Back: 355 case Back:
356 emit backClicked(); 356 emit backClicked();
357 return; 357 return;
358 } 358 }
359 } else if ( !isOnButton && buttons[i].isHeld ) { 359 } else if ( !isOnButton && buttons[i].isHeld ) {
360 buttons[i].isHeld = FALSE; 360 buttons[i].isHeld = FALSE;
361 toggleButton(i); 361 toggleButton( buttons[ i ] );
362 } 362 }
363 } else { 363 } else {
364 if ( buttons[i].isHeld ) { 364 if ( buttons[i].isHeld ) {
365 buttons[i].isHeld = FALSE; 365 buttons[i].isHeld = FALSE;
366 if ( buttons[i].type != ToggleButton ) { 366 if ( buttons[i].type != ToggleButton ) {
367 setToggleButton( i, FALSE ); 367 setToggleButton( buttons[ i ], FALSE );
368 } 368 }
369 qDebug("mouseEvent %d", i); 369 qDebug("mouseEvent %d", i);
370 handleCommand( static_cast<Command>( i ), buttons[ i ].isDown ); 370 handleCommand( static_cast<Command>( i ), buttons[ i ].isDown );
371 } 371 }
372 } 372 }
373 } 373 }
374} 374}
375 375
376 376
377void AudioWidget::mousePressEvent( QMouseEvent *event ) { 377void AudioWidget::mousePressEvent( QMouseEvent *event ) {
378 mouseMoveEvent( event ); 378 mouseMoveEvent( event );
379} 379}
380 380
381 381
382void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) { 382void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) {
383 mouseMoveEvent( event ); 383 mouseMoveEvent( event );
384} 384}
385 385
386 386
387void AudioWidget::showEvent( QShowEvent* ) { 387void AudioWidget::showEvent( QShowEvent* ) {
388 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 388 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
389 mouseMoveEvent( &event ); 389 mouseMoveEvent( &event );
390} 390}
391 391
392void AudioWidget::keyReleaseEvent( QKeyEvent *e) { 392void AudioWidget::keyReleaseEvent( QKeyEvent *e) {
393 switch ( e->key() ) { 393 switch ( e->key() ) {
394 ////////////////////////////// Zaurus keys 394 ////////////////////////////// Zaurus keys
395 case Key_Home: 395 case Key_Home:
396 break; 396 break;
397 case Key_F9: //activity 397 case Key_F9: //activity
398 hide(); 398 hide();
399 // qDebug("Audio F9"); 399 // qDebug("Audio F9");
400 break; 400 break;
401 case Key_F10: //contacts 401 case Key_F10: //contacts
402 break; 402 break;
403 case Key_F11: //menu 403 case Key_F11: //menu
404 mediaPlayerState.toggleBlank(); 404 mediaPlayerState.toggleBlank();
405 break; 405 break;
406 case Key_F12: //home 406 case Key_F12: //home
407 break; 407 break;
408 case Key_F13: //mail 408 case Key_F13: //mail
409 mediaPlayerState.toggleBlank(); 409 mediaPlayerState.toggleBlank();
410 break; 410 break;
411 case Key_Space: { 411 case Key_Space: {
412 mediaPlayerState.togglePaused(); 412 mediaPlayerState.togglePaused();
413 } 413 }
414 break; 414 break;
415 case Key_Down: 415 case Key_Down:
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index 9b276b5..092e5ce 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -14,94 +14,94 @@
14 - .   .-<_>     .<> Foundation; either version 2 of the License, 14 - .   .-<_>     .<> Foundation; either version 2 of the License,
15     ._= =}       : or (at your option) any later version. 15     ._= =}       : or (at your option) any later version.
16    .%`+i>       _;_. 16    .%`+i>       _;_.
17    .i_,=:_.      -<s. This program is distributed in the hope that 17    .i_,=:_.      -<s. This program is distributed in the hope that
18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 18     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
19    : ..    .:,     . . . without even the implied warranty of 19    : ..    .:,     . . . without even the implied warranty of
20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 20    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 21  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
22..}^=.=       =       ; Library General Public License for more 22..}^=.=       =       ; Library General Public License for more
23++=   -.     .`     .: details. 23++=   -.     .`     .: details.
24 :     =  ...= . :.=- 24 :     =  ...= . :.=-
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef AUDIO_WIDGET_H 34#ifndef AUDIO_WIDGET_H
35#define AUDIO_WIDGET_H 35#define AUDIO_WIDGET_H
36 36
37#include <qpainter.h> 37#include <qpainter.h>
38#include <qdrawutil.h> 38#include <qdrawutil.h>
39#include <qpixmap.h> 39#include <qpixmap.h>
40#include <qstring.h> 40#include <qstring.h>
41#include <qslider.h> 41#include <qslider.h>
42#include <qframe.h> 42#include <qframe.h>
43#include <qlineedit.h> 43#include <qlineedit.h>
44#include <qimage.h> 44#include <qimage.h>
45 45
46#include <opie/oticker.h> 46#include <opie/oticker.h>
47 47
48#include "mediawidget.h" 48#include "mediawidget.h"
49 49
50class QPixmap; 50class QPixmap;
51 51
52class AudioWidget : public MediaWidget { 52class AudioWidget : public MediaWidget {
53 Q_OBJECT 53 Q_OBJECT
54public: 54public:
55 AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); 55 AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 );
56 ~AudioWidget(); 56 ~AudioWidget();
57 void setTickerText( const QString &text ) { songInfo.setText( text ); } 57 void setTickerText( const QString &text ) { songInfo.setText( text ); }
58public slots: 58public slots:
59 void updateSlider( long, long ); 59 void updateSlider( long, long );
60 void sliderPressed( ); 60 void sliderPressed( );
61 void sliderReleased( ); 61 void sliderReleased( );
62 void setLooping( bool b) { setToggleButton( Loop, b ); } 62 void setLooping( bool b) { setToggleButton( buttons[ Loop ], b ); }
63 void setPosition( long ); 63 void setPosition( long );
64 void setSeekable( bool ); 64 void setSeekable( bool );
65 65
66public: 66public:
67 virtual void setLength( long ); 67 virtual void setLength( long );
68 virtual void setPlaying( bool b) { setToggleButton( Play, b ); } 68 virtual void setPlaying( bool b) { setToggleButton( buttons[ Play ], b ); }
69 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ); 69 virtual void setDisplayType( MediaPlayerState::DisplayType displayType );
70 70
71signals: 71signals:
72 void moreClicked(); 72 void moreClicked();
73 void lessClicked(); 73 void lessClicked();
74 void forwardClicked(); 74 void forwardClicked();
75 void backClicked(); 75 void backClicked();
76 void sliderMoved(long); 76 void sliderMoved(long);
77 77
78protected: 78protected:
79 void doBlank(); 79 void doBlank();
80 void doUnblank(); 80 void doUnblank();
81 void showEvent( QShowEvent *se ); 81 void showEvent( QShowEvent *se );
82 void resizeEvent( QResizeEvent *re ); 82 void resizeEvent( QResizeEvent *re );
83 void mouseMoveEvent( QMouseEvent *event ); 83 void mouseMoveEvent( QMouseEvent *event );
84 void mousePressEvent( QMouseEvent *event ); 84 void mousePressEvent( QMouseEvent *event );
85 void mouseReleaseEvent( QMouseEvent *event ); 85 void mouseReleaseEvent( QMouseEvent *event );
86 void timerEvent( QTimerEvent *event ); 86 void timerEvent( QTimerEvent *event );
87 void keyReleaseEvent( QKeyEvent *e); 87 void keyReleaseEvent( QKeyEvent *e);
88private slots: 88private slots:
89 void skipFor(); 89 void skipFor();
90 void skipBack(); 90 void skipBack();
91 void stopSkip(); 91 void stopSkip();
92private: 92private:
93 int skipDirection; 93 int skipDirection;
94 QString skin; 94 QString skin;
95 QImage imgUp; 95 QImage imgUp;
96 QImage imgDn; 96 QImage imgDn;
97 97
98 OTicker songInfo; 98 OTicker songInfo;
99 QSlider slider; 99 QSlider slider;
100 QLineEdit time; 100 QLineEdit time;
101 bool isStreaming : 1; 101 bool isStreaming : 1;
102 bool audioSliderBeingMoved : 1; 102 bool audioSliderBeingMoved : 1;
103}; 103};
104 104
105 105
106#endif // AUDIO_WIDGET_H 106#endif // AUDIO_WIDGET_H
107 107
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index 9c5291b..66129c9 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -69,69 +69,63 @@ void MediaWidget::paintEvent( QPaintEvent *pe )
69 } 69 }
70} 70}
71 71
72void MediaWidget::handleCommand( Command command, bool buttonDown ) 72void MediaWidget::handleCommand( Command command, bool buttonDown )
73{ 73{
74 switch ( command ) { 74 switch ( command ) {
75 case Play: mediaPlayerState.togglePaused(); 75 case Play: mediaPlayerState.togglePaused();
76 case Stop: mediaPlayerState.setPlaying(FALSE); return; 76 case Stop: mediaPlayerState.setPlaying(FALSE); return;
77 case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; 77 case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
78 case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; 78 case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
79 case Loop: mediaPlayerState.setLooping( buttonDown ); return; 79 case Loop: mediaPlayerState.setLooping( buttonDown ); return;
80 case VolumeUp: emit moreReleased(); return; 80 case VolumeUp: emit moreReleased(); return;
81 case VolumeDown: emit lessReleased(); return; 81 case VolumeDown: emit lessReleased(); return;
82 case PlayList: mediaPlayerState.setList(); return; 82 case PlayList: mediaPlayerState.setList(); return;
83 case Forward: emit forwardReleased(); return; 83 case Forward: emit forwardReleased(); return;
84 case Back: emit backReleased(); return; 84 case Back: emit backReleased(); return;
85 } 85 }
86} 86}
87 87
88bool MediaWidget::isOverButton( const QPoint &position, int buttonId ) const 88bool MediaWidget::isOverButton( const QPoint &position, int buttonId ) const
89{ 89{
90 return ( position.x() > 0 && position.y() > 0 && 90 return ( position.x() > 0 && position.y() > 0 &&
91 position.x() < buttonMask.width() && 91 position.x() < buttonMask.width() &&
92 position.y() < buttonMask.height() && 92 position.y() < buttonMask.height() &&
93 buttonMask.pixelIndex( position.x(), position.y() ) == buttonId + 1 ); 93 buttonMask.pixelIndex( position.x(), position.y() ) == buttonId + 1 );
94} 94}
95 95
96void MediaWidget::paintAllButtons( QPainter &p ) 96void MediaWidget::paintAllButtons( QPainter &p )
97{ 97{
98 for ( ButtonMap::ConstIterator it = buttons.begin(); 98 for ( ButtonMap::ConstIterator it = buttons.begin();
99 it != buttons.end(); ++it ) 99 it != buttons.end(); ++it )
100 paintButton( p, *it ); 100 paintButton( p, *it );
101} 101}
102 102
103void MediaWidget::paintButton( const Button &button ) 103void MediaWidget::paintButton( const Button &button )
104{ 104{
105 QPainter p( this ); 105 QPainter p( this );
106 paintButton( p, button ); 106 paintButton( p, button );
107} 107}
108 108
109void MediaWidget::paintButton( QPainter &p, const Button &button ) 109void MediaWidget::paintButton( QPainter &p, const Button &button )
110{ 110{
111 if ( button.isDown ) 111 if ( button.isDown )
112 p.drawPixmap( upperLeftOfButtonMask, button.pixDown ); 112 p.drawPixmap( upperLeftOfButtonMask, button.pixDown );
113 else 113 else
114 p.drawPixmap( upperLeftOfButtonMask, button.pixUp ); 114 p.drawPixmap( upperLeftOfButtonMask, button.pixUp );
115} 115}
116 116
117void MediaWidget::setToggleButton( int buttonId, bool down ) 117void MediaWidget::setToggleButton( Button &button, bool down )
118{ 118{
119 qDebug("setToggleButton %d", buttonId );
120
121 Button &button = buttons[ buttonId ];
122
123 if ( down != button.isDown ) 119 if ( down != button.isDown )
124 toggleButton( buttonId ); 120 toggleButton( button );
125} 121}
126 122
127void MediaWidget::toggleButton( int buttonId ) 123void MediaWidget::toggleButton( Button &button )
128{ 124{
129 Button &button = buttons[ buttonId ];
130
131 button.isDown = !button.isDown; 125 button.isDown = !button.isDown;
132 126
133 paintButton( button ); 127 paintButton( button );
134} 128}
135 129
136/* vim: et sw=4 ts=4 130/* vim: et sw=4 ts=4
137 */ 131 */
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index b7860dc..05b7b71 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -46,66 +46,66 @@ public:
46 bool isHeld : 1; 46 bool isHeld : 1;
47 bool isDown : 1; 47 bool isDown : 1;
48 48
49 QBitmap mask; 49 QBitmap mask;
50 QPixmap pixUp; 50 QPixmap pixUp;
51 QPixmap pixDown; 51 QPixmap pixDown;
52 }; 52 };
53 typedef std::vector<Button> ButtonVector; 53 typedef std::vector<Button> ButtonVector;
54 // when the transition is done this should be Command -> Button 54 // when the transition is done this should be Command -> Button
55 typedef QMap<int, Button> ButtonMap; 55 typedef QMap<int, Button> ButtonMap;
56 56
57 struct SkinButtonInfo 57 struct SkinButtonInfo
58 { 58 {
59 Command command; 59 Command command;
60 const char *fileName; 60 const char *fileName;
61 ButtonType type; 61 ButtonType type;
62 }; 62 };
63 63
64 typedef std::vector<QBitmap> MaskVector; 64 typedef std::vector<QBitmap> MaskVector;
65 typedef std::vector<QPixmap> PixmapVector; 65 typedef std::vector<QPixmap> PixmapVector;
66 66
67 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); 67 MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 );
68 virtual ~MediaWidget(); 68 virtual ~MediaWidget();
69 69
70public slots: 70public slots:
71 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0; 71 virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0;
72 virtual void setLength( long length ) = 0; 72 virtual void setLength( long length ) = 0;
73 virtual void setPlaying( bool playing ) = 0; 73 virtual void setPlaying( bool playing ) = 0;
74 74
75signals: 75signals:
76 void moreReleased(); 76 void moreReleased();
77 void lessReleased(); 77 void lessReleased();
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 paintAllButtons( QPainter &p );
91 void paintButton( const Button &button ); 91 void paintButton( const Button &button );
92 void paintButton( QPainter &p, const Button &button ); 92 void paintButton( QPainter &p, const Button &button );
93 93
94 void setToggleButton( int buttonId, bool down ); 94 void setToggleButton( Button &button, bool down );
95 void toggleButton( int buttonId ); 95 void toggleButton( Button &button );
96 96
97 MediaPlayerState &mediaPlayerState; 97 MediaPlayerState &mediaPlayerState;
98 PlayListWidget &playList; 98 PlayListWidget &playList;
99 99
100 ButtonMap buttons; 100 ButtonMap buttons;
101 101
102 QImage buttonMask; 102 QImage buttonMask;
103 103
104 QPoint upperLeftOfButtonMask; 104 QPoint upperLeftOfButtonMask;
105 105
106 QPixmap backgroundPixmap; 106 QPixmap backgroundPixmap;
107}; 107};
108 108
109#endif // MEDIAWIDGET_H 109#endif // MEDIAWIDGET_H
110/* vim: et sw=4 ts=4 110/* vim: et sw=4 ts=4
111 */ 111 */
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index db4a396..673c9e8 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -205,127 +205,127 @@ void VideoWidget::sliderReleased() {
205 205
206void VideoWidget::setPosition( long i ) { 206void VideoWidget::setPosition( long i ) {
207 updateSlider( i, mediaPlayerState.length() ); 207 updateSlider( i, mediaPlayerState.length() );
208} 208}
209 209
210 210
211void VideoWidget::setLength( long max ) { 211void VideoWidget::setLength( long max ) {
212 updateSlider( mediaPlayerState.position(), max ); 212 updateSlider( mediaPlayerState.position(), max );
213} 213}
214 214
215void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType ) 215void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType )
216{ 216{
217 if ( displayType == MediaPlayerState::Video ) { 217 if ( displayType == MediaPlayerState::Video ) {
218 makeVisible(); 218 makeVisible();
219 return; 219 return;
220 } 220 }
221 221
222 // Effectively blank the view next time we show it so it looks nicer 222 // Effectively blank the view next time we show it so it looks nicer
223 scaledWidth = 0; 223 scaledWidth = 0;
224 scaledHeight = 0; 224 scaledHeight = 0;
225 hide(); 225 hide();
226} 226}
227 227
228void VideoWidget::updateSlider( long i, long max ) { 228void VideoWidget::updateSlider( long i, long max ) {
229 // Will flicker too much if we don't do this 229 // Will flicker too much if we don't do this
230 if ( max == 0 ) { 230 if ( max == 0 ) {
231 return; 231 return;
232 } 232 }
233 int width = slider->width(); 233 int width = slider->width();
234 int val = int((double)i * width / max); 234 int val = int((double)i * width / max);
235 if ( !mediaPlayerState.isFullscreen() && !videoSliderBeingMoved ) { 235 if ( !mediaPlayerState.isFullscreen() && !videoSliderBeingMoved ) {
236 if ( slider->value() != val ) { 236 if ( slider->value() != val ) {
237 slider->setValue( val ); 237 slider->setValue( val );
238 } 238 }
239 if ( slider->maxValue() != width ) { 239 if ( slider->maxValue() != width ) {
240 slider->setMaxValue( width ); 240 slider->setMaxValue( width );
241 } 241 }
242 } 242 }
243} 243}
244 244
245void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { 245void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
246 for ( unsigned int i = 0; i < buttons.count(); i++ ) { 246 for ( unsigned int i = 0; i < buttons.count(); i++ ) {
247 if ( event->state() == QMouseEvent::LeftButton ) { 247 if ( event->state() == QMouseEvent::LeftButton ) {
248 // The test to see if the mouse click is inside the button or not 248 // The test to see if the mouse click is inside the button or not
249 bool isOnButton = isOverButton( event->pos() - upperLeftOfButtonMask, i ); 249 bool isOnButton = isOverButton( event->pos() - upperLeftOfButtonMask, i );
250 250
251 if ( isOnButton && !buttons[i].isHeld ) { 251 if ( isOnButton && !buttons[i].isHeld ) {
252 buttons[i].isHeld = TRUE; 252 buttons[i].isHeld = TRUE;
253 toggleButton(i); 253 toggleButton( buttons[ i ] );
254 254
255 switch (i) { 255 switch (i) {
256 case VideoVolUp: 256 case VideoVolUp:
257 emit moreClicked(); 257 emit moreClicked();
258 return; 258 return;
259 case VideoVolDown: 259 case VideoVolDown:
260 emit lessClicked(); 260 emit lessClicked();
261 return; 261 return;
262 } 262 }
263 } else if ( !isOnButton && buttons[i].isHeld ) { 263 } else if ( !isOnButton && buttons[i].isHeld ) {
264 buttons[i].isHeld = FALSE; 264 buttons[i].isHeld = FALSE;
265 toggleButton(i); 265 toggleButton( buttons[ i ] );
266 } 266 }
267 } else { 267 } else {
268 268
269 if ( buttons[i].isHeld ) { 269 if ( buttons[i].isHeld ) {
270 buttons[i].isHeld = FALSE; 270 buttons[i].isHeld = FALSE;
271 if ( buttons[i].type != ToggleButton ) { 271 if ( buttons[i].type != ToggleButton ) {
272 setToggleButton( i, FALSE ); 272 setToggleButton( buttons[ i ], FALSE );
273 } 273 }
274 274
275 switch(i) { 275 switch(i) {
276 276
277 case VideoPlay: { 277 case VideoPlay: {
278 if( mediaPlayerState.isPaused() ) { 278 if( mediaPlayerState.isPaused() ) {
279 setToggleButton( i, FALSE ); 279 setToggleButton( buttons[ i ], FALSE );
280 mediaPlayerState.setPaused( FALSE ); 280 mediaPlayerState.setPaused( FALSE );
281 return; 281 return;
282 } else if( !mediaPlayerState.isPaused() ) { 282 } else if( !mediaPlayerState.isPaused() ) {
283 setToggleButton( i, TRUE ); 283 setToggleButton( buttons[ i ], TRUE );
284 mediaPlayerState.setPaused( TRUE ); 284 mediaPlayerState.setPaused( TRUE );
285 return; 285 return;
286 } else { 286 } else {
287 return; 287 return;
288 } 288 }
289 } 289 }
290 290
291 case VideoStop: mediaPlayerState.setPlaying( FALSE ); return; 291 case VideoStop: mediaPlayerState.setPlaying( FALSE ); return;
292 case VideoNext: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; 292 case VideoNext: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
293 case VideoPrevious: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; 293 case VideoPrevious: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
294 case VideoVolUp: emit moreReleased(); return; 294 case VideoVolUp: emit moreReleased(); return;
295 case VideoVolDown: emit lessReleased(); return; 295 case VideoVolDown: emit lessReleased(); return;
296 case VideoFullscreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return; 296 case VideoFullscreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return;
297 } 297 }
298 } 298 }
299 } 299 }
300 } 300 }
301} 301}
302 302
303void VideoWidget::mousePressEvent( QMouseEvent *event ) { 303void VideoWidget::mousePressEvent( QMouseEvent *event ) {
304 mouseMoveEvent( event ); 304 mouseMoveEvent( event );
305} 305}
306 306
307void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { 307void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
308 if ( mediaPlayerState.isFullscreen() ) { 308 if ( mediaPlayerState.isFullscreen() ) {
309 mediaPlayerState.setFullscreen( FALSE ); 309 mediaPlayerState.setFullscreen( FALSE );
310 makeVisible(); 310 makeVisible();
311 } 311 }
312 mouseMoveEvent( event ); 312 mouseMoveEvent( event );
313} 313}
314 314
315void VideoWidget::showEvent( QShowEvent* ) { 315void VideoWidget::showEvent( QShowEvent* ) {
316 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 316 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
317 mouseMoveEvent( &event ); 317 mouseMoveEvent( &event );
318} 318}
319 319
320 320
321 void VideoWidget::backToNormal() { 321 void VideoWidget::backToNormal() {
322 mediaPlayerState.setFullscreen( FALSE ); 322 mediaPlayerState.setFullscreen( FALSE );
323 makeVisible(); 323 makeVisible();
324 } 324 }
325 325
326void VideoWidget::makeVisible() { 326void VideoWidget::makeVisible() {
327 if ( mediaPlayerState.isFullscreen() ) { 327 if ( mediaPlayerState.isFullscreen() ) {
328 setBackgroundMode( QWidget::NoBackground ); 328 setBackgroundMode( QWidget::NoBackground );
329 showFullScreen(); 329 showFullScreen();
330 resize( qApp->desktop()->size() ); 330 resize( qApp->desktop()->size() );
331 videoFrame-> setGeometry ( 0, 0, width ( ), height ( )); 331 videoFrame-> setGeometry ( 0, 0, width ( ), height ( ));
@@ -378,56 +378,56 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e) {
378 break; 378 break;
379 case Key_F10: //contacts 379 case Key_F10: //contacts
380// hide(); 380// hide();
381 break; 381 break;
382 case Key_F11: //menu 382 case Key_F11: //menu
383 break; 383 break;
384 case Key_F12: //home 384 case Key_F12: //home
385 break; 385 break;
386 case Key_F13: //mail 386 case Key_F13: //mail
387 break; 387 break;
388 case Key_Space: { 388 case Key_Space: {
389 if(mediaPlayerState.isPlaying()) { 389 if(mediaPlayerState.isPlaying()) {
390 mediaPlayerState.setPlaying(FALSE); 390 mediaPlayerState.setPlaying(FALSE);
391 } else { 391 } else {
392 mediaPlayerState.setPlaying(TRUE); 392 mediaPlayerState.setPlaying(TRUE);
393 } 393 }
394 } 394 }
395 break; 395 break;
396 case Key_Down: 396 case Key_Down:
397// toggleButton(6); 397// toggleButton(6);
398 emit lessClicked(); 398 emit lessClicked();
399 emit lessReleased(); 399 emit lessReleased();
400// toggleButton(6); 400// toggleButton(6);
401 break; 401 break;
402 case Key_Up: 402 case Key_Up:
403// toggleButton(5); 403// toggleButton(5);
404 emit moreClicked(); 404 emit moreClicked();
405 emit moreReleased(); 405 emit moreReleased();
406// toggleButton(5); 406// toggleButton(5);
407 break; 407 break;
408 case Key_Right: 408 case Key_Right:
409 mediaPlayerState.setNext(); 409 mediaPlayerState.setNext();
410 break; 410 break;
411 case Key_Left: 411 case Key_Left:
412 mediaPlayerState.setPrev(); 412 mediaPlayerState.setPrev();
413 break; 413 break;
414 case Key_Escape: 414 case Key_Escape:
415 break; 415 break;
416 416
417 }; 417 };
418} 418}
419 419
420XineVideoWidget* VideoWidget::vidWidget() { 420XineVideoWidget* VideoWidget::vidWidget() {
421 return videoFrame; 421 return videoFrame;
422} 422}
423 423
424 424
425void VideoWidget::setFullscreen ( bool b ) { 425void VideoWidget::setFullscreen ( bool b ) {
426 setToggleButton( VideoFullscreen, b ); 426 setToggleButton( buttons[ VideoFullscreen ], b );
427} 427}
428 428
429 429
430void VideoWidget::setPlaying( bool b) { 430void VideoWidget::setPlaying( bool b) {
431 setToggleButton( VideoPlay, b ); 431 setToggleButton( buttons[ VideoPlay ], b );
432} 432}
433 433