summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/wellenreiter.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/wellenreiter/gui/wellenreiter.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp78
1 files changed, 73 insertions, 5 deletions
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 5808e9c..764ef34 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -18,2 +18,11 @@
#include <qpushbutton.h>
+#include <qmessagebox.h>
+#include <qcombobox.h>
+#include <qspinbox.h>
+
+// Qtopia
+
+#ifdef QWS
+#include <qpe/global.h>
+#endif
@@ -26,2 +35,3 @@
#include <sys/types.h>
+#include <stdlib.h>
@@ -33,2 +43,3 @@
#include "hexwindow.h"
+#include "configwindow.h"
@@ -39,3 +50,3 @@
Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
- : WellenreiterBase( parent, name, fl )
+ : WellenreiterBase( parent, name, fl ), daemonRunning( false )
{
@@ -151,6 +162,6 @@ void Wellenreiter::timerEvent( QTimerEvent* e )
{
- qDebug( "checking for message..." );
+ //qDebug( "checking for message..." );
if ( hasMessage() )
{
- qDebug( "got message" );
+ //qDebug( "got message from daemon" );
handleMessage();
@@ -159,3 +170,3 @@ void Wellenreiter::timerEvent( QTimerEvent* e )
{
- qDebug( "no message..." );
+ //qDebug( "no message..." );
}
@@ -239,7 +250,62 @@ void Wellenreiter::buttonClicked()
{
+ if ( daemonRunning )
+ {
+ logwindow->log( "(i) Daemon has been stopped." );
+ button->setText( "Start Scanning" );
+
+ // Stop daemon
+
+ // find out pids of wellenreiterd and orinoco_hopper
+
+ }
+
+ else
+ {
+
+ // get configuration from config window
- // FIXME: communicate with daemon and set button text according to state
+ const QString& interface = configwindow->interfaceName->currentText();
+ const QString& cardtype = configwindow->deviceType->currentText();
+ const QString& interval = configwindow->hopInterval->cleanText();
+ if ( ( interface == "<select>" ) || ( cardtype == "<select>" ) )
+ {
+ QMessageBox::information( this, "Wellenreiter/Opie", "You must configure your\ndevice before scanning." );
+ return;
+ }
+
+ logwindow->log( "(i) Daemon has been started." );
button->setText( "Stop Scanning" );
+#ifdef QWS
+
+ // set interface into monitor mode
+
+ QString cmdline;
+
+ cmdline.sprintf( "iwpriv %s monitor 2", (const char*) interface );
+ system( cmdline );
+ cmdline.sprintf( "iwpriv %s monitor 2 1", (const char*) interface );
+ system( cmdline );
+
+ // start channel hopper
+
+ cmdline = "orinoco_hopper ";
+ cmdline += interface;
+ cmdline += " -i ";
+ cmdline += interval;
+ //qDebug( "execute: %s", (const char*) cmdline );
+ Global::execute( cmdline );
+
+ // start daemon
+
+ cmdline = "wellenreiterd ";
+ cmdline += interface;
+ cmdline += " 3";
+ //qDebug( "execute: %s", (const char*) cmdline );
+ Global::execute( cmdline );
+#endif
+
+ /*
+
// add some test stations, so that we can see if the GUI part works
@@ -256,2 +322,4 @@ void Wellenreiter::buttonClicked()
+ */
+ }
}