summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/audiowidget.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/core/multimedia/opieplayer/audiowidget.cpp b/core/multimedia/opieplayer/audiowidget.cpp
index aa48961..ac8c935 100644
--- a/core/multimedia/opieplayer/audiowidget.cpp
+++ b/core/multimedia/opieplayer/audiowidget.cpp
@@ -1,370 +1,367 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#include <qpe/qpeapplication.h> 20#include <qpe/qpeapplication.h>
21#include <qpe/resource.h> 21#include <qpe/resource.h>
22#include <qpe/config.h> 22#include <qpe/config.h>
23 23
24#include <qwidget.h> 24#include <qwidget.h>
25#include <qpixmap.h> 25#include <qpixmap.h>
26#include <qbutton.h> 26#include <qbutton.h>
27#include <qpainter.h> 27#include <qpainter.h>
28#include <qframe.h> 28#include <qframe.h>
29#include <qlayout.h> 29#include <qlayout.h>
30 30
31#include "audiowidget.h" 31#include "audiowidget.h"
32#include "mediaplayerstate.h" 32#include "mediaplayerstate.h"
33 33
34extern MediaPlayerState *mediaPlayerState; 34extern MediaPlayerState *mediaPlayerState;
35 35
36 36
37static const int xo = -2; // movable x offset 37static const int xo = -2; // movable x offset
38static const int yo = 22; // movable y offset 38static const int yo = 22; // movable y offset
39 39
40 40
41struct MediaButton { 41struct MediaButton {
42 int xPos, yPos; 42 int xPos, yPos;
43 int color; 43 int color;
44 bool isToggle, isBig, isHeld, isDown; 44 bool isToggle, isBig, isHeld, isDown;
45}; 45};
46 46
47 47
48// Layout information for the audioButtons (and if it is a toggle button or not) 48// Layout information for the audioButtons (and if it is a toggle button or not)
49MediaButton audioButtons[] = { 49MediaButton audioButtons[] = {
50 { 3*30-15+xo, 3*30-13+yo, 0, TRUE, TRUE, FALSE, FALSE }, // play 50 { 3*30-15+xo, 3*30-13+yo, 0, TRUE, TRUE, FALSE, FALSE }, // play
51 { 1*30+xo, 5*30+yo, 2, FALSE, FALSE, FALSE, FALSE }, // stop 51 { 1*30+xo, 5*30+yo, 2, FALSE, FALSE, FALSE, FALSE }, // stop
52 { 5*30+xo, 5*30+yo, 2, TRUE, FALSE, FALSE, FALSE }, // pause 52 { 5*30+xo, 5*30+yo, 2, TRUE, FALSE, FALSE, FALSE }, // pause
53 { 6*30-5+xo, 3*30+yo, 1, FALSE, FALSE, FALSE, FALSE }, // next 53 { 6*30-5+xo, 3*30+yo, 1, FALSE, FALSE, FALSE, FALSE }, // next
54 { 0*30+5+xo, 3*30+yo, 1, FALSE, FALSE, FALSE, FALSE }, // previous 54 { 0*30+5+xo, 3*30+yo, 1, FALSE, FALSE, FALSE, FALSE }, // previous
55 { 3*30+xo, 0*30+5+yo, 3, FALSE, FALSE, FALSE, FALSE }, // volume up 55 { 3*30+xo, 0*30+5+yo, 3, FALSE, FALSE, FALSE, FALSE }, // volume up
56 { 3*30+xo, 6*30-5+yo, 3, FALSE, FALSE, FALSE, FALSE }, // volume down 56 { 3*30+xo, 6*30-5+yo, 3, FALSE, FALSE, FALSE, FALSE }, // volume down
57 { 5*30+xo, 1*30+yo, 0, TRUE, FALSE, FALSE, FALSE }, // repeat/loop 57 { 5*30+xo, 1*30+yo, 0, TRUE, FALSE, FALSE, FALSE }, // repeat/loop
58 { 1*30+xo, 1*30+yo, 0, FALSE, FALSE, FALSE, FALSE } // playlist 58 { 1*30+xo, 1*30+yo, 0, FALSE, FALSE, FALSE, FALSE } // playlist
59}; 59};
60 60
61 61
62static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton)); 62static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton));
63 63
64 64
65AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) : 65AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
66 QWidget( parent, name, f ) 66 QWidget( parent, name, f )
67{ 67{
68 setCaption( tr("OpiePlayer") ); 68 setCaption( tr("OpiePlayer") );
69 Config cfg("OpiePlayer"); 69 Config cfg("OpiePlayer");
70 cfg.setGroup("AudioWidget"); 70 cfg.setGroup("AudioWidget");
71// QGridLayout *layout = new QGridLayout( this ); 71// QGridLayout *layout = new QGridLayout( this );
72// layout->setSpacing( 2); 72// layout->setSpacing( 2);
73// layout->setMargin( 2); 73// layout->setMargin( 2);
74 QString backgroundPix, buttonsAllPix, buttonsBigPix, controlsPix, animatedPix; 74 QString backgroundPix, buttonsAllPix, buttonsBigPix, controlsPix, animatedPix;
75 backgroundPix=cfg.readEntry( " backgroundPix", "opieplayer/metalFinish"); 75 backgroundPix=cfg.readEntry( " backgroundPix", "opieplayer/metalFinish");
76 buttonsAllPix=cfg.readEntry( "buttonsAllPix","opieplayer/mediaButtonsAll"); 76 buttonsAllPix=cfg.readEntry( "buttonsAllPix","opieplayer/mediaButtonsAll");
77 buttonsBigPix=cfg.readEntry( "buttonsBigPix","opieplayer/mediaButtonsBig"); 77 buttonsBigPix=cfg.readEntry( "buttonsBigPix","opieplayer/mediaButtonsBig");
78 controlsPix=cfg.readEntry( "controlsPix","opieplayer/mediaControls"); 78 controlsPix=cfg.readEntry( "controlsPix","opieplayer/mediaControls");
79 animatedPix=cfg.readEntry( "animatedPix", "opieplayer/animatedButton"); 79 animatedPix=cfg.readEntry( "animatedPix", "opieplayer/animatedButton");
80 80
81 setBackgroundPixmap( Resource::loadPixmap( backgroundPix) ); 81 setBackgroundPixmap( Resource::loadPixmap( backgroundPix) );
82 pixmaps[0] = new QPixmap( Resource::loadPixmap( buttonsAllPix ) ); 82 pixmaps[0] = new QPixmap( Resource::loadPixmap( buttonsAllPix ) );
83 pixmaps[1] = new QPixmap( Resource::loadPixmap( buttonsBigPix ) ); 83 pixmaps[1] = new QPixmap( Resource::loadPixmap( buttonsBigPix ) );
84 pixmaps[2] = new QPixmap( Resource::loadPixmap( controlsPix ) ); 84 pixmaps[2] = new QPixmap( Resource::loadPixmap( controlsPix ) );
85 pixmaps[3] = new QPixmap( Resource::loadPixmap( animatedPix) ); 85 pixmaps[3] = new QPixmap( Resource::loadPixmap( animatedPix) );
86 86
87 songInfo = new Ticker( this ); 87 songInfo = new Ticker( this );
88 songInfo->setFocusPolicy( QWidget::NoFocus ); 88 songInfo->setFocusPolicy( QWidget::NoFocus );
89 songInfo->setGeometry( QRect( 7, 3, 220, 20 ) ); 89 songInfo->setGeometry( QRect( 7, 3, 220, 20 ) );
90// layout->addMultiCellWidget( songInfo, 0, 0, 0, 2 ); 90// layout->addMultiCellWidget( songInfo, 0, 0, 0, 2 );
91 91
92 slider = new QSlider( Qt::Horizontal, this ); 92 slider = new QSlider( Qt::Horizontal, this );
93 slider->setFixedWidth( 220 ); 93 slider->setFixedWidth( 220 );
94 slider->setFixedHeight( 20 ); 94 slider->setFixedHeight( 20 );
95 slider->setMinValue( 0 ); 95 slider->setMinValue( 0 );
96 slider->setMaxValue( 1 ); 96 slider->setMaxValue( 1 );
97 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) ); 97 slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
98 slider->setFocusPolicy( QWidget::NoFocus ); 98 slider->setFocusPolicy( QWidget::NoFocus );
99 slider->setGeometry( QRect( 7, 262, 220, 20 ) ); 99 slider->setGeometry( QRect( 7, 262, 220, 20 ) );
100 // layout->addMultiCellWidget( slider, 4, 4, 0, 2 ); 100 // layout->addMultiCellWidget( slider, 4, 4, 0, 2 );
101 101
102 connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); 102 connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
103 connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); 103 connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
104 104
105 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) ); 105 connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) );
106 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) ); 106 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
107 connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) ); 107 connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) );
108 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) ); 108 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) );
109 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) ); 109 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
110 110
111 // Intialise state 111 // Intialise state
112 setLength( mediaPlayerState->length() ); 112 setLength( mediaPlayerState->length() );
113 setPosition( mediaPlayerState->position() ); 113 setPosition( mediaPlayerState->position() );
114 setLooping( mediaPlayerState->fullscreen() ); 114 setLooping( mediaPlayerState->fullscreen() );
115 setPaused( mediaPlayerState->paused() ); 115 setPaused( mediaPlayerState->paused() );
116 setPlaying( mediaPlayerState->playing() ); 116 setPlaying( mediaPlayerState->playing() );
117 117
118} 118}
119 119
120 120
121AudioWidget::~AudioWidget() { 121AudioWidget::~AudioWidget() {
122 mediaPlayerState->isStreaming = FALSE; 122 mediaPlayerState->isStreaming = FALSE;
123 for ( int i = 0; i < 4; i++ ) 123 for ( int i = 0; i < 4; i++ )
124 delete pixmaps[i]; 124 delete pixmaps[i];
125} 125}
126 126
127 127
128static bool audioSliderBeingMoved = FALSE; 128static bool audioSliderBeingMoved = FALSE;
129 129
130 130
131void AudioWidget::sliderPressed() { 131void AudioWidget::sliderPressed() {
132 audioSliderBeingMoved = TRUE; 132 audioSliderBeingMoved = TRUE;
133} 133}
134 134
135 135
136void AudioWidget::sliderReleased() { 136void AudioWidget::sliderReleased() {
137 audioSliderBeingMoved = FALSE; 137 audioSliderBeingMoved = FALSE;
138 if ( slider->width() == 0 ) 138 if ( slider->width() == 0 )
139 return; 139 return;
140 long val = long((double)slider->value() * mediaPlayerState->length() / slider->width()); 140 long val = long((double)slider->value() * mediaPlayerState->length() / slider->width());
141 mediaPlayerState->setPosition( val ); 141 mediaPlayerState->setPosition( val );
142} 142}
143 143
144 144
145void AudioWidget::setPosition( long i ) { 145void AudioWidget::setPosition( long i ) {
146 updateSlider( i, mediaPlayerState->length() ); 146 updateSlider( i, mediaPlayerState->length() );
147} 147}
148 148
149 149
150void AudioWidget::setLength( long max ) { 150void AudioWidget::setLength( long max ) {
151 updateSlider( mediaPlayerState->position(), max ); 151 updateSlider( mediaPlayerState->position(), max );
152} 152}
153 153
154 154
155void AudioWidget::setView( char view ) { 155void AudioWidget::setView( char view ) {
156 156
157 if (mediaPlayerState->isStreaming) { 157 if (mediaPlayerState->isStreaming) {
158 if( !slider->isHidden()) slider->hide(); 158 if( !slider->isHidden()) slider->hide();
159 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 159 disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
160 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 160 disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
161 } else { 161 } else {
162// this stops the slider from being moved, thus 162// this stops the slider from being moved, thus
163 // does not stop stream when it reaches the end 163 // does not stop stream when it reaches the end
164 slider->show(); 164 slider->show();
165 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 165 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
166 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 166 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
167 } 167 }
168 168
169 if ( view == 'a' ) { 169 if ( view == 'a' ) {
170 startTimer( 150 ); 170 startTimer( 150 );
171// show(); 171// show();
172 showMaximized(); 172 showMaximized();
173 } else { 173 } else {
174 killTimers(); 174 killTimers();
175 hide(); 175 hide();
176 } 176 }
177} 177}
178 178
179 179
180void AudioWidget::updateSlider( long i, long max ) { 180void AudioWidget::updateSlider( long i, long max ) {
181 if ( max == 0 ) 181 if ( max == 0 )
182 return; 182 return;
183 // Will flicker too much if we don't do this 183 // Will flicker too much if we don't do this
184 // Scale to something reasonable 184 // Scale to something reasonable
185 int width = slider->width(); 185 int width = slider->width();
186 int val = int((double)i * width / max); 186 int val = int((double)i * width / max);
187 if ( !audioSliderBeingMoved ) { 187 if ( !audioSliderBeingMoved ) {
188 if ( slider->value() != val ) 188 if ( slider->value() != val )
189 slider->setValue( val ); 189 slider->setValue( val );
190 if ( slider->maxValue() != width ) 190 if ( slider->maxValue() != width )
191 slider->setMaxValue( width ); 191 slider->setMaxValue( width );
192 } 192 }
193} 193}
194 194
195 195
196void AudioWidget::setToggleButton( int i, bool down ) { 196void AudioWidget::setToggleButton( int i, bool down ) {
197 if ( down != audioButtons[i].isDown ) 197 if ( down != audioButtons[i].isDown )
198 toggleButton( i ); 198 toggleButton( i );
199} 199}
200 200
201 201
202void AudioWidget::toggleButton( int i ) { 202void AudioWidget::toggleButton( int i ) {
203 audioButtons[i].isDown = !audioButtons[i].isDown; 203 audioButtons[i].isDown = !audioButtons[i].isDown;
204 QPainter p(this); 204 QPainter p(this);
205 paintButton ( &p, i ); 205 paintButton ( &p, i );
206} 206}
207 207
208 208
209void AudioWidget::paintButton( QPainter *p, int i ) { 209void AudioWidget::paintButton( QPainter *p, int i ) {
210 int x = audioButtons[i].xPos; 210 int x = audioButtons[i].xPos;
211 int y = audioButtons[i].yPos; 211 int y = audioButtons[i].yPos;
212 int offset = 22 + 14 * audioButtons[i].isBig + audioButtons[i].isDown; 212 int offset = 22 + 14 * audioButtons[i].isBig + audioButtons[i].isDown;
213 int buttonSize = 64 + audioButtons[i].isBig * (90 - 64); 213 int buttonSize = 64 + audioButtons[i].isBig * (90 - 64);
214 p->drawPixmap( x, y, *pixmaps[audioButtons[i].isBig], buttonSize * (audioButtons[i].isDown + 2 * audioButtons[i].color), 0, buttonSize, buttonSize ); 214 p->drawPixmap( x, y, *pixmaps[audioButtons[i].isBig], buttonSize * (audioButtons[i].isDown + 2 * audioButtons[i].color), 0, buttonSize, buttonSize );
215 p->drawPixmap( x + offset, y + offset, *pixmaps[2], 18 * i, 0, 18, 18 ); 215 p->drawPixmap( x + offset, y + offset, *pixmaps[2], 18 * i, 0, 18, 18 );
216} 216}
217 217
218 218
219void AudioWidget::timerEvent( QTimerEvent * ) { 219void AudioWidget::timerEvent( QTimerEvent * ) {
220 static int frame = 0; 220 static int frame = 0;
221 if ( !mediaPlayerState->paused() && audioButtons[ AudioPlay ].isDown ) { 221 if ( !mediaPlayerState->paused() && audioButtons[ AudioPlay ].isDown ) {
222 frame = frame >= 7 ? 0 : frame + 1; 222 frame = frame >= 7 ? 0 : frame + 1;
223 int x = audioButtons[AudioPlay].xPos; 223 int x = audioButtons[AudioPlay].xPos;
224 int y = audioButtons[AudioPlay].yPos; 224 int y = audioButtons[AudioPlay].yPos;
225 QPainter p( this ); 225 QPainter p( this );
226 // Optimize to only draw the little bit of the changing images which is different 226 // Optimize to only draw the little bit of the changing images which is different
227 p.drawPixmap( x + 14, y + 8, *pixmaps[3], 32 * frame, 0, 32, 32 ); 227 p.drawPixmap( x + 14, y + 8, *pixmaps[3], 32 * frame, 0, 32, 32 );
228 p.drawPixmap( x + 37, y + 37, *pixmaps[2], 18 * AudioPlay, 0, 6, 3 ); 228 p.drawPixmap( x + 37, y + 37, *pixmaps[2], 18 * AudioPlay, 0, 6, 3 );
229 } 229 }
230} 230}
231 231
232 232
233void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { 233void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
234 for ( int i = 0; i < numButtons; i++ ) { 234 for ( int i = 0; i < numButtons; i++ ) {
235 int size = audioButtons[i].isBig; 235 int size = audioButtons[i].isBig;
236 int x = audioButtons[i].xPos; 236 int x = audioButtons[i].xPos;
237 int y = audioButtons[i].yPos; 237 int y = audioButtons[i].yPos;
238 if ( event->state() == QMouseEvent::LeftButton ) { 238 if ( event->state() == QMouseEvent::LeftButton ) {
239 // The test to see if the mouse click is inside the circular button or not 239 // The test to see if the mouse click is inside the circular button or not
240 // (compared with the radius squared to avoid a square-root of our distance) 240 // (compared with the radius squared to avoid a square-root of our distance)
241 int radius = 32 + 13 * size; 241 int radius = 32 + 13 * size;
242 QPoint center = QPoint( x + radius, y + radius ); 242 QPoint center = QPoint( x + radius, y + radius );
243 QPoint dXY = center - event->pos(); 243 QPoint dXY = center - event->pos();
244 int dist = dXY.x() * dXY.x() + dXY.y() * dXY.y(); 244 int dist = dXY.x() * dXY.x() + dXY.y() * dXY.y();
245 bool isOnButton = dist <= (radius * radius); 245 bool isOnButton = dist <= (radius * radius);
246// QRect r( x, y, 64 + 22*size, 64 + 22*size ); 246// QRect r( x, y, 64 + 22*size, 64 + 22*size );
247// bool isOnButton = r.contains( event->pos() ); // Rectangular Button code 247// bool isOnButton = r.contains( event->pos() ); // Rectangular Button code
248 if ( isOnButton && !audioButtons[i].isHeld ) { 248 if ( isOnButton && !audioButtons[i].isHeld ) {
249 audioButtons[i].isHeld = TRUE; 249 audioButtons[i].isHeld = TRUE;
250 toggleButton(i); 250 toggleButton(i);
251 qDebug("button toggled1 %d",i); 251 qDebug("button toggled1 %d",i);
252 switch (i) { 252 switch (i) {
253 case AudioVolumeUp: emit moreClicked(); return; 253 case AudioVolumeUp: emit moreClicked(); return;
254 case AudioVolumeDown: emit lessClicked(); return; 254 case AudioVolumeDown: emit lessClicked(); return;
255 } 255 }
256 } else if ( !isOnButton && audioButtons[i].isHeld ) { 256 } else if ( !isOnButton && audioButtons[i].isHeld ) {
257 audioButtons[i].isHeld = FALSE; 257 audioButtons[i].isHeld = FALSE;
258 toggleButton(i); 258 toggleButton(i);
259 qDebug("button toggled2 %d",i); 259 qDebug("button toggled2 %d",i);
260 } 260 }
261 } else { 261 } else {
262 if ( audioButtons[i].isHeld ) { 262 if ( audioButtons[i].isHeld ) {
263 audioButtons[i].isHeld = FALSE; 263 audioButtons[i].isHeld = FALSE;
264 if ( !audioButtons[i].isToggle ) 264 if ( !audioButtons[i].isToggle )
265 setToggleButton( i, FALSE ); 265 setToggleButton( i, FALSE );
266 qDebug("button toggled3 %d",i); 266 qDebug("button toggled3 %d",i);
267 switch (i) { 267 switch (i) {
268 case AudioPlay: mediaPlayerState->setPlaying(audioButtons[i].isDown); return; 268 case AudioPlay: mediaPlayerState->setPlaying(audioButtons[i].isDown); return;
269 case AudioStop: mediaPlayerState->setPlaying(FALSE); return; 269 case AudioStop: mediaPlayerState->setPlaying(FALSE); return;
270 case AudioPause: mediaPlayerState->setPaused(audioButtons[i].isDown); return; 270 case AudioPause: mediaPlayerState->setPaused(audioButtons[i].isDown); return;
271 case AudioNext: mediaPlayerState->setNext(); return; 271 case AudioNext: mediaPlayerState->setNext(); return;
272 case AudioPrevious: mediaPlayerState->setPrev(); return; 272 case AudioPrevious: mediaPlayerState->setPrev(); return;
273 case AudioLoop: mediaPlayerState->setLooping(audioButtons[i].isDown); return; 273 case AudioLoop: mediaPlayerState->setLooping(audioButtons[i].isDown); return;
274 case AudioVolumeUp: emit moreReleased(); return; 274 case AudioVolumeUp: emit moreReleased(); return;
275 case AudioVolumeDown: emit lessReleased(); return; 275 case AudioVolumeDown: emit lessReleased(); return;
276 case AudioPlayList: mediaPlayerState->setList(); return; 276 case AudioPlayList: mediaPlayerState->setList(); return;
277 } 277 }
278 } 278 }
279 } 279 }
280 } 280 }
281} 281}
282 282
283 283
284void AudioWidget::mousePressEvent( QMouseEvent *event ) { 284void AudioWidget::mousePressEvent( QMouseEvent *event ) {
285 mouseMoveEvent( event ); 285 mouseMoveEvent( event );
286} 286}
287 287
288 288
289void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) { 289void AudioWidget::mouseReleaseEvent( QMouseEvent *event ) {
290 mouseMoveEvent( event ); 290 mouseMoveEvent( event );
291} 291}
292 292
293 293
294void AudioWidget::showEvent( QShowEvent* ) { 294void AudioWidget::showEvent( QShowEvent* ) {
295 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); 295 QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
296 mouseMoveEvent( &event ); 296 mouseMoveEvent( &event );
297} 297}
298 298
299 299
300void AudioWidget::closeEvent( QCloseEvent* ) { 300void AudioWidget::closeEvent( QCloseEvent* ) {
301 mediaPlayerState->setList(); 301 mediaPlayerState->setList();
302} 302}
303 303
304 304
305void AudioWidget::paintEvent( QPaintEvent * ) { 305void AudioWidget::paintEvent( QPaintEvent * ) {
306 QPainter p( this ); 306 QPainter p( this );
307 for ( int i = 0; i < numButtons; i++ ) 307 for ( int i = 0; i < numButtons; i++ )
308 paintButton( &p, i ); 308 paintButton( &p, i );
309} 309}
310 310
311void AudioWidget::showMe() {
312 show();
313}
314void AudioWidget::keyReleaseEvent( QKeyEvent *e) 311void AudioWidget::keyReleaseEvent( QKeyEvent *e)
315{ 312{
316 switch ( e->key() ) { 313 switch ( e->key() ) {
317////////////////////////////// Zaurus keys 314////////////////////////////// Zaurus keys
318 case Key_Home: 315 case Key_Home:
319 break; 316 break;
320 case Key_F9: //activity 317 case Key_F9: //activity
321 hide(); 318 hide();
322// qDebug("Audio F9"); 319// qDebug("Audio F9");
323 break; 320 break;
324 case Key_F10: //contacts 321 case Key_F10: //contacts
325 break; 322 break;
326 case Key_F11: //menu 323 case Key_F11: //menu
327 break; 324 break;
328 case Key_F12: //home 325 case Key_F12: //home
329 break; 326 break;
330 case Key_F13: //mail 327 case Key_F13: //mail
331 break; 328 break;
332 case Key_Space: { 329 case Key_Space: {
333 if(mediaPlayerState->playing()) { 330 if(mediaPlayerState->playing()) {
334// toggleButton(1); 331// toggleButton(1);
335 mediaPlayerState->setPlaying(FALSE); 332 mediaPlayerState->setPlaying(FALSE);
336// toggleButton(1); 333// toggleButton(1);
337 } else { 334 } else {
338// toggleButton(0); 335// toggleButton(0);
339 mediaPlayerState->setPlaying(TRUE); 336 mediaPlayerState->setPlaying(TRUE);
340// toggleButton(0); 337// toggleButton(0);
341 } 338 }
342 } 339 }
343 break; 340 break;
344 case Key_Down: 341 case Key_Down:
345 toggleButton(6); 342 toggleButton(6);
346 emit lessClicked(); 343 emit lessClicked();
347 emit lessReleased(); 344 emit lessReleased();
348 toggleButton(6); 345 toggleButton(6);
349 break; 346 break;
350 case Key_Up: 347 case Key_Up:
351 toggleButton(5); 348 toggleButton(5);
352 emit moreClicked(); 349 emit moreClicked();
353 emit moreReleased(); 350 emit moreReleased();
354 toggleButton(5); 351 toggleButton(5);
355 break; 352 break;
356 case Key_Right: 353 case Key_Right:
357// toggleButton(3); 354// toggleButton(3);
358 mediaPlayerState->setNext(); 355 mediaPlayerState->setNext();
359// toggleButton(3); 356// toggleButton(3);
360 break; 357 break;
361 case Key_Left: 358 case Key_Left:
362// toggleButton(4); 359// toggleButton(4);
363 mediaPlayerState->setPrev(); 360 mediaPlayerState->setPrev();
364// toggleButton(4); 361// toggleButton(4);
365 break; 362 break;
366 case Key_Escape: 363 case Key_Escape:
367 break; 364 break;
368 365
369 }; 366 };
370} 367}