-rw-r--r-- | noncore/net/wellenreiter/gui/configbase.ui | 155 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.cpp | 32 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.h | 8 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.cpp | 24 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.h | 3 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 16 |
6 files changed, 166 insertions, 72 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui index fa727f9..dda7ba0 100644 --- a/noncore/net/wellenreiter/gui/configbase.ui +++ b/noncore/net/wellenreiter/gui/configbase.ui @@ -13,4 +13,4 @@ <y>0</y> - <width>212</width> - <height>267</height> + <width>220</width> + <height>306</height> </rect> @@ -30,3 +30,3 @@ <name>margin</name> - <number>4</number> + <number>3</number> </property> @@ -327,2 +327,32 @@ <widget> + <class>QCheckBox</class> + <property stdset="1"> + <name>name</name> + <cstring>groupNetworks</cstring> + </property> + <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> + <name>text</name> + <string>Group Detected Networks</string> + </property> + </widget> + <widget> + <class>QCheckBox</class> + <property stdset="1"> + <name>name</name> + <cstring>enableActivity</cstring> + </property> + <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> + <name>text</name> + <string>Enable Activity Display</string> + </property> + </widget> + <widget> <class>QLayoutWidget</class> @@ -332,6 +362,3 @@ </property> - <property> - <name>layoutSpacing</name> - </property> - <vbox> + <grid> <property stdset="1"> @@ -342,13 +369,9 @@ <name>spacing</name> - <number>-1</number> + <number>6</number> </property> - <widget> - <class>QCheckBox</class> + <widget row="0" column="1" > + <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>groupNetworks</cstring> - </property> - <property stdset="1"> - <name>enabled</name> - <bool>false</bool> + <cstring>TextLabel1</cstring> </property> @@ -356,29 +379,72 @@ <name>text</name> - <string>Group Detected Networks</string> + <string>sound on new net</string> </property> </widget> - <widget> - <class>QCheckBox</class> + <widget row="1" column="0" > + <class>QComboBox</class> + <item> + <property> + <name>text</name> + <string>Ignore</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Touch</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Key</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Alarm</string> + </property> + </item> <property stdset="1"> <name>name</name> - <cstring>enableActivity</cstring> - </property> - <property stdset="1"> - <name>enabled</name> - <bool>false</bool> - </property> - <property stdset="1"> - <name>text</name> - <string>Enable Activity Display</string> + <cstring>beaconSound</cstring> </property> </widget> - <widget> - <class>QCheckBox</class> + <widget row="0" column="0" > + <class>QComboBox</class> + <item> + <property> + <name>text</name> + <string>Ignore</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Touch</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Key</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Alarm</string> + </property> + </item> <property stdset="1"> <name>name</name> - <cstring>beepOnFound</cstring> + <cstring>netSound</cstring> </property> + </widget> + <widget row="1" column="1" > + <class>QLabel</class> <property stdset="1"> - <name>enabled</name> - <bool>false</bool> + <name>name</name> + <cstring>TextLabel1_3</cstring> </property> @@ -386,28 +452,7 @@ <name>text</name> - <string>Beep on new network</string> + <string>sound on beacon</string> </property> </widget> - </vbox> + </grid> </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> diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp index 6dd862f..e287b47 100644 --- a/noncore/net/wellenreiter/gui/configwindow.cpp +++ b/noncore/net/wellenreiter/gui/configwindow.cpp @@ -19,7 +19,9 @@ /* QT */ -#include <qmap.h> #include <qcombobox.h> +#include <qfile.h> +#include <qlayout.h> +#include <qmap.h> #include <qpushbutton.h> #include <qspinbox.h> -#include <qlayout.h> +#include <qtextstream.h> @@ -28,2 +30,4 @@ +WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; + WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) @@ -47,2 +51,24 @@ WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char + // try to guess device type + QFile m( "/proc/modules" ); + if ( m.open( IO_ReadOnly ) ) + { + int devicetype(0); + QString line; + QTextStream modules( &m ); + while( !modules.atEnd() && !devicetype ) + { + modules >> line; + if ( line.contains( "cisco" ) ) devicetype = 1; + else if ( line.contains( "wlan" ) ) devicetype = 2; + else if ( line.contains( "hostap" ) ) devicetype = 3; + else if ( line.contains( "orinoco" ) ) devicetype = 4; + } + if ( devicetype ) + { + deviceType->setCurrentItem( devicetype ); + qDebug( "Wellenreiter: guessed device type to be %d", devicetype ); + } + } + #ifdef Q_WS_X11 // We're on X11: adding an Ok-Button for the Dialog here @@ -53,2 +79,4 @@ WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char #endif + + WellenreiterConfigWindow::_instance = this; }; diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h index c627901..5fd0327 100644 --- a/noncore/net/wellenreiter/gui/configwindow.h +++ b/noncore/net/wellenreiter/gui/configwindow.h @@ -20,2 +20,6 @@ #include <qmap.h> +#include <qcombobox.h> +#include <qstring.h> + +class WellenreiterConfigWindow; @@ -28,2 +32,5 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase int daemonHopInterval(); + const QString soundOnNetwork() const { return netSound->currentText(); }; + const QString soundOnBeacon() const { return beaconSound->currentText(); }; + static WellenreiterConfigWindow* instance() { return _instance; }; @@ -31,2 +38,3 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase QMap<QString, int> _devicetype; + static WellenreiterConfigWindow* _instance; diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp index be1245e..a006a3c 100644 --- a/noncore/net/wellenreiter/gui/scanlist.cpp +++ b/noncore/net/wellenreiter/gui/scanlist.cpp @@ -16,2 +16,3 @@ #include "scanlist.h" +#include "configwindow.h" @@ -22,2 +23,7 @@ +#ifdef QWS +#include <opie/odevice.h> +using namespace Opie; +#endif + MScanListView::MScanListView( QWidget* parent, const char* name ) @@ -144,3 +150,2 @@ void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bo s.sprintf( "(i) new network: '%s'", (const char*) essid ); - network = new MScanListItem( this, "networks", essid, QString::null, 0, 0, 0 ); @@ -194,2 +199,4 @@ MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QS qDebug( "creating scanlist item" ); + if ( WellenreiterConfigWindow::instance() && type == "networks" ) + playSound( WellenreiterConfigWindow::instance()->soundOnNetwork() ); decorateItem( type, essid, macaddr, wep, channel, signal ); @@ -273,2 +280,3 @@ void MScanListItem::decorateItem( QString type, QString essid, QString macaddr, + void MScanListItem::setManufacturer( const QString& manufacturer ) @@ -278,2 +286,14 @@ void MScanListItem::setManufacturer( const QString& manufacturer ) + +void MScanListItem::playSound( const QString& sound ) const +{ + #ifdef QWS + if ( sound == "Ignore" ) return; + else if ( sound == "Touch" ) ODevice::inst()->touchSound(); + else if ( sound == "Key" ) ODevice::inst()->keySound(); + else if ( sound == "Alarm" ) ODevice::inst()->alarmSound(); + #endif +} + + void MScanListItem::receivedBeacon() @@ -286,2 +306,4 @@ void MScanListItem::receivedBeacon() setText( col_lastseen, QTime::currentTime().toString() ); + if ( WellenreiterConfigWindow::instance() ) + playSound( WellenreiterConfigWindow::instance()->soundOnBeacon() ); } diff --git a/noncore/net/wellenreiter/gui/scanlist.h b/noncore/net/wellenreiter/gui/scanlist.h index da9369f..01db172 100644 --- a/noncore/net/wellenreiter/gui/scanlist.h +++ b/noncore/net/wellenreiter/gui/scanlist.h @@ -93,2 +93,5 @@ class MScanListItem: public OListViewItem + protected: + void playSound( const QString& ) const; + private: diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp index 41ffdcc..d1dd73a 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp @@ -112,5 +112,2 @@ void Wellenreiter::receivePacket(OPacket* p) { - logwindow->log( "(d) Received data from daemon" ); - //TODO - // check if we received a beacon frame @@ -165,15 +162,6 @@ void Wellenreiter::startStopClicked() - //TODO: Display "please wait..." (use owait?) - - /* - - QString cmdline; - cmdline.sprintf( "ifdown %s; sleep 1; ifup %s", (const char*) interface, (const char*) interface, (const char*) interface ); - system( cmdline ); //FIXME: Use OProcess - - */ + system( "cardctl reset; sleep 1; dhclient; udhcpc" ); //FIXME: Use OProcess // message the user - - //QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." ); + QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." ); } |