summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/audiowidget.cpp
Side-by-side diff
Diffstat (limited to 'core/multimedia/opieplayer/audiowidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/audiowidget.cpp62
1 files changed, 61 insertions, 1 deletions
diff --git a/core/multimedia/opieplayer/audiowidget.cpp b/core/multimedia/opieplayer/audiowidget.cpp
index 582660c..3901446 100644
--- a/core/multimedia/opieplayer/audiowidget.cpp
+++ b/core/multimedia/opieplayer/audiowidget.cpp
@@ -12,22 +12,25 @@
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
+#include <qpe/qpeapplication.h>
+#include <qpe/resource.h>
+
#include <qwidget.h>
#include <qpixmap.h>
#include <qbutton.h>
#include <qpainter.h>
#include <qframe.h>
-#include <qpe/resource.h>
+
#include "audiowidget.h"
#include "mediaplayerstate.h"
extern MediaPlayerState *mediaPlayerState;
static const int xo = -2; // movable x offset
static const int yo = 22; // movable y offset
@@ -55,16 +58,17 @@ MediaButton audioButtons[] = {
static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton));
AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
QWidget( parent, name, f )
{
+// QPEApplication::grabKeyboard();
setCaption( tr("OpiePlayer") );
setBackgroundPixmap( Resource::loadPixmap( "mpegplayer/metalFinish" ) );
pixmaps[0] = new QPixmap( Resource::loadPixmap( "mpegplayer/mediaButtonsAll" ) );
pixmaps[1] = new QPixmap( Resource::loadPixmap( "mpegplayer/mediaButtonsBig" ) );
pixmaps[2] = new QPixmap( Resource::loadPixmap( "mpegplayer/mediaControls" ) );
pixmaps[3] = new QPixmap( Resource::loadPixmap( "mpegplayer/animatedButton" ) );
songInfo = new Ticker( this );
@@ -211,16 +215,17 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
QPoint dXY = center - event->pos();
int dist = dXY.x() * dXY.x() + dXY.y() * dXY.y();
bool isOnButton = dist <= (radius * radius);
// QRect r( x, y, 64 + 22*size, 64 + 22*size );
// bool isOnButton = r.contains( event->pos() ); // Rectangular Button code
if ( isOnButton && !audioButtons[i].isHeld ) {
audioButtons[i].isHeld = TRUE;
toggleButton(i);
+ qDebug("button toggled %d",i);
switch (i) {
case AudioVolumeUp: emit moreClicked(); return;
case AudioVolumeDown: emit lessClicked(); return;
}
} else if ( !isOnButton && audioButtons[i].isHeld ) {
audioButtons[i].isHeld = FALSE;
toggleButton(i);
}
@@ -269,8 +274,63 @@ void AudioWidget::closeEvent( QCloseEvent* ) {
void AudioWidget::paintEvent( QPaintEvent * ) {
QPainter p( this );
for ( int i = 0; i < numButtons; i++ )
paintButton( &p, i );
}
+void AudioWidget::keyReleaseEvent( QKeyEvent *e)
+{
+ switch ( e->key() ) {
+////////////////////////////// Zaurus keys
+ case Key_Home:
+ break;
+ case Key_F9: //activity
+ break;
+ case Key_F10: //contacts
+ break;
+ case Key_F11: //menu
+ break;
+ case Key_F12: //home
+ break;
+ case Key_F13: //mail
+ break;
+ case Key_Space: {
+ if(mediaPlayerState->playing()) {
+// toggleButton(1);
+ mediaPlayerState->setPlaying(FALSE);
+// toggleButton(1);
+ } else {
+// toggleButton(0);
+ mediaPlayerState->setPlaying(TRUE);
+// toggleButton(0);
+ }
+ }
+ break;
+ case Key_Down:
+ toggleButton(6);
+ emit lessClicked();
+ emit lessReleased();
+ toggleButton(6);
+ break;
+ case Key_Up:
+ toggleButton(5);
+ emit moreClicked();
+ emit moreReleased();
+ toggleButton(5);
+ break;
+ case Key_Right:
+// toggleButton(3);
+ mediaPlayerState->setNext();
+// toggleButton(3);
+ break;
+ case Key_Left:
+// toggleButton(4);
+ mediaPlayerState->setPrev();
+// toggleButton(4);
+ break;
+ case Key_Escape:
+ break;
+
+ };
+}