summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/wlan/wlanmodule.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings/wlan/wlanmodule.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp50
1 files changed, 42 insertions, 8 deletions
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp
index 3c988d5..e6f082c 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.cpp
+++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp
@@ -7,8 +7,11 @@
#include <qlabel.h>
#include <qprogressbar.h>
#include <qtabwidget.h>
+
+
+
/**
* Constructor, find all of the possible interfaces
*/
WLANModule::WLANModule() : Module() {
@@ -20,8 +23,9 @@ WLANModule::WLANModule() : Module() {
WLANModule::~WLANModule(){
Interface *i;
for ( i=list.first(); i != 0; i=list.next() )
delete i;
+
}
/**
* Change the current profile
@@ -72,12 +76,9 @@ QWidget *WLANModule::information(Interface *i){
WExtensions we(i->getInterfaceName());
if(!we.doesHaveWirelessExtensions())
return NULL;
- WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
- InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
- info->tabWidget->insertTab(information, "TCP/IP");
- return info;
+ return getInfo( i );
}
/**
* Get all active (up or down) interfaces
@@ -127,22 +128,45 @@ void WLANModule::receive(const QCString &param, const QByteArray &arg)
stream >> interface;
stream >> action;
qDebug("got interface %s and acion %s", interface.latin1(), action.latin1());
+ // find interfaces
+ Interface *ifa=0;
+ for ( Interface *i=list.first(); i != 0; i=list.next() ){
+ if (i->getInterfaceName() == interface){
+ qDebug("found interface %s",interface.latin1());
+ ifa = i;
+ }
+ }
+
+ if (ifa == 0){
+ qFatal("Did not find %s",interface.latin1());
+ }
if (count == 2){
- // those should call the interface
+ // those should call the interface directly
+ QWidget *info = getInfo( ifa );
+ info->showMaximized();
+
if ( action.contains("start" ) ){
- qDebug("starting %s not yet implemented",interface.latin1());
+ ifa->start();
} else if ( action.contains("restart" ) ){
- qDebug("restarting %s not yet implemented",interface.latin1());
+ ifa->restart();
} else if ( action.contains("stop" ) ){
- qDebug("stopping %s not yet implemented",interface.latin1());
+ ifa->stop();
+ }else if ( action.contains("refresh" ) ){
+ ifa->refresh();
}
}else if (count == 3){
QString value;
stream >> value;
qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() );
+ if ( action.contains("ESSID") ){
+ qDebug("Setting ESSID not yet impl");
+ }else if (action.contains("Channel")){
+ qDebug("Setting Channel not yet impl");
+ }else
+ qDebug("wlan plugin has no clue");
}
// if (param.contains("QString,QString,QString")) {
// QDataStream stream(arg,IO_ReadOnly);
// QString arg1, arg2, arg3;
@@ -150,4 +174,14 @@ void WLANModule::receive(const QCString &param, const QByteArray &arg)
// qDebug("interface >%s< setting >%s< value >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1());
// }
}
+QWidget *WLANModule::getInfo( Interface *i)
+{
+ qDebug("WLANModule::getInfo start");
+ WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose);
+ InterfaceInformationImp *information = new InterfaceInformationImp(info->tabWidget, "InterfaceSetupImp", i);
+ info->tabWidget->insertTab(information, "TCP/IP", 0);
+
+ qDebug("WLANModule::getInfo return");
+ return info;
+}