Diffstat (limited to 'noncore/settings/networksettings/wlan/wlanmodule.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.cpp | 50 |
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 @@ -5,12 +5,15 @@ #include "interfaceinformationimp.h" #include <qlabel.h> #include <qprogressbar.h> #include <qtabwidget.h> + + + /** * Constructor, find all of the possible interfaces */ WLANModule::WLANModule() : Module() { } @@ -18,12 +21,13 @@ WLANModule::WLANModule() : Module() { * Delete any interfaces that we own. */ WLANModule::~WLANModule(){ Interface *i; for ( i=list.first(); i != 0; i=list.next() ) delete i; + } /** * Change the current profile */ void WLANModule::setProfile(const QString &newProfile){ @@ -70,16 +74,13 @@ QWidget *WLANModule::configure(Interface *i){ */ 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 * @return QList<Interface> A list of interfaces that exsist that havn't * been called by isOwner() @@ -125,29 +126,62 @@ void WLANModule::receive(const QCString ¶m, const QByteArray &arg) QString interface; QString action; 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; // stream >> arg1 >> arg2 >> arg3 ; // 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; +} |