4 files changed, 42 insertions, 20 deletions
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp index 0ef1e68..5029525 100644 --- a/noncore/settings/networksettings/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindowimp.cpp @@ -649,18 +649,19 @@ void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) // QDataStream stream(arg,IO_ReadOnly); // QString arg1, arg2, arg3; // stream >> arg1 >> arg2 >> arg3 ; // qDebug("args: >%s< >%s< >%s<",arg1.latin1(),arg2.latin1(),arg3.latin1()); // } QMap<Module*, QLibrary*>::Iterator it; for( it = libraries.begin(); it != libraries.end(); ++it ){ qDebug("plugin >%s<", it.key()->type().latin1() ); if(it.key()->type() == dest){ it.key()->receive( param, arg ); found = true; } } - if (!found) qDebug("Huh what do ya want"); + if (found) QPEApplication::setKeepRunning(); + else qDebug("Huh what do ya want"); } diff --git a/noncore/settings/networksettings/wlan/wlanimp2.cpp b/noncore/settings/networksettings/wlan/wlanimp2.cpp index b988822..cdafb4d 100644 --- a/noncore/settings/networksettings/wlan/wlanimp2.cpp +++ b/noncore/settings/networksettings/wlan/wlanimp2.cpp @@ -15,33 +15,33 @@ #include <qcombobox.h> #ifdef QWS #include <opie/oprocess.h> #else #define OProcess KProcess #include <kprocess.h> #endif #define WIRELESS_OPTS "/etc/pcmcia/wireless.opts" #define PREUP "/etc/netwrok/if-pre-up.d/wireless-tools" /** * Constructor, read in the wireless.opts file for parsing later. */ WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), currentProfile("*"), interface(i) { - interfaces = new Interfaces; + interfaces = new Interfaces(); interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces); tabWidget->insertTab(interfaceSetup, "TCP/IP"); // Check sanity - the existance of the wireless-tools if-pre-up script QFile file(QString(PREUP)); if (file.exists()) { qWarning(QString("WLANImp: Unable to open /etc/network/if-pre-up.d/wireless-tools")); } } WLANImp::~WLANImp() { //FIXME: delete interfaces; } /** * Change the profile for both wireless settings and network settings. diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp index e6f082c..bc467bb 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.cpp +++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp @@ -1,33 +1,39 @@ #include "wlanmodule.h" #include "wlanimp.h" #include "infoimp.h" #include "wextensions.h" #include "interfaceinformationimp.h" +#include <qcheckbox.h> +#include <qcombobox.h> #include <qlabel.h> #include <qprogressbar.h> +#include <qspinbox.h> #include <qtabwidget.h> /** * Constructor, find all of the possible interfaces */ -WLANModule::WLANModule() : Module() { +WLANModule::WLANModule() + : Module(), + wlanconfigWiget(0) +{ } /** * 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){ @@ -102,86 +108,102 @@ Interface *WLANModule::addNewInterface(const QString &){ } /** * Attempts to remove the interface, doesn't delete i * @return bool true if successfull, false otherwise. */ bool WLANModule::remove(Interface*){ // Can't remove a hardware device, you can stop it though. return false; } void WLANModule::receive(const QCString ¶m, const QByteArray &arg) { qDebug("WLANModule::receive "+param); QStringList params = QStringList::split(",",param); int count = params.count(); - qDebug("got %i params", count ); + qDebug("WLANModule got %i params", count ); if (count < 2){ qDebug("Erorr less than 2 parameter"); qDebug("RETURNING"); return; } QDataStream stream(arg,IO_ReadOnly); QString interface; QString action; stream >> interface; stream >> action; - qDebug("got interface %s and acion %s", interface.latin1(), action.latin1()); + qDebug("WLANModule 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()); + qDebug("WLANModule found interface %s",interface.latin1()); ifa = i; } } if (ifa == 0){ - qFatal("Did not find %s",interface.latin1()); + qFatal("WLANModule Did not find %s",interface.latin1()); } if (count == 2){ // those should call the interface directly QWidget *info = getInfo( ifa ); info->showMaximized(); if ( action.contains("start" ) ){ ifa->start(); } else if ( action.contains("restart" ) ){ ifa->restart(); } else if ( action.contains("stop" ) ){ ifa->stop(); }else if ( action.contains("refresh" ) ){ ifa->refresh(); } }else if (count == 3){ QString value; + if (!wlanconfigWiget){ + //FIXME: what if it got closed meanwhile? + wlanconfigWiget = (WLANImp*) configure(ifa); + } + wlanconfigWiget->showMaximized(); stream >> value; - qDebug("setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() ); + qDebug("WLANModule is setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() ); if ( action.contains("ESSID") ){ - qDebug("Setting ESSID not yet impl"); + QComboBox *combo = wlanconfigWiget->essid; + bool found = false; + for ( int i = 0; i < combo->count(); i++) + if ( combo->text( i ) == value ){ + combo->setCurrentItem( i ); + found = true; + } + if (!found) combo->insertItem( value, 0 ); + }else if ( action.contains("Mode") ){ + QComboBox *combo = wlanconfigWiget->mode; + for ( int i = 0; i < combo->count(); i++) + if ( combo->text( i ) == value ){ + combo->setCurrentItem( i ); + } + }else if (action.contains("Channel")){ - qDebug("Setting Channel not yet impl"); + wlanconfigWiget->specifyChan->setChecked( true ); + wlanconfigWiget->networkChannel->setValue( value.toInt() ); }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; } + diff --git a/noncore/settings/networksettings/wlan/wlanmodule.h b/noncore/settings/networksettings/wlan/wlanmodule.h index 0963137..027ecec 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.h +++ b/noncore/settings/networksettings/wlan/wlanmodule.h @@ -1,49 +1,48 @@ #ifndef WLAN_MODULE_H #define WLAN_MODULE_H #include "module.h" -//class WlanInfoImp; +class WLANImp; class WLANModule : Module{ signals: void updateInterface(Interface *i); public: WLANModule(); ~WLANModule(); virtual const QString type() {return "wlan";}; void setProfile(const QString &newProfile); bool isOwner(Interface *); QWidget *configure(Interface *i); QWidget *information(Interface *i); QList<Interface> getInterfaces(); void possibleNewInterfaces(QMap<QString, QString> &){}; Interface *addNewInterface(const QString &name); bool remove(Interface* i); QString getPixmapName(Interface* i); virtual void receive(const QCString&, const QByteArray&); private: QWidget *getInfo(Interface*); - + WLANImp *wlanconfigWiget; QList<Interface> list; QString profile; - // WlanInfoImp *info; - // Interface *iface; + }; extern "C" { void* create_plugin() { return new WLANModule(); } }; #endif // wlanmodule.h |