summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp71
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.h49
2 files changed, 116 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 955169c..6b656ee 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -1 +1,33 @@
+/*
+                This file is part of the Opie Project
+
+              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
+ Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
+ Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
+..}^=.=       =       ; Library General Public License for more
+++=   -.     .`     .: details.
+ :     =  ...= . :.=-
+ -.   .:....=;==+<; You should have received a copy of the GNU
+  -_. . .   )=.  = Library General Public License along with
+    --        :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
@@ -164,2 +196,9 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name, WFlags f) :
+ connect( this, SIGNAL( forwardClicked() ), this, SLOT( skipFor() ) );
+ connect( this, SIGNAL( backClicked() ), this, SLOT( skipBack() ) );
+ connect( this, SIGNAL( forwardReleased() ), this, SLOT( stopSkip() ) );
+ connect( this, SIGNAL( backReleased() ), this, SLOT( stopSkip() ) );
+
+
+
// Intialise state
@@ -343,3 +382,27 @@ void AudioWidget::paintButton( QPainter *p, int i ) {
+void AudioWidget::skipFor() {
+ skipDirection = +1;
+ startTimer( 50 );
+ mediaPlayerState->setPosition( mediaPlayerState->position() + 2 );
+}
+
+void AudioWidget::skipBack() {
+ skipDirection = -1;
+ startTimer( 50 );
+ mediaPlayerState->setPosition( mediaPlayerState->position() - 2 );
+}
+
+
+
+void AudioWidget::stopSkip() {
+ killTimers();
+}
+
+
void AudioWidget::timerEvent( QTimerEvent * ) {
+ if ( skipDirection == +1 ) {
+ mediaPlayerState->setPosition( mediaPlayerState->position() + 2 );
+ } else if ( skipDirection == -1 ) {
+ mediaPlayerState->setPosition( mediaPlayerState->position() - 2 );
+ }
}
@@ -372,2 +435,8 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
return;
+ case AudioForward:
+ emit forwardClicked();
+ return;
+ case AudioBack:
+ emit backClicked();
+ return;
}
@@ -394,2 +463,4 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
case AudioPlayList: mediaPlayerState->setList(); return;
+ case AudioForward: emit forwardReleased(); return;
+ case AudioBack: emit backReleased(); return;
}
diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h
index 2b892be..e05188e 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.h
+++ b/noncore/multimedia/opieplayer2/audiowidget.h
@@ -1 +1,34 @@
+/*
+                This file is part of the Opie Project
+
+              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
+ Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
+ Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
+..}^=.=       =       ; Library General Public License for more
+++=   -.     .`     .: details.
+ :     =  ...= . :.=-
+ -.   .:....=;==+<; You should have received a copy of the GNU
+  -_. . .   )=.  = Library General Public License along with
+    --        :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+
#ifndef AUDIO_WIDGET_H
@@ -24,3 +57,5 @@ enum AudioButtons {
AudioLoop,
- AudioPlayList
+ AudioPlayList,
+ AudioForward,
+ AudioBack
};
@@ -28,5 +63,2 @@ enum AudioButtons {
-//#define USE_DBLBUF
-
-
class Ticker : public QFrame {
@@ -71,2 +103,6 @@ signals:
void lessReleased();
+ void forwardClicked();
+ void backClicked();
+ void forwardReleased();
+ void backReleased();
void sliderMoved(long);
@@ -85,2 +121,6 @@ protected:
void keyReleaseEvent( QKeyEvent *e);
+private slots:
+ void skipFor();
+ void skipBack();
+ void stopSkip();
private:
@@ -89,2 +129,3 @@ private:
void paintButton( QPainter *p, int i );
+ int skipDirection;
QString skin;