summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/wlan
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings/wlan') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp17
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 &param, 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 &param, 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 &param, 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 &param, 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);