-rw-r--r-- | core/applets/vmemo/vmemo.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/core/applets/vmemo/vmemo.cpp b/core/applets/vmemo/vmemo.cpp index 9c0025d..8875cdf 100644 --- a/core/applets/vmemo/vmemo.cpp +++ b/core/applets/vmemo/vmemo.cpp @@ -140,8 +140,12 @@ VMemo::VMemo( QWidget *parent, const char *name ) setFixedWidth( 14 ); recording = FALSE; + myChannel = new QCopChannel( "QPE/VMemo", this ); + connect( myChannel, SIGNAL(received(const QCString&, const QByteArray&)), + this, SLOT(receive(const QCString&, const QByteArray&)) ); + struct utsname name; /* check for embedix kernel running on the zaurus, if lineo change string, this break */ if (uname(&name) != -1) @@ -150,17 +154,72 @@ VMemo::VMemo( QWidget *parent, const char *name ) qWarning("System release: %s\n", name.release); if(release.find("embedix",0,TRUE) !=-1) systemZaurus=TRUE; else + { + int fr; systemZaurus=FALSE; + + if ((fr = fork()) == -1) + { + qWarning("Fork failed"); } + else if (fr == 0) + { + int key, max; + fd_set fdr; + char buffer[10]; + key = open("/dev/touchscreen/key", O_RDONLY); + if (key == -1) + { + qWarning("Could not open key"); + exit(1); + } + + while(1) + { + FD_ZERO(&fdr); + FD_SET(key, &fdr); + max = key; + + qWarning("while"); + + read(key, buffer, 10); + if(*buffer == (char)129) + { + qWarning("REC = stop"); + QCopEnvelope( "QPE/VMemo", "toggleRecord()"); + activate_signal("toggleRecordNow()"); + } + else if(*buffer == (char)1) + { + qWarning("REC = start"); + QCopEnvelope( "QPE/VMemo", "toggleRecord()"); + activate_signal("toggleRecordNow()"); + } + } + } + else if(fr) + qWarning("parent: Fork = good"); + } + } + qWarning("VMemo done init"); } VMemo::~VMemo() { } +void VMemo::receive( const QCString &msg, const QByteArray &data ) +{ + QDataStream stream( data, IO_ReadOnly ); + qWarning(msg); + if ( msg == "toggleRecord()" ) { + qWarning("Hello"); + } +} + void VMemo::paintEvent( QPaintEvent* ) { QPainter p(this); p.drawPixmap( 0, 1,( const char** ) vmemo_xpm ); |