author | tille <tille> | 2003-06-13 13:32:55 (UTC) |
---|---|---|
committer | tille <tille> | 2003-06-13 13:32:55 (UTC) |
commit | e5d826221bab71c39dc8fc89d91509dd16bc2a8a (patch) (side-by-side diff) | |
tree | 4a0ff06e1e6b43d52fe78a9ab14a7a8f98f41327 /noncore | |
parent | c48af71638614aaff280178693448916e0e98102 (diff) | |
download | opie-e5d826221bab71c39dc8fc89d91509dd16bc2a8a.zip opie-e5d826221bab71c39dc8fc89d91509dd16bc2a8a.tar.gz opie-e5d826221bab71c39dc8fc89d91509dd16bc2a8a.tar.bz2 |
qcop channels for start, stop wlan interface works now...
... the qcop handling has to become more general, and this handlet in the interface itself.
-rw-r--r-- | noncore/settings/networksettings/TODO | 6 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanimp2.cpp | 22 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.cpp | 50 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.h | 7 |
4 files changed, 65 insertions, 20 deletions
diff --git a/noncore/settings/networksettings/TODO b/noncore/settings/networksettings/TODO index 614501f..b28c5a0 100644 --- a/noncore/settings/networksettings/TODO +++ b/noncore/settings/networksettings/TODO @@ -1,3 +1,9 @@ +* make dcop handling portable +* move dcop call for start, stop interfaces from wlan to interface + + +Old TODO of Benmayer: + Types: -Ethernet Connection (Done) -ISDN Connection diff --git a/noncore/settings/networksettings/wlan/wlanimp2.cpp b/noncore/settings/networksettings/wlan/wlanimp2.cpp index e7b842b..b988822 100644 --- a/noncore/settings/networksettings/wlan/wlanimp2.cpp +++ b/noncore/settings/networksettings/wlan/wlanimp2.cpp @@ -14,7 +14,7 @@ #include <qtabwidget.h> #include <qcombobox.h> -#ifdef QWS +#ifdef QWS #include <opie/oprocess.h> #else #define OProcess KProcess @@ -26,7 +26,7 @@ /** * 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; interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces); @@ -40,12 +40,12 @@ WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, W } WLANImp::~WLANImp() { - delete interfaces; +//FIXME: delete interfaces; } /** * Change the profile for both wireless settings and network settings. - */ + */ void WLANImp::setProfile(const QString &profile){ interfaceSetup->setProfile(profile); parseOpts(); @@ -58,7 +58,7 @@ void WLANImp::parseOpts() { if (! interfaces->isInterfaceSet()) return; - + opt = interfaces->getInterfaceOption("wireless_essid", error); if(opt == "any" || opt == "off" || opt.isNull()){ essid->setEditText("any"); @@ -75,7 +75,7 @@ void WLANImp::parseOpts() { // Managed/Infrastructure mode mode->setCurrentItem(1); } - + opt = interfaces->getInterfaceOption("wireless_ap", error).simplifyWhiteSpace(); if (! opt.isNull()) { specifyAp->setChecked(true); @@ -132,7 +132,7 @@ void WLANImp::parseKeyStr(QString keystr) { case 4: keyRadio3->setChecked(true); break; - } + } } else { // key key = (*it); @@ -140,7 +140,7 @@ void WLANImp::parseKeyStr(QString keystr) { if (! key.isNull()) { if (enc == -1) enc = 1; - QStringList::Iterator next = ++it; + QStringList::Iterator next = ++it; if (it == keys.end()) { break; } @@ -187,8 +187,8 @@ void WLANImp::accept() { QMessageBox::information(this, "Error", "Please enter a WEP key.", QMessageBox::Ok); return; } - } - + } + if (essid->currentText().isEmpty()) { QMessageBox::information(this, "Error", "Please select/enter an ESSID.", QMessageBox::Ok); return; @@ -198,7 +198,7 @@ void WLANImp::accept() { QMessageBox::information(this, "Error", "Please enter the MAC address of the Access Point.", QMessageBox::Ok); return; } - + // Try to save the interfaces settings. writeOpts(); 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 @@ -8,6 +8,9 @@ #include <qprogressbar.h> #include <qtabwidget.h> + + + /** * Constructor, find all of the possible interfaces */ @@ -21,6 +24,7 @@ WLANModule::~WLANModule(){ Interface *i; for ( i=list.first(); i != 0; i=list.next() ) delete i; + } /** @@ -73,10 +77,7 @@ QWidget *WLANModule::information(Interface *i){ 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 ); } /** @@ -128,20 +129,43 @@ void WLANModule::receive(const QCString ¶m, 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); @@ -151,3 +175,13 @@ void WLANModule::receive(const QCString ¶m, const QByteArray &arg) // } } +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 a617a90..0963137 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.h +++ b/noncore/settings/networksettings/wlan/wlanmodule.h @@ -3,6 +3,8 @@ #include "module.h" +//class WlanInfoImp; + class WLANModule : Module{ signals: @@ -26,9 +28,12 @@ public: virtual void receive(const QCString&, const QByteArray&); private: + QWidget *getInfo(Interface*); + QList<Interface> list; QString profile; - + // WlanInfoImp *info; + // Interface *iface; }; extern "C" |