-rw-r--r-- | noncore/net/wellenreiter/gui/configbase.ui | 80 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.h | 1 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 98 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.h | 2 |
4 files changed, 151 insertions, 30 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui index 57ffd2a..e2f734a 100644 --- a/noncore/net/wellenreiter/gui/configbase.ui +++ b/noncore/net/wellenreiter/gui/configbase.ui @@ -12,6 +12,6 @@ <x>0</x> <y>0</y> - <width>240</width> - <height>276</height> + <width>232</width> + <height>267</height> </rect> </property> @@ -20,12 +20,18 @@ <string>Form1</string> </property> + <property> + <name>layoutMargin</name> + </property> + <property> + <name>layoutSpacing</name> + </property> <vbox> <property stdset="1"> <name>margin</name> - <number>11</number> + <number>4</number> </property> <property stdset="1"> <name>spacing</name> - <number>6</number> + <number>0</number> </property> <widget> @@ -35,4 +41,7 @@ <cstring>Layout5</cstring> </property> + <property> + <name>layoutSpacing</name> + </property> <hbox> <property stdset="1"> @@ -42,5 +51,5 @@ <property stdset="1"> <name>spacing</name> - <number>6</number> + <number>2</number> </property> <widget> @@ -81,4 +90,7 @@ <cstring>Layout7</cstring> </property> + <property> + <name>layoutSpacing</name> + </property> <grid> <property stdset="1"> @@ -88,5 +100,5 @@ <property stdset="1"> <name>spacing</name> - <number>6</number> + <number>2</number> </property> <widget row="0" column="0" > @@ -140,5 +152,5 @@ <property stdset="1"> <name>enabled</name> - <bool>false</bool> + <bool>true</bool> </property> </widget> @@ -196,5 +208,5 @@ <property stdset="1"> <name>enabled</name> - <bool>false</bool> + <bool>true</bool> </property> </widget> @@ -222,5 +234,5 @@ <property stdset="1"> <name>enabled</name> - <bool>false</bool> + <bool>true</bool> </property> <property stdset="1"> @@ -249,5 +261,5 @@ <property stdset="1"> <name>enabled</name> - <bool>false</bool> + <bool>true</bool> </property> <property stdset="1"> @@ -264,5 +276,5 @@ <property stdset="1"> <name>enabled</name> - <bool>false</bool> + <bool>true</bool> </property> <property stdset="1"> @@ -279,5 +291,5 @@ <property stdset="1"> <name>enabled</name> - <bool>false</bool> + <bool>true</bool> </property> <property stdset="1"> @@ -294,4 +306,7 @@ <cstring>Layout6</cstring> </property> + <property> + <name>layoutSpacing</name> + </property> <hbox> <property stdset="1"> @@ -301,5 +316,5 @@ <property stdset="1"> <name>spacing</name> - <number>6</number> + <number>2</number> </property> <widget> @@ -338,5 +353,8 @@ <property stdset="1"> <name>name</name> - <cstring>Layout8</cstring> + <cstring>Layout5</cstring> + </property> + <property> + <name>layoutSpacing</name> </property> <vbox> @@ -347,5 +365,5 @@ <property stdset="1"> <name>spacing</name> - <number>6</number> + <number>-1</number> </property> <widget> @@ -379,6 +397,38 @@ </property> </widget> + <widget> + <class>QCheckBox</class> + <property stdset="1"> + <name>name</name> + <cstring>beepOnFound</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Beep on new network</string> + </property> + </widget> </vbox> </widget> + <spacer> + <property> + <name>name</name> + <cstring>Spacer2</cstring> + </property> + <property stdset="1"> + <name>orientation</name> + <enum>Vertical</enum> + </property> + <property stdset="1"> + <name>sizeType</name> + <enum>Expanding</enum> + </property> + <property> + <name>sizeHint</name> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> </vbox> </widget> diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h index 759d46d..c2db283 100644 --- a/noncore/net/wellenreiter/gui/configwindow.h +++ b/noncore/net/wellenreiter/gui/configwindow.h @@ -25,4 +25,5 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 ); + }; 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 @@ -17,4 +17,13 @@ #include <qpushbutton.h> +#include <qmessagebox.h> +#include <qcombobox.h> +#include <qspinbox.h> + +// Qtopia + +#ifdef QWS +#include <qpe/global.h> +#endif // Standard @@ -25,4 +34,5 @@ #include <string.h> #include <sys/types.h> +#include <stdlib.h> // Local @@ -32,4 +42,5 @@ #include "logwindow.h" #include "hexwindow.h" +#include "configwindow.h" #include "../libwellenreiter/source/sock.hh" // <--- ugly path, FIX THIS! @@ -38,5 +49,5 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl ) - : WellenreiterBase( parent, name, fl ) + : WellenreiterBase( parent, name, fl ), daemonRunning( false ) { @@ -150,13 +161,13 @@ bool Wellenreiter::hasMessage() void Wellenreiter::timerEvent( QTimerEvent* e ) { - qDebug( "checking for message..." ); + //qDebug( "checking for message..." ); if ( hasMessage() ) { - qDebug( "got message" ); + //qDebug( "got message from daemon" ); handleMessage(); } else { - qDebug( "no message..." ); + //qDebug( "no message..." ); } } @@ -238,20 +249,77 @@ void Wellenreiter::addNewItem( QString type, QString essid, QString macaddr, boo 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 + + 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 - // FIXME: communicate with daemon and set button text according to state + /* - button->setText( "Stop Scanning" ); + // add some test stations, so that we can see if the GUI part works - // add some test stations, so that we can see if the GUI part works + addNewItem( "managed", "Vanille", "04:00:20:EF:A6:43", true, 6, 80 ); + addNewItem( "managed", "Vanille", "04:00:20:EF:A6:23", true, 11, 10 ); + addNewItem( "adhoc", "ELAN", "40:03:43:E7:16:22", false, 3, 10 ); + addNewItem( "adhoc", "ELAN", "40:03:53:E7:56:62", false, 3, 15 ); + addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 ); - addNewItem( "managed", "Vanille", "04:00:20:EF:A6:43", true, 6, 80 ); - addNewItem( "managed", "Vanille", "04:00:20:EF:A6:23", true, 11, 10 ); - addNewItem( "adhoc", "ELAN", "40:03:43:E7:16:22", false, 3, 10 ); - addNewItem( "adhoc", "ELAN", "40:03:53:E7:56:62", false, 3, 15 ); - addNewItem( "adhoc", "ELAN", "40:03:63:E7:56:E2", false, 3, 20 ); - - QString command ("98"); + QString command ("98"); - //sendcomm( DAEMONADDR, DAEMONPORT, (const char*) command ); + //sendcomm( DAEMONADDR, DAEMONPORT, (const char*) command ); + */ + } } diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h index 61f7503..052a242 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.h +++ b/noncore/net/wellenreiter/gui/wellenreiter.h @@ -31,4 +31,6 @@ public: protected: virtual void timerEvent( QTimerEvent* ); + + bool daemonRunning; public slots: |