summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui80
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp98
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.h2
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: