summaryrefslogtreecommitdiff
authorwimpie <wimpie>2004-08-25 01:47:35 (UTC)
committer wimpie <wimpie>2004-08-25 01:47:35 (UTC)
commitf6a6fe57c9e0047379f4b8b40da4776f1c4d7b25 (patch) (side-by-side diff)
tree2db64e885b1a67058fa45533819993c8dcb4fb96
parent49c47e98bed6e35d0bdc8e1e4cc40bdbb07eab06 (diff)
downloadopie-f6a6fe57c9e0047379f4b8b40da4776f1c4d7b25.zip
opie-f6a6fe57c9e0047379f4b8b40da4776f1c4d7b25.tar.gz
opie-f6a6fe57c9e0047379f4b8b40da4776f1c4d7b25.tar.bz2
Final changes for RoH Feedback
- changed *.pro file to compile in backend - some more fixes to rohfeedback and qpeapplication
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/rohfeedback.cpp28
-rw-r--r--library/backend/rohfeedback.h3
-rw-r--r--library/config.in4
-rw-r--r--library/library.pro6
-rw-r--r--library/qpeapplication.cpp58
-rw-r--r--library/qpeapplication.h2
6 files changed, 57 insertions, 44 deletions
diff --git a/library/backend/rohfeedback.cpp b/library/backend/rohfeedback.cpp
index ff76a36..21aad34 100644
--- a/library/backend/rohfeedback.cpp
+++ b/library/backend/rohfeedback.cpp
@@ -1,5 +1,5 @@
-#include <rohfeedback.h>
-
+#ifdef OPIE_WITHROHFEEDBACK
+#include <rohfeedback.h>
#include <stdio.h>
#include <qpeapplication.h>
@@ -36,10 +36,9 @@ RoHFeedback::RoHFeedback() :
for( int i = 0; i < NOOFICONS ; i ++ ) {
- Imgs[i] = new QPixmap( Resource::loadPixmap("RoH/star/"+
- QString::number(i+1) +
- ".png" ));
+ Imgs[i] = new QPixmap( Resource::loadPixmap(
+ "RoH/star/"+ QString::number(i+1) + ".png" ));
Masks[i] = new QBitmap();
- (*Masks[i]) = Resource::loadPixmap("RoH/star/"+QString::number(i+1) +
- ".png" );
+ (*Masks[i]) = Resource::loadPixmap(
+ "RoH/star/"+QString::number(i+1) + "-mask.png" );
}
}
@@ -67,14 +66,12 @@ void RoHFeedback::init( const QPoint & P, QWidget* wid ) {
Receiver = wid;
- IconNr = -1;
+ IconNr = FeedbackTimerStart;
move( P.x()-IconWidth/2, P.y() - IconHeight/2 );
// to initialize
- Timer.start( DELAY - SPEED/NOOFICONS );
+ Timer.start( DELAY );
}
void RoHFeedback::stop( void ) {
- IconNr = -2; // stop
- hide();
- Timer.stop();
+ IconNr = FeedbackStopped; // stop
}
@@ -101,5 +98,5 @@ void RoHFeedback::iconShow( void ) {
switch( IconNr ) {
case FeedbackTimerStart:
- IconNr = 0;
+ IconNr = FeedbackShow;
Timer.start( SPEED/NOOFICONS );
break;
@@ -108,4 +105,5 @@ void RoHFeedback::iconShow( void ) {
IconNr = FeedbackTimerStart;
hide();
+ Timer.stop();
break;
case FeedbackShow: // first
@@ -123,3 +121,5 @@ void RoHFeedback::iconShow( void ) {
}
-} \ No newline at end of file
+}
+
+#endif
diff --git a/library/backend/rohfeedback.h b/library/backend/rohfeedback.h
index f38a095..9ffd35a 100644
--- a/library/backend/rohfeedback.h
+++ b/library/backend/rohfeedback.h
@@ -2,4 +2,6 @@
#define ROHFEEDBACK_H
+#ifdef OPIE_WITHROHFEEDBACK
+
/*
@@ -61,2 +63,3 @@ protected :
#endif
+#endif
diff --git a/library/config.in b/library/config.in
index ea69ccb..5273976 100644
--- a/library/config.in
+++ b/library/config.in
@@ -1,2 +1,6 @@
config LIBQPE
boolean "Qpe Library (Qt/Embedded version)"
+
+config LIBQPE_WITHROHFEEDBACK
+ boolean "Give visual feedback for RightOnHold"
+ depends LIBQPE
diff --git a/library/library.pro b/library/library.pro
index eb4bde3..af07fa3 100644
--- a/library/library.pro
+++ b/library/library.pro
@@ -48,4 +48,5 @@ HEADERS = calendar.h \
backend/event.h \
backend/contact.h\
+ backend/rohfeedback.h \
categorymenu.h \
categoryedit_p.h \
@@ -107,4 +108,5 @@ SOURCES = calendar.cpp \
backend/event.cpp \
backend/contact.cpp \
+ backend/rohfeedback.cpp \
categorymenu.cpp \
categoryedit_p.cpp \
@@ -136,2 +138,6 @@ contains( CONFIG, no-override ){
DEFINES += OPIE_NO_OVERRIDE_QT
}
+
+contains( CONFIG, LIBQPE_WITHROHFEEDBACK ){
+ DEFINES += WITHROHFEEDBACK
+}
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 35f433c..c6d9cfd 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -98,10 +98,9 @@
#include "qt_override_p.h"
-#include <qpe/rohfeedback.h>
+#include <backend/rohfeedback.h>
static bool useBigPixmaps = 0;
-
class HackWidget : public QWidget
{
@@ -117,6 +116,6 @@ class QPEApplicationData
{
public:
- QPEApplicationData ( )
- : presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ),
+ QPEApplicationData ( ) :
+ presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ),
notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ),
keep_running( true ), qcopQok( false ),
@@ -131,5 +130,5 @@ public:
smallIconSize = cfg.readNumEntry( "SmallIconSize", 14 );
bigIconSize = cfg.readNumEntry( "BigIconSize", 32 );
-#ifdef OPIE_ROHFEEDBACK
+#ifdef OPIE_WITHROHFEEDBACK
RoH = 0;
#endif
@@ -139,5 +138,5 @@ public:
QWidget* presswidget;
QPoint presspos;
-#ifdef OPIE_ROHFEEDBACK
+#ifdef OPIE_WITHROHFEEDBACK
Opie::Internal::RoHFeedback *RoH;
#endif
@@ -503,4 +502,5 @@ static void qpe_show_dialog( QDialog* d, bool nomax )
}
}
+
};
@@ -1216,6 +1216,8 @@ QPEApplication::~QPEApplication()
delete pidChannel;
#endif
-#ifdef OPIE_ROHFEEDBACK
- delete d->RoH;
+
+#ifdef OPIE_WITHROHFEEDBACK
+ if( d->RoH )
+ delete d->RoH;
#endif
delete d;
@@ -2036,18 +2038,18 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
case QEvent::MouseButtonPress:
if ( me->button() == LeftButton ) {
+ static long Pref = 500; // #### pref.
d->presswidget = (QWidget*)o;
d->presspos = me->pos();
d->rightpressed = FALSE;
- // just for the time being
- static int pref = 500;
-#ifdef OPIE_ROHFEEDBACK
+#ifdef OPIE_WITHROHFEEDBACK
if( ! d->RoH )
d->RoH = new Opie::Internal::RoHFeedback;
d->RoH->init( me->globalPos(), d->presswidget );
- pref = d->RoH->delay();
+ Pref = d->RoH->delay();
+
#endif
if (!d->presstimer )
- d->presstimer = startTimer( pref ); // #### pref.
+ d->presstimer = startTimer( Pref ); // #### pref.
}
@@ -2056,7 +2058,6 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
if (d->presstimer && (me->pos() - d->presspos).manhattanLength() > 8) {
killTimer(d->presstimer);
-#ifdef OPIE_ROHFEEDBACK
- if( d->RoH )
- d->RoH->stop( );
+#ifdef OPIE_WITHROHFEEDBACK
+ d->RoH->stop();
#endif
d->presstimer = 0;
@@ -2067,11 +2068,11 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
if ( d->presstimer ) {
killTimer(d->presstimer);
-#ifdef OPIE_ROHFEEDBACK
- if( d->RoH )
- d->RoH->stop( );
+#ifdef OPIE_WITHROHFEEDBACK
+ d->RoH->stop( );
#endif
d->presstimer = 0;
}
if ( d->rightpressed && d->presswidget ) {
+ printf( "Send ButtonRelease\n" );
// Right released
postEvent( d->presswidget,
@@ -2117,13 +2118,14 @@ void QPEApplication::timerEvent( QTimerEvent *e )
{
if ( e->timerId() == d->presstimer && d->presswidget ) {
- // Right pressed
- postEvent( d->presswidget,
- new QMouseEvent( QEvent::MouseButtonPress, d->presspos,
- RightButton, LeftButton ) );
- killTimer( d->presstimer );
- d->presstimer = 0;
- d->rightpressed = TRUE;
-#ifdef OPIE_ROHFEEDBACK
- d->RoH->stop();
+
+ // Right pressed
+ postEvent( d->presswidget,
+ new QMouseEvent( QEvent::MouseButtonPress, d->presspos,
+ RightButton, LeftButton ) );
+ killTimer( d->presstimer );
+ d->presstimer = 0;
+ d->rightpressed = TRUE;
+#ifdef OPIE_WITHROHFEEDBACK
+ d->RoH->stop();
#endif
}
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index d2782e4..b07802f 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -185,6 +185,4 @@ private:
bool reserved_sh;
-
-
};