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
@@ -11,22 +11,28 @@
<rect>
<x>0</x>
<y>0</y>
- <width>240</width>
- <height>276</height>
+ <width>232</width>
+ <height>267</height>
</rect>
</property>
<property stdset="1">
<name>caption</name>
<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>
<class>QLayoutWidget</class>
@@ -34,6 +40,9 @@
<name>name</name>
<cstring>Layout5</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<hbox>
<property stdset="1">
<name>margin</name>
@@ -41,7 +50,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>2</number>
</property>
<widget>
<class>QLabel</class>
@@ -80,6 +89,9 @@
<name>name</name>
<cstring>Layout7</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<grid>
<property stdset="1">
<name>margin</name>
@@ -87,7 +99,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>2</number>
</property>
<widget row="0" column="0" >
<class>QComboBox</class>
@@ -139,7 +151,7 @@
</property>
<property stdset="1">
<name>enabled</name>
- <bool>false</bool>
+ <bool>true</bool>
</property>
</widget>
<widget row="4" column="0" rowspan="1" colspan="2" >
@@ -195,7 +207,7 @@
</property>
<property stdset="1">
<name>enabled</name>
- <bool>false</bool>
+ <bool>true</bool>
</property>
</widget>
<widget row="3" column="0" rowspan="1" colspan="2" >
@@ -221,7 +233,7 @@
</property>
<property stdset="1">
<name>enabled</name>
- <bool>false</bool>
+ <bool>true</bool>
</property>
<property stdset="1">
<name>suffix</name>
@@ -248,7 +260,7 @@
</property>
<property stdset="1">
<name>enabled</name>
- <bool>false</bool>
+ <bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
@@ -263,7 +275,7 @@
</property>
<property stdset="1">
<name>enabled</name>
- <bool>false</bool>
+ <bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
@@ -278,7 +290,7 @@
</property>
<property stdset="1">
<name>enabled</name>
- <bool>false</bool>
+ <bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
@@ -293,6 +305,9 @@
<name>name</name>
<cstring>Layout6</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<hbox>
<property stdset="1">
<name>margin</name>
@@ -300,7 +315,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>2</number>
</property>
<widget>
<class>QLabel</class>
@@ -337,7 +352,10 @@
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout8</cstring>
+ <cstring>Layout5</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
</property>
<vbox>
<property stdset="1">
@@ -346,7 +364,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>-1</number>
</property>
<widget>
<class>QCheckBox</class>
@@ -378,8 +396,40 @@
<string>Enable Activity Display</string>
</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>
</UI>
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
@@ -24,6 +24,7 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase
public:
WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 );
+
};
#endif
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
@@ -16,6 +16,15 @@
// Qt
#include <qpushbutton.h>
+#include <qmessagebox.h>
+#include <qcombobox.h>
+#include <qspinbox.h>
+
+// Qtopia
+
+#ifdef QWS
+#include <qpe/global.h>
+#endif
// Standard
@@ -24,6 +33,7 @@
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
+#include <stdlib.h>
// Local
@@ -31,13 +41,14 @@
#include "scanlistitem.h"
#include "logwindow.h"
#include "hexwindow.h"
+#include "configwindow.h"
#include "../libwellenreiter/source/sock.hh" // <--- ugly path, FIX THIS!
#include "../libwellenreiter/source/proto.hh" // <--- ugly path, FIX THIS!
#include "../daemon/source/config.hh" // <--- ugly path, FIX THIS!
Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
- : WellenreiterBase( parent, name, fl )
+ : WellenreiterBase( parent, name, fl ), daemonRunning( false )
{
logwindow->log( "(i) Wellenreiter has been started." );
@@ -149,15 +160,15 @@ 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..." );
}
}
@@ -237,21 +248,78 @@ 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
@@ -30,6 +30,8 @@ public:
protected:
virtual void timerEvent( QTimerEvent* );
+
+ bool daemonRunning;
public slots:
void buttonClicked();