summaryrefslogtreecommitdiff
authorbenmeyer <benmeyer>2002-12-11 22:21:08 (UTC)
committer benmeyer <benmeyer>2002-12-11 22:21:08 (UTC)
commitee3251a889aed8ef0346743589e5166b7d4f673b (patch) (unidiff)
treeb6ba3331360bbd8c4d18d8291995d8bc2bf6a748
parent2217f9ba852aa2ffd36e5398988d9b1c65b18705 (diff)
downloadopie-ee3251a889aed8ef0346743589e5166b7d4f673b.zip
opie-ee3251a889aed8ef0346743589e5166b7d4f673b.tar.gz
opie-ee3251a889aed8ef0346743589e5166b7d4f673b.tar.bz2
Fixed ad-hco bug
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 120d4e5..84e0bae 100644
--- a/noncore/net/networksetup/wlan/wlanimp.cpp
+++ b/noncore/net/networksetup/wlan/wlanimp.cpp
@@ -1,143 +1,146 @@
1#include "wlanimp.h" 1#include "wlanimp.h"
2#include "interfacesetupimp.h" 2#include "interfacesetupimp.h"
3 3
4#include <qfile.h> 4#include <qfile.h>
5#include <qdir.h> 5#include <qdir.h>
6#include <qtextstream.h> 6#include <qtextstream.h>
7#include <qmessagebox.h> 7#include <qmessagebox.h>
8#include <qlineedit.h> 8#include <qlineedit.h>
9#include <qlabel.h> 9#include <qlabel.h>
10#include <qspinbox.h> 10#include <qspinbox.h>
11#include <qradiobutton.h> 11#include <qradiobutton.h>
12#include <qcheckbox.h> 12#include <qcheckbox.h>
13#include <qtabwidget.h> 13#include <qtabwidget.h>
14#include <qcombobox.h> 14#include <qcombobox.h>
15 15
16/* system() */ 16/* system() */
17#include <stdlib.h> 17#include <stdlib.h>
18 18
19#define WIRELESS_OPTS "/etc/pcmcia/wireless.opts" 19#define WIRELESS_OPTS "/etc/pcmcia/wireless.opts"
20 20
21/** 21/**
22 * Constructor, read in the wireless.opts file for parsing later. 22 * Constructor, read in the wireless.opts file for parsing later.
23 */ 23 */
24WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl):WLAN(parent, name, modal, fl), currentProfile("*") { 24WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl):WLAN(parent, name, modal, fl), currentProfile("*") {
25 interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i); 25 interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i);
26 tabWidget->insertTab(interfaceSetup, "TCP/IP"); 26 tabWidget->insertTab(interfaceSetup, "TCP/IP");
27 27
28 // Read in the config file. 28 // Read in the config file.
29 QString wlanFile = WIRELESS_OPTS; 29 QString wlanFile = WIRELESS_OPTS;
30 QFile file(wlanFile); 30 QFile file(wlanFile);
31 if (file.open(IO_ReadOnly)){ 31 if (file.open(IO_ReadOnly)){
32 QTextStream stream( &file ); 32 QTextStream stream( &file );
33 QString line = ""; 33 QString line = "";
34 while ( !stream.eof() ) { 34 while ( !stream.eof() ) {
35 line += stream.readLine(); 35 line += stream.readLine();
36 line += "\n"; 36 line += "\n";
37 } 37 }
38 file.close(); 38 file.close();
39 settingsFileText = QStringList::split("\n", line, true); 39 settingsFileText = QStringList::split("\n", line, true);
40 parseSettingFile(); 40 parseSettingFile();
41 } 41 }
42 else 42 else
43 qDebug(QString("WLANImp: Can't open file: %1 for reading.").arg(wlanFile).latin1()); 43 qDebug(QString("WLANImp: Can't open file: %1 for reading.").arg(wlanFile).latin1());
44 connect(networkType, SIGNAL(activated(int)), this, SLOT(typeChanged(int))); 44 connect(networkType, SIGNAL(activated(int)), this, SLOT(typeChanged(int)));
45
46} 45}
47 46
48void WLANImp::typeChanged(int mod){ 47void WLANImp::typeChanged(int mod){
49 networkChannel->setEnabled(mod); 48 networkChannel->setEnabled(mod);
50 channelLabel->setEnabled(mod); 49 channelLabel->setEnabled(mod);
51} 50}
52 51
53/** 52/**
54 * Change the profile for both wireless settings and network settings. 53 * Change the profile for both wireless settings and network settings.
55 */ 54 */
56void WLANImp::setProfile(const QString &profile){ 55void WLANImp::setProfile(const QString &profile){
57 interfaceSetup->setProfile(profile); 56 interfaceSetup->setProfile(profile);
58 parseSettingFile(); 57 parseSettingFile();
59} 58}
60 59
61/** 60/**
62 * Parses the settings file that was read in and gets any setting from it. 61 * Parses the settings file that was read in and gets any setting from it.
63 */ 62 */
64void WLANImp::parseSettingFile(){ 63void WLANImp::parseSettingFile(){
65 bool foundCase = false; 64 bool foundCase = false;
66 bool found = false; 65 bool found = false;
67 for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) { 66 for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) {
68 QString line = (*it).simplifyWhiteSpace(); 67 QString line = (*it).simplifyWhiteSpace();
69 if(line.contains("case")) 68 if(line.contains("case"))
70 foundCase = true; 69 foundCase = true;
71 // See if we found our scheme to write or the sceme couldn't be found 70 // See if we found our scheme to write or the sceme couldn't be found
72 if((foundCase && line.contains("esac")) || 71 if((foundCase && line.contains("esac")) ||
73 (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')) 72 (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#'))
74 found = true; 73 found = true;
75 74
76 if(line.contains(";;")) 75 if(line.contains(";;"))
77 found = false; 76 found = false;
78 if(found){ 77 if(found){
79 // write out scheme 78 // write out scheme
80 if(line.contains("ESSID=")){ 79 if(line.contains("ESSID=")){
81 QString id = line.mid(line.find("ESSID=")+6, line.length()); 80 QString id = line.mid(line.find("ESSID=")+6, line.length());
82 if(id == "any"){ 81 if(id == "any"){
83 essAny->setChecked(false); 82 essAny->setChecked(false);
84 }else{ 83 }else{
85 essAny->setChecked(true); 84 essAny->setChecked(true);
86 essSpecificLineEdit->setText(id); 85 essSpecificLineEdit->setText(id);
87 } 86 }
88 } 87 }
89 if(line.contains("MODE=")){ 88 if(line.contains("MODE=")){
90 QString mode = line.mid(line.find("MODE=")+5, line.length()); 89 QString mode = line.mid(line.find("MODE=")+5, line.length());
91 if(mode == "Managed"){ 90 if(mode == "Managed"){
92 networkType->setCurrentItem(0); 91 networkType->setCurrentItem(0);
92 channelLabel->setEnabled(false);
93 networkChannel->setEnabled(false);
93 } 94 }
94 else{ 95 else{
95 networkType->setCurrentItem(0); 96 networkType->setCurrentItem(1);
97 networkChannel->setEnabled(true);
98 channelLabel->setEnabled(true);
96 } 99 }
97 } 100 }
98 if(line.contains("KEY0=")) 101 if(line.contains("KEY0="))
99 keyLineEdit0->setText(line.mid(5, line.length())); 102 keyLineEdit0->setText(line.mid(5, line.length()));
100 if(line.contains("KEY1=")) 103 if(line.contains("KEY1="))
101 keyLineEdit1->setText(line.mid(5, line.length())); 104 keyLineEdit1->setText(line.mid(5, line.length()));
102 if(line.contains("KEY2=")) 105 if(line.contains("KEY2="))
103 keyLineEdit2->setText(line.mid(5, line.length())); 106 keyLineEdit2->setText(line.mid(5, line.length()));
104 if(line.contains("KEY3=")) 107 if(line.contains("KEY3="))
105 keyLineEdit3->setText(line.mid(5, line.length())); 108 keyLineEdit3->setText(line.mid(5, line.length()));
106 109
107 if(line.contains("KEY=")){ 110 if(line.contains("KEY=")){
108 wepEnabled->setChecked(true); 111 wepEnabled->setChecked(true);
109 QString key; 112 QString key;
110 if(line.right(5) == (" open")){ 113 if(line.right(5) == (" open")){
111 key = line.mid(4, line.length()-5); 114 key = line.mid(4, line.length()-5);
112 authOpen->setChecked(true); 115 authOpen->setChecked(true);
113 authShared->setChecked(false); 116 authShared->setChecked(false);
114 } 117 }
115 else{ 118 else{
116 authOpen->setChecked(false); 119 authOpen->setChecked(false);
117 authShared->setChecked(true); 120 authShared->setChecked(true);
118 key = line.mid(4, line.length()); 121 key = line.mid(4, line.length());
119 } 122 }
120 if(key == keyLineEdit0->text()) keyRadio0->setChecked(true); 123 if(key == keyLineEdit0->text()) keyRadio0->setChecked(true);
121 if(key == keyLineEdit1->text()) keyRadio1->setChecked(true); 124 if(key == keyLineEdit1->text()) keyRadio1->setChecked(true);
122 if(key == keyLineEdit2->text()) keyRadio2->setChecked(true); 125 if(key == keyLineEdit2->text()) keyRadio2->setChecked(true);
123 if(key == keyLineEdit3->text()) keyRadio3->setChecked(true); 126 if(key == keyLineEdit3->text()) keyRadio3->setChecked(true);
124 } 127 }
125 if(line.contains("CHANNEL=")){ 128 if(line.contains("CHANNEL=")){
126 networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt()); 129 networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt());
127 } 130 }
128 } 131 }
129 } 132 }
130} 133}
131 134
132/** 135/**
133 * Saves settings to the wireless.opts file using the current profile 136 * Saves settings to the wireless.opts file using the current profile
134 */ 137 */
135void WLANImp::changeAndSaveSettingFile(){ 138void WLANImp::changeAndSaveSettingFile(){
136 QString wlanFile = WIRELESS_OPTS; 139 QString wlanFile = WIRELESS_OPTS;
137 QFile::remove(wlanFile); 140 QFile::remove(wlanFile);
138 QFile file(wlanFile); 141 QFile file(wlanFile);
139 142
140 if (!file.open(IO_ReadWrite)){ 143 if (!file.open(IO_ReadWrite)){
141 qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1()); 144 qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1());
142 return; 145 return;
143 } 146 }
@@ -178,66 +181,66 @@ void WLANImp::changeAndSaveSettingFile(){
178 if(wepEnabled->isChecked()){ 181 if(wepEnabled->isChecked()){
179 stream << "\tKEY=\""; 182 stream << "\tKEY=\"";
180 if(keyRadio0->isChecked()) stream << keyLineEdit0->text(); 183 if(keyRadio0->isChecked()) stream << keyLineEdit0->text();
181 if(keyRadio1->isChecked()) stream << keyLineEdit1->text(); 184 if(keyRadio1->isChecked()) stream << keyLineEdit1->text();
182 if(keyRadio2->isChecked()) stream << keyLineEdit2->text(); 185 if(keyRadio2->isChecked()) stream << keyLineEdit2->text();
183 if(keyRadio3->isChecked()) stream << keyLineEdit3->text(); 186 if(keyRadio3->isChecked()) stream << keyLineEdit3->text();
184 if(authOpen->isChecked()) 187 if(authOpen->isChecked())
185 stream << " open"; 188 stream << " open";
186 else 189 else
187 stream << " restricted"; 190 stream << " restricted";
188 stream << "\"\n"; 191 stream << "\"\n";
189 } 192 }
190 stream << "\tRATE=auto\n"; 193 stream << "\tRATE=auto\n";
191 if(line.contains("esac")) 194 if(line.contains("esac"))
192 stream << line << "\n"; 195 stream << line << "\n";
193 } 196 }
194 if(line.contains(";;")) 197 if(line.contains(";;"))
195 output = true; 198 output = true;
196 if(output && (*it).length() ) 199 if(output && (*it).length() )
197 stream << (*it) << '\n'; 200 stream << (*it) << '\n';
198 } 201 }
199 file.close(); 202 file.close();
200} 203}
201 204
202/** 205/**
203 * Check to see if the current config is valid 206 * Check to see if the current config is valid
204 * Save wireless.opts, save interfaces 207 * Save wireless.opts, save interfaces
205 */ 208 */
206void WLANImp::accept(){ 209void WLANImp::accept(){
207 if(wepEnabled->isChecked()){ 210 if(wepEnabled->isChecked()){
208 if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() ) 211 if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() )
209 { 212 {
210 QMessageBox::information(this, "Error", "Please enter a key for WEP.", QMessageBox::Ok); 213 QMessageBox::information(this, "Error", "Please enter a key for WEP.", QMessageBox::Ok);
211 return; 214 return;
212 } 215 }
213 } 216 }
214 217
215 if(essSpecificLineEdit->text().isEmpty()){ 218 if(essSpecificLineEdit->text().isEmpty()){
216 QMessageBox::information(this, "Error", "Please enter a ESS-ID.", QMessageBox::Ok); 219 QMessageBox::information(this, "Error", "Please enter a ESS-ID.", QMessageBox::Ok);
217 return; 220 return;
218 } 221 }
219 222
220 // Ok settings are good here, save 223 // Ok settings are good here, save
221 changeAndSaveSettingFile(); 224 changeAndSaveSettingFile();
222 225
223 // Try to save the interfaces settings. 226 // Try to save the interfaces settings.
224 if(!interfaceSetup->saveChanges()) 227 if(!interfaceSetup->saveChanges())
225 return; 228 return;
226 229
227 // Restart the device now that the settings have changed 230 // Restart the device now that the settings have changed
228 QString initpath; 231 QString initpath;
229 if( QDir("/etc/rc.d/init.d").exists() ) 232 if( QDir("/etc/rc.d/init.d").exists() )
230 initpath = "/etc/rc.d/init.d"; 233 initpath = "/etc/rc.d/init.d";
231 else if( QDir("/etc/init.d").exists() ) 234 else if( QDir("/etc/init.d").exists() )
232 initpath = "/etc/init.d"; 235 initpath = "/etc/init.d";
233 if( initpath ) 236 if( initpath )
234 system(QString("%1/pcmcia stop").arg(initpath)); 237 system(QString("%1/pcmcia stop").arg(initpath));
235 if( initpath ) 238 if( initpath )
236 system(QString("%1/pcmcia start").arg(initpath)); 239 system(QString("%1/pcmcia start").arg(initpath));
237 240
238 // Close out the dialog 241 // Close out the dialog
239 QDialog::accept(); 242 QDialog::accept();
240} 243}
241 244
242// wlanimp.cpp 245// wlanimp.cpp
243 246
diff --git a/noncore/settings/networksettings/wlan/wlanimp.cpp b/noncore/settings/networksettings/wlan/wlanimp.cpp
index 120d4e5..84e0bae 100644
--- a/noncore/settings/networksettings/wlan/wlanimp.cpp
+++ b/noncore/settings/networksettings/wlan/wlanimp.cpp
@@ -1,143 +1,146 @@
1#include "wlanimp.h" 1#include "wlanimp.h"
2#include "interfacesetupimp.h" 2#include "interfacesetupimp.h"
3 3
4#include <qfile.h> 4#include <qfile.h>
5#include <qdir.h> 5#include <qdir.h>
6#include <qtextstream.h> 6#include <qtextstream.h>
7#include <qmessagebox.h> 7#include <qmessagebox.h>
8#include <qlineedit.h> 8#include <qlineedit.h>
9#include <qlabel.h> 9#include <qlabel.h>
10#include <qspinbox.h> 10#include <qspinbox.h>
11#include <qradiobutton.h> 11#include <qradiobutton.h>
12#include <qcheckbox.h> 12#include <qcheckbox.h>
13#include <qtabwidget.h> 13#include <qtabwidget.h>
14#include <qcombobox.h> 14#include <qcombobox.h>
15 15
16/* system() */ 16/* system() */
17#include <stdlib.h> 17#include <stdlib.h>
18 18
19#define WIRELESS_OPTS "/etc/pcmcia/wireless.opts" 19#define WIRELESS_OPTS "/etc/pcmcia/wireless.opts"
20 20
21/** 21/**
22 * Constructor, read in the wireless.opts file for parsing later. 22 * Constructor, read in the wireless.opts file for parsing later.
23 */ 23 */
24WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl):WLAN(parent, name, modal, fl), currentProfile("*") { 24WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl):WLAN(parent, name, modal, fl), currentProfile("*") {
25 interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i); 25 interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i);
26 tabWidget->insertTab(interfaceSetup, "TCP/IP"); 26 tabWidget->insertTab(interfaceSetup, "TCP/IP");
27 27
28 // Read in the config file. 28 // Read in the config file.
29 QString wlanFile = WIRELESS_OPTS; 29 QString wlanFile = WIRELESS_OPTS;
30 QFile file(wlanFile); 30 QFile file(wlanFile);
31 if (file.open(IO_ReadOnly)){ 31 if (file.open(IO_ReadOnly)){
32 QTextStream stream( &file ); 32 QTextStream stream( &file );
33 QString line = ""; 33 QString line = "";
34 while ( !stream.eof() ) { 34 while ( !stream.eof() ) {
35 line += stream.readLine(); 35 line += stream.readLine();
36 line += "\n"; 36 line += "\n";
37 } 37 }
38 file.close(); 38 file.close();
39 settingsFileText = QStringList::split("\n", line, true); 39 settingsFileText = QStringList::split("\n", line, true);
40 parseSettingFile(); 40 parseSettingFile();
41 } 41 }
42 else 42 else
43 qDebug(QString("WLANImp: Can't open file: %1 for reading.").arg(wlanFile).latin1()); 43 qDebug(QString("WLANImp: Can't open file: %1 for reading.").arg(wlanFile).latin1());
44 connect(networkType, SIGNAL(activated(int)), this, SLOT(typeChanged(int))); 44 connect(networkType, SIGNAL(activated(int)), this, SLOT(typeChanged(int)));
45
46} 45}
47 46
48void WLANImp::typeChanged(int mod){ 47void WLANImp::typeChanged(int mod){
49 networkChannel->setEnabled(mod); 48 networkChannel->setEnabled(mod);
50 channelLabel->setEnabled(mod); 49 channelLabel->setEnabled(mod);
51} 50}
52 51
53/** 52/**
54 * Change the profile for both wireless settings and network settings. 53 * Change the profile for both wireless settings and network settings.
55 */ 54 */
56void WLANImp::setProfile(const QString &profile){ 55void WLANImp::setProfile(const QString &profile){
57 interfaceSetup->setProfile(profile); 56 interfaceSetup->setProfile(profile);
58 parseSettingFile(); 57 parseSettingFile();
59} 58}
60 59
61/** 60/**
62 * Parses the settings file that was read in and gets any setting from it. 61 * Parses the settings file that was read in and gets any setting from it.
63 */ 62 */
64void WLANImp::parseSettingFile(){ 63void WLANImp::parseSettingFile(){
65 bool foundCase = false; 64 bool foundCase = false;
66 bool found = false; 65 bool found = false;
67 for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) { 66 for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) {
68 QString line = (*it).simplifyWhiteSpace(); 67 QString line = (*it).simplifyWhiteSpace();
69 if(line.contains("case")) 68 if(line.contains("case"))
70 foundCase = true; 69 foundCase = true;
71 // See if we found our scheme to write or the sceme couldn't be found 70 // See if we found our scheme to write or the sceme couldn't be found
72 if((foundCase && line.contains("esac")) || 71 if((foundCase && line.contains("esac")) ||
73 (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')) 72 (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#'))
74 found = true; 73 found = true;
75 74
76 if(line.contains(";;")) 75 if(line.contains(";;"))
77 found = false; 76 found = false;
78 if(found){ 77 if(found){
79 // write out scheme 78 // write out scheme
80 if(line.contains("ESSID=")){ 79 if(line.contains("ESSID=")){
81 QString id = line.mid(line.find("ESSID=")+6, line.length()); 80 QString id = line.mid(line.find("ESSID=")+6, line.length());
82 if(id == "any"){ 81 if(id == "any"){
83 essAny->setChecked(false); 82 essAny->setChecked(false);
84 }else{ 83 }else{
85 essAny->setChecked(true); 84 essAny->setChecked(true);
86 essSpecificLineEdit->setText(id); 85 essSpecificLineEdit->setText(id);
87 } 86 }
88 } 87 }
89 if(line.contains("MODE=")){ 88 if(line.contains("MODE=")){
90 QString mode = line.mid(line.find("MODE=")+5, line.length()); 89 QString mode = line.mid(line.find("MODE=")+5, line.length());
91 if(mode == "Managed"){ 90 if(mode == "Managed"){
92 networkType->setCurrentItem(0); 91 networkType->setCurrentItem(0);
92 channelLabel->setEnabled(false);
93 networkChannel->setEnabled(false);
93 } 94 }
94 else{ 95 else{
95 networkType->setCurrentItem(0); 96 networkType->setCurrentItem(1);
97 networkChannel->setEnabled(true);
98 channelLabel->setEnabled(true);
96 } 99 }
97 } 100 }
98 if(line.contains("KEY0=")) 101 if(line.contains("KEY0="))
99 keyLineEdit0->setText(line.mid(5, line.length())); 102 keyLineEdit0->setText(line.mid(5, line.length()));
100 if(line.contains("KEY1=")) 103 if(line.contains("KEY1="))
101 keyLineEdit1->setText(line.mid(5, line.length())); 104 keyLineEdit1->setText(line.mid(5, line.length()));
102 if(line.contains("KEY2=")) 105 if(line.contains("KEY2="))
103 keyLineEdit2->setText(line.mid(5, line.length())); 106 keyLineEdit2->setText(line.mid(5, line.length()));
104 if(line.contains("KEY3=")) 107 if(line.contains("KEY3="))
105 keyLineEdit3->setText(line.mid(5, line.length())); 108 keyLineEdit3->setText(line.mid(5, line.length()));
106 109
107 if(line.contains("KEY=")){ 110 if(line.contains("KEY=")){
108 wepEnabled->setChecked(true); 111 wepEnabled->setChecked(true);
109 QString key; 112 QString key;
110 if(line.right(5) == (" open")){ 113 if(line.right(5) == (" open")){
111 key = line.mid(4, line.length()-5); 114 key = line.mid(4, line.length()-5);
112 authOpen->setChecked(true); 115 authOpen->setChecked(true);
113 authShared->setChecked(false); 116 authShared->setChecked(false);
114 } 117 }
115 else{ 118 else{
116 authOpen->setChecked(false); 119 authOpen->setChecked(false);
117 authShared->setChecked(true); 120 authShared->setChecked(true);
118 key = line.mid(4, line.length()); 121 key = line.mid(4, line.length());
119 } 122 }
120 if(key == keyLineEdit0->text()) keyRadio0->setChecked(true); 123 if(key == keyLineEdit0->text()) keyRadio0->setChecked(true);
121 if(key == keyLineEdit1->text()) keyRadio1->setChecked(true); 124 if(key == keyLineEdit1->text()) keyRadio1->setChecked(true);
122 if(key == keyLineEdit2->text()) keyRadio2->setChecked(true); 125 if(key == keyLineEdit2->text()) keyRadio2->setChecked(true);
123 if(key == keyLineEdit3->text()) keyRadio3->setChecked(true); 126 if(key == keyLineEdit3->text()) keyRadio3->setChecked(true);
124 } 127 }
125 if(line.contains("CHANNEL=")){ 128 if(line.contains("CHANNEL=")){
126 networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt()); 129 networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt());
127 } 130 }
128 } 131 }
129 } 132 }
130} 133}
131 134
132/** 135/**
133 * Saves settings to the wireless.opts file using the current profile 136 * Saves settings to the wireless.opts file using the current profile
134 */ 137 */
135void WLANImp::changeAndSaveSettingFile(){ 138void WLANImp::changeAndSaveSettingFile(){
136 QString wlanFile = WIRELESS_OPTS; 139 QString wlanFile = WIRELESS_OPTS;
137 QFile::remove(wlanFile); 140 QFile::remove(wlanFile);
138 QFile file(wlanFile); 141 QFile file(wlanFile);
139 142
140 if (!file.open(IO_ReadWrite)){ 143 if (!file.open(IO_ReadWrite)){
141 qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1()); 144 qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1());
142 return; 145 return;
143 } 146 }
@@ -178,66 +181,66 @@ void WLANImp::changeAndSaveSettingFile(){
178 if(wepEnabled->isChecked()){ 181 if(wepEnabled->isChecked()){
179 stream << "\tKEY=\""; 182 stream << "\tKEY=\"";
180 if(keyRadio0->isChecked()) stream << keyLineEdit0->text(); 183 if(keyRadio0->isChecked()) stream << keyLineEdit0->text();
181 if(keyRadio1->isChecked()) stream << keyLineEdit1->text(); 184 if(keyRadio1->isChecked()) stream << keyLineEdit1->text();
182 if(keyRadio2->isChecked()) stream << keyLineEdit2->text(); 185 if(keyRadio2->isChecked()) stream << keyLineEdit2->text();
183 if(keyRadio3->isChecked()) stream << keyLineEdit3->text(); 186 if(keyRadio3->isChecked()) stream << keyLineEdit3->text();
184 if(authOpen->isChecked()) 187 if(authOpen->isChecked())
185 stream << " open"; 188 stream << " open";
186 else 189 else
187 stream << " restricted"; 190 stream << " restricted";
188 stream << "\"\n"; 191 stream << "\"\n";
189 } 192 }
190 stream << "\tRATE=auto\n"; 193 stream << "\tRATE=auto\n";
191 if(line.contains("esac")) 194 if(line.contains("esac"))
192 stream << line << "\n"; 195 stream << line << "\n";
193 } 196 }
194 if(line.contains(";;")) 197 if(line.contains(";;"))
195 output = true; 198 output = true;
196 if(output && (*it).length() ) 199 if(output && (*it).length() )
197 stream << (*it) << '\n'; 200 stream << (*it) << '\n';
198 } 201 }
199 file.close(); 202 file.close();
200} 203}
201 204
202/** 205/**
203 * Check to see if the current config is valid 206 * Check to see if the current config is valid
204 * Save wireless.opts, save interfaces 207 * Save wireless.opts, save interfaces
205 */ 208 */
206void WLANImp::accept(){ 209void WLANImp::accept(){
207 if(wepEnabled->isChecked()){ 210 if(wepEnabled->isChecked()){
208 if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() ) 211 if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() )
209 { 212 {
210 QMessageBox::information(this, "Error", "Please enter a key for WEP.", QMessageBox::Ok); 213 QMessageBox::information(this, "Error", "Please enter a key for WEP.", QMessageBox::Ok);
211 return; 214 return;
212 } 215 }
213 } 216 }
214 217
215 if(essSpecificLineEdit->text().isEmpty()){ 218 if(essSpecificLineEdit->text().isEmpty()){
216 QMessageBox::information(this, "Error", "Please enter a ESS-ID.", QMessageBox::Ok); 219 QMessageBox::information(this, "Error", "Please enter a ESS-ID.", QMessageBox::Ok);
217 return; 220 return;
218 } 221 }
219 222
220 // Ok settings are good here, save 223 // Ok settings are good here, save
221 changeAndSaveSettingFile(); 224 changeAndSaveSettingFile();
222 225
223 // Try to save the interfaces settings. 226 // Try to save the interfaces settings.
224 if(!interfaceSetup->saveChanges()) 227 if(!interfaceSetup->saveChanges())
225 return; 228 return;
226 229
227 // Restart the device now that the settings have changed 230 // Restart the device now that the settings have changed
228 QString initpath; 231 QString initpath;
229 if( QDir("/etc/rc.d/init.d").exists() ) 232 if( QDir("/etc/rc.d/init.d").exists() )
230 initpath = "/etc/rc.d/init.d"; 233 initpath = "/etc/rc.d/init.d";
231 else if( QDir("/etc/init.d").exists() ) 234 else if( QDir("/etc/init.d").exists() )
232 initpath = "/etc/init.d"; 235 initpath = "/etc/init.d";
233 if( initpath ) 236 if( initpath )
234 system(QString("%1/pcmcia stop").arg(initpath)); 237 system(QString("%1/pcmcia stop").arg(initpath));
235 if( initpath ) 238 if( initpath )
236 system(QString("%1/pcmcia start").arg(initpath)); 239 system(QString("%1/pcmcia start").arg(initpath));
237 240
238 // Close out the dialog 241 // Close out the dialog
239 QDialog::accept(); 242 QDialog::accept();
240} 243}
241 244
242// wlanimp.cpp 245// wlanimp.cpp
243 246