Diffstat (limited to 'noncore/settings/networksettings/wlan') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanmodule.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp index 371b689..7bded85 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.cpp +++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp @@ -67,13 +67,13 @@ bool WLANModule::isOwner(Interface *i){ /** * Create, and return the WLANConfigure Module * @return QWidget* pointer to this modules configure. */ QWidget *WLANModule::configure(Interface *i){ - WLANImp *wlanconfig = new WLANImp(0, "WlanConfig", i, false, Qt::WDestructiveClose); + WLANImp *wlanconfig = new WLANImp(0, "WlanConfig", i, true, Qt::WDestructiveClose); wlanconfig->setProfile(profile); return wlanconfig; } /** * Create, and return the Information Module @@ -129,12 +129,13 @@ void WLANModule::receive(const QCString ¶m, const QByteArray &arg) return; } QDataStream stream(arg,IO_ReadOnly); QString interface; QString action; + QDialog *toShow; while (! stream.atEnd() ){ stream >> interface; stream >> action; qDebug("WLANModule got interface %s and acion %s", interface.latin1(), action.latin1()); // find interfaces Interface *ifa=0; @@ -144,14 +145,14 @@ void WLANModule::receive(const QCString ¶m, const QByteArray &arg) ifa = i; } } if (ifa == 0){ qDebug("WLANModule Did not find %s",interface.latin1()); - qDebug("returning"); - return; + qDebug("skipping"); + count = 0; } if (count == 2){ // those should call the interface directly QWidget *info = getInfo( ifa ); info->showMaximized(); @@ -167,12 +168,13 @@ void WLANModule::receive(const QCString ¶m, const QByteArray &arg) } }else if (count == 3){ QString value; if (!wlanconfigWiget){ //FIXME: what if it got closed meanwhile? wlanconfigWiget = (WLANImp*) configure(ifa); + toShow = (QDialog*) wlanconfigWiget; } wlanconfigWiget->showMaximized(); stream >> value; qDebug("WLANModule is setting %s of %s to %s", action.latin1(), interface.latin1(), value.latin1() ); if ( action.contains("ESSID") ){ QComboBox *combo = wlanconfigWiget->essid; @@ -188,21 +190,26 @@ void WLANModule::receive(const QCString ¶m, const QByteArray &arg) for ( int i = 0; i < combo->count(); i++) if ( combo->text( i ) == value ){ combo->setCurrentItem( i ); } }else if (action.contains("Channel")){ - wlanconfigWiget->specifyChan->setChecked( true ); - wlanconfigWiget->networkChannel->setValue( value.toInt() ); + bool ok; + int chan = value.toInt( &ok ); + if (ok){ + wlanconfigWiget->specifyChan->setChecked( true ); + wlanconfigWiget->networkChannel->setValue( chan ); + } }else if (action.contains("MacAddr")){ wlanconfigWiget->specifyAp->setChecked( true ); wlanconfigWiget->macEdit->setText( value ); }else qDebug("wlan plugin has no clue"); } }// while stream + if (toShow) toShow->exec(); } QWidget *WLANModule::getInfo( Interface *i) { qDebug("WLANModule::getInfo start"); WlanInfoImp *info = new WlanInfoImp(0, i->getInterfaceName(), Qt::WDestructiveClose); |