author | benmeyer <benmeyer> | 2002-12-11 22:21:08 (UTC) |
---|---|---|
committer | benmeyer <benmeyer> | 2002-12-11 22:21:08 (UTC) |
commit | ee3251a889aed8ef0346743589e5166b7d4f673b (patch) (side-by-side diff) | |
tree | b6ba3331360bbd8c4d18d8291995d8bc2bf6a748 /noncore/net/networksetup/wlan/wlanimp.cpp | |
parent | 2217f9ba852aa2ffd36e5398988d9b1c65b18705 (diff) | |
download | opie-ee3251a889aed8ef0346743589e5166b7d4f673b.zip opie-ee3251a889aed8ef0346743589e5166b7d4f673b.tar.gz opie-ee3251a889aed8ef0346743589e5166b7d4f673b.tar.bz2 |
Fixed ad-hco bug
Diffstat (limited to 'noncore/net/networksetup/wlan/wlanimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/networksetup/wlan/wlanimp.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/noncore/net/networksetup/wlan/wlanimp.cpp b/noncore/net/networksetup/wlan/wlanimp.cpp index 120d4e5..84e0bae 100644 --- a/noncore/net/networksetup/wlan/wlanimp.cpp +++ b/noncore/net/networksetup/wlan/wlanimp.cpp @@ -21,99 +21,102 @@ /** * 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("*") { interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i); tabWidget->insertTab(interfaceSetup, "TCP/IP"); // Read in the config file. QString wlanFile = WIRELESS_OPTS; QFile file(wlanFile); if (file.open(IO_ReadOnly)){ QTextStream stream( &file ); QString line = ""; while ( !stream.eof() ) { line += stream.readLine(); line += "\n"; } file.close(); settingsFileText = QStringList::split("\n", line, true); parseSettingFile(); } else qDebug(QString("WLANImp: Can't open file: %1 for reading.").arg(wlanFile).latin1()); connect(networkType, SIGNAL(activated(int)), this, SLOT(typeChanged(int))); - } void WLANImp::typeChanged(int mod){ networkChannel->setEnabled(mod); channelLabel->setEnabled(mod); } /** * Change the profile for both wireless settings and network settings. */ void WLANImp::setProfile(const QString &profile){ interfaceSetup->setProfile(profile); parseSettingFile(); } /** * Parses the settings file that was read in and gets any setting from it. */ void WLANImp::parseSettingFile(){ bool foundCase = false; bool found = false; for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) { QString line = (*it).simplifyWhiteSpace(); if(line.contains("case")) foundCase = true; // See if we found our scheme to write or the sceme couldn't be found if((foundCase && line.contains("esac")) || (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')) found = true; if(line.contains(";;")) found = false; if(found){ // write out scheme if(line.contains("ESSID=")){ QString id = line.mid(line.find("ESSID=")+6, line.length()); if(id == "any"){ essAny->setChecked(false); }else{ essAny->setChecked(true); essSpecificLineEdit->setText(id); } } if(line.contains("MODE=")){ QString mode = line.mid(line.find("MODE=")+5, line.length()); if(mode == "Managed"){ networkType->setCurrentItem(0); + channelLabel->setEnabled(false); + networkChannel->setEnabled(false); } else{ - networkType->setCurrentItem(0); + networkType->setCurrentItem(1); + networkChannel->setEnabled(true); + channelLabel->setEnabled(true); } } if(line.contains("KEY0=")) keyLineEdit0->setText(line.mid(5, line.length())); if(line.contains("KEY1=")) keyLineEdit1->setText(line.mid(5, line.length())); if(line.contains("KEY2=")) keyLineEdit2->setText(line.mid(5, line.length())); if(line.contains("KEY3=")) keyLineEdit3->setText(line.mid(5, line.length())); if(line.contains("KEY=")){ wepEnabled->setChecked(true); QString key; if(line.right(5) == (" open")){ key = line.mid(4, line.length()-5); authOpen->setChecked(true); authShared->setChecked(false); } else{ authOpen->setChecked(false); authShared->setChecked(true); key = line.mid(4, line.length()); } @@ -202,42 +205,42 @@ void WLANImp::changeAndSaveSettingFile(){ /** * Check to see if the current config is valid * Save wireless.opts, save interfaces */ void WLANImp::accept(){ if(wepEnabled->isChecked()){ if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() ) { QMessageBox::information(this, "Error", "Please enter a key for WEP.", QMessageBox::Ok); return; } } if(essSpecificLineEdit->text().isEmpty()){ QMessageBox::information(this, "Error", "Please enter a ESS-ID.", QMessageBox::Ok); return; } // Ok settings are good here, save changeAndSaveSettingFile(); // Try to save the interfaces settings. if(!interfaceSetup->saveChanges()) return; - + // Restart the device now that the settings have changed QString initpath; if( QDir("/etc/rc.d/init.d").exists() ) initpath = "/etc/rc.d/init.d"; else if( QDir("/etc/init.d").exists() ) initpath = "/etc/init.d"; if( initpath ) system(QString("%1/pcmcia stop").arg(initpath)); if( initpath ) system(QString("%1/pcmcia start").arg(initpath)); // Close out the dialog QDialog::accept(); } // wlanimp.cpp |