summaryrefslogtreecommitdiff
authorbenmeyer <benmeyer>2002-11-22 20:51:13 (UTC)
committer benmeyer <benmeyer>2002-11-22 20:51:13 (UTC)
commit6632eb593cc9ac17a4b01efb7a5145c4e7efaaa4 (patch) (side-by-side diff)
tree7e82db5619848bdb53382931fbb5b9a05030f3c0
parent0dc2fdfc84bfd9d1d0021968ffc7406bdad54a40 (diff)
downloadopie-6632eb593cc9ac17a4b01efb7a5145c4e7efaaa4.zip
opie-6632eb593cc9ac17a4b01efb7a5145c4e7efaaa4.tar.gz
opie-6632eb593cc9ac17a4b01efb7a5145c4e7efaaa4.tar.bz2
In theory open and restricted networks should be set now.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/wlan/wlanimp.cpp9
-rw-r--r--noncore/settings/networksettings/wlan/wlanimp.cpp9
2 files changed, 12 insertions, 6 deletions
diff --git a/noncore/net/networksetup/wlan/wlanimp.cpp b/noncore/net/networksetup/wlan/wlanimp.cpp
index 488911b..44c721a 100644
--- a/noncore/net/networksetup/wlan/wlanimp.cpp
+++ b/noncore/net/networksetup/wlan/wlanimp.cpp
@@ -71,156 +71,159 @@ void WLANImp::parseSettingFile(){
if(line.contains("ESSID=")){
QString id = line.mid(line.find("ESSID=")+6, line.length());
if(id == "any"){
essNon->setChecked(true);
essSpecific->setChecked(false);
}else{
essSpecific->setChecked(true);
essSpecificLineEdit->setText(id);
essNon->setChecked(false);
}
}
if(line.contains("MODE=")){
QString mode = line.mid(line.find("MODE=")+5, line.length());
if(mode == "Managed"){
network802->setChecked( false );
networkInfrastructure->setChecked( true );
}
else{
network802->setChecked( true );
networkInfrastructure->setChecked( false );
}
}
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());
}
if(key == keyLineEdit0->text()) keyRadio0->setChecked(true);
if(key == keyLineEdit1->text()) keyRadio1->setChecked(true);
if(key == keyLineEdit2->text()) keyRadio2->setChecked(true);
if(key == keyLineEdit3->text()) keyRadio3->setChecked(true);
}
if(line.contains("CHANNEL=")){
networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt());
}
}
}
}
/**
* Saves settings to the wireless.opts file using the current profile
*/
void WLANImp::changeAndSaveSettingFile(){
QString wlanFile = WIRELESS_OPTS;
QFile::remove(wlanFile);
QFile file(wlanFile);
if (!file.open(IO_ReadWrite)){
qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1());
return;
}
QTextStream stream( &file );
bool foundCase = false;
bool found = false;
bool output = true;
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") && !found) ||
(foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')){
// write out scheme
found = true;
output = false;
if(!line.contains("esac"))
stream << line << "\n";
stream << "\tESSID=" << (essNon->isChecked() == true ? QString("any") : essSpecificLineEdit->text()) << '\n';
stream << "\tMODE=" << (networkInfrastructure->isChecked() == true ? "Managed" : "ad-hoc") << '\n';
stream << "\tKEY0=" << keyLineEdit0->text() << "\n";
stream << "\tKEY1=" << keyLineEdit1->text() << "\n";
stream << "\tKEY2=" << keyLineEdit2->text() << "\n";
stream << "\tKEY3=" << keyLineEdit3->text() << "\n";
if(wepEnabled->isChecked()){
- stream << "\tKEY=";
+ stream << "\tKEY=\"";
if(keyRadio0->isChecked()) stream << keyLineEdit0->text();
if(keyRadio1->isChecked()) stream << keyLineEdit1->text();
if(keyRadio2->isChecked()) stream << keyLineEdit2->text();
if(keyRadio3->isChecked()) stream << keyLineEdit3->text();
- if(authOpen->isChecked()) stream << " open";
- stream << "\n";
+ if(authOpen->isChecked())
+ stream << " open";
+ else
+ stream << " restricted";
+ stream << "\n\"";
}
stream << "\tCHANNEL=" << networkChannel->value() << "\n";
stream << "\tRATE=auto\n";
if(line.contains("esac"))
stream << line << "\n";
}
if(line.contains(";;"))
output = true;
if(output)
stream << (*it) << '\n';
}
file.close();
}
/**
* 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, "", "Please enter a key for WEP.", QMessageBox::Ok);
return;
}
}
// Ok settings are good here, save
changeAndSaveSettingFile();
// Try to save the interfaces settings.
if(!interfaceSetup->saveChanges())
return;
QDialog::accept();
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
diff --git a/noncore/settings/networksettings/wlan/wlanimp.cpp b/noncore/settings/networksettings/wlan/wlanimp.cpp
index 488911b..44c721a 100644
--- a/noncore/settings/networksettings/wlan/wlanimp.cpp
+++ b/noncore/settings/networksettings/wlan/wlanimp.cpp
@@ -71,156 +71,159 @@ void WLANImp::parseSettingFile(){
if(line.contains("ESSID=")){
QString id = line.mid(line.find("ESSID=")+6, line.length());
if(id == "any"){
essNon->setChecked(true);
essSpecific->setChecked(false);
}else{
essSpecific->setChecked(true);
essSpecificLineEdit->setText(id);
essNon->setChecked(false);
}
}
if(line.contains("MODE=")){
QString mode = line.mid(line.find("MODE=")+5, line.length());
if(mode == "Managed"){
network802->setChecked( false );
networkInfrastructure->setChecked( true );
}
else{
network802->setChecked( true );
networkInfrastructure->setChecked( false );
}
}
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());
}
if(key == keyLineEdit0->text()) keyRadio0->setChecked(true);
if(key == keyLineEdit1->text()) keyRadio1->setChecked(true);
if(key == keyLineEdit2->text()) keyRadio2->setChecked(true);
if(key == keyLineEdit3->text()) keyRadio3->setChecked(true);
}
if(line.contains("CHANNEL=")){
networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt());
}
}
}
}
/**
* Saves settings to the wireless.opts file using the current profile
*/
void WLANImp::changeAndSaveSettingFile(){
QString wlanFile = WIRELESS_OPTS;
QFile::remove(wlanFile);
QFile file(wlanFile);
if (!file.open(IO_ReadWrite)){
qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1());
return;
}
QTextStream stream( &file );
bool foundCase = false;
bool found = false;
bool output = true;
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") && !found) ||
(foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')){
// write out scheme
found = true;
output = false;
if(!line.contains("esac"))
stream << line << "\n";
stream << "\tESSID=" << (essNon->isChecked() == true ? QString("any") : essSpecificLineEdit->text()) << '\n';
stream << "\tMODE=" << (networkInfrastructure->isChecked() == true ? "Managed" : "ad-hoc") << '\n';
stream << "\tKEY0=" << keyLineEdit0->text() << "\n";
stream << "\tKEY1=" << keyLineEdit1->text() << "\n";
stream << "\tKEY2=" << keyLineEdit2->text() << "\n";
stream << "\tKEY3=" << keyLineEdit3->text() << "\n";
if(wepEnabled->isChecked()){
- stream << "\tKEY=";
+ stream << "\tKEY=\"";
if(keyRadio0->isChecked()) stream << keyLineEdit0->text();
if(keyRadio1->isChecked()) stream << keyLineEdit1->text();
if(keyRadio2->isChecked()) stream << keyLineEdit2->text();
if(keyRadio3->isChecked()) stream << keyLineEdit3->text();
- if(authOpen->isChecked()) stream << " open";
- stream << "\n";
+ if(authOpen->isChecked())
+ stream << " open";
+ else
+ stream << " restricted";
+ stream << "\n\"";
}
stream << "\tCHANNEL=" << networkChannel->value() << "\n";
stream << "\tRATE=auto\n";
if(line.contains("esac"))
stream << line << "\n";
}
if(line.contains(";;"))
output = true;
if(output)
stream << (*it) << '\n';
}
file.close();
}
/**
* 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, "", "Please enter a key for WEP.", QMessageBox::Ok);
return;
}
}
// Ok settings are good here, save
changeAndSaveSettingFile();
// Try to save the interfaces settings.
if(!interfaceSetup->saveChanges())
return;
QDialog::accept();
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