summaryrefslogtreecommitdiff
authorbenmeyer <benmeyer>2002-10-31 20:05:57 (UTC)
committer benmeyer <benmeyer>2002-10-31 20:05:57 (UTC)
commit16d3fac9169e400f5542ca0e3aa993cc5c5db574 (patch) (unidiff)
treeac8587cb0faed786bcb362e47949b0ade5d81ada
parent6f6bf05d544a579d513c476453483ef9bedad49f (diff)
downloadopie-16d3fac9169e400f5542ca0e3aa993cc5c5db574.zip
opie-16d3fac9169e400f5542ca0e3aa993cc5c5db574.tar.gz
opie-16d3fac9169e400f5542ca0e3aa993cc5c5db574.tar.bz2
Fixed error message and made window stay if error message doesn't go away.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/interfaces/interfacesetupimp.cpp7
-rw-r--r--noncore/net/networksetup/interfaces/interfacesetupimp.h7
-rw-r--r--noncore/net/networksetup/wlan/wlanimp.cpp4
-rw-r--r--noncore/settings/networksettings/interfaces/interfacesetupimp.cpp7
-rw-r--r--noncore/settings/networksettings/interfaces/interfacesetupimp.h7
-rw-r--r--noncore/settings/networksettings/wlan/wlanimp.cpp4
6 files changed, 20 insertions, 16 deletions
diff --git a/noncore/net/networksetup/interfaces/interfacesetupimp.cpp b/noncore/net/networksetup/interfaces/interfacesetupimp.cpp
index 550e909..a19aaeb 100644
--- a/noncore/net/networksetup/interfaces/interfacesetupimp.cpp
+++ b/noncore/net/networksetup/interfaces/interfacesetupimp.cpp
@@ -1,110 +1,111 @@
1#include "interfacesetupimp.h" 1#include "interfacesetupimp.h"
2#include "interface.h" 2#include "interface.h"
3#include "interfaces.h" 3#include "interfaces.h"
4 4
5#include <qdialog.h> 5#include <qdialog.h>
6#include <qcombobox.h> 6#include <qcombobox.h>
7#include <qcheckbox.h> 7#include <qcheckbox.h>
8#include <qlineedit.h> 8#include <qlineedit.h>
9#include <qspinbox.h> 9#include <qspinbox.h>
10#include <qgroupbox.h> 10#include <qgroupbox.h>
11#include <qlabel.h> 11#include <qlabel.h>
12 12
13#include <qmessagebox.h> 13#include <qmessagebox.h>
14 14
15#include <assert.h> 15#include <assert.h>
16 16
17#define DNSSCRIPT "changedns" 17#define DNSSCRIPT "changedns"
18 18
19/** 19/**
20 * Constuctor. Set up the connection and load the first profile. 20 * Constuctor. Set up the connection and load the first profile.
21 */ 21 */
22InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interface *i, WFlags fl) : InterfaceSetup(parent, name, fl){ 22InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interface *i, WFlags fl) : InterfaceSetup(parent, name, fl){
23 assert(parent); 23 assert(parent);
24 assert(i); 24 assert(i);
25 interface = i; 25 interface = i;
26 interfaces = new Interfaces(); 26 interfaces = new Interfaces();
27 bool error = false; 27 bool error = false;
28 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ 28 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){
29 staticGroupBox->hide(); 29 staticGroupBox->hide();
30 dhcpCheckBox->hide(); 30 dhcpCheckBox->hide();
31 leaseTime->hide(); 31 leaseTime->hide();
32 leaseHoursLabel->hide(); 32 leaseHoursLabel->hide();
33 } 33 }
34} 34}
35 35
36/** 36/**
37 * Save the current settings, then write out the interfaces file and close. 37 * Save the current settings, then write out the interfaces file and close.
38 */ 38 */
39void InterfaceSetupImp::saveChanges(){ 39bool InterfaceSetupImp::saveChanges(){
40 if(!saveSettings()) 40 if(!saveSettings())
41 return; 41 return false;
42 interfaces->write(); 42 interfaces->write();
43 return true;
43} 44}
44 45
45/** 46/**
46 * Save the settings for the current Interface. 47 * Save the settings for the current Interface.
47 * @return bool true if successfull, false otherwise 48 * @return bool true if successfull, false otherwise
48 */ 49 */
49bool InterfaceSetupImp::saveSettings(){ 50bool InterfaceSetupImp::saveSettings(){
50 // eh can't really do anything about it other then return. :-D 51 // eh can't really do anything about it other then return. :-D
51 if(!interfaces->isInterfaceSet()) 52 if(!interfaces->isInterfaceSet())
52 return true; 53 return true;
53 54
54 bool error = false; 55 bool error = false;
55 // Loopback case 56 // Loopback case
56 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ 57 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){
57 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); 58 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked());
58 return true; 59 return true;
59 } 60 }
60 61
61 if(!dhcpCheckBox->isChecked() && (ipAddressEdit->text().isEmpty() || subnetMaskEdit->text().isEmpty())){ 62 if(!dhcpCheckBox->isChecked() && (ipAddressEdit->text().isEmpty() || subnetMaskEdit->text().isEmpty())){
62 QMessageBox::information(this, "Not Saved.", "Please fill in address, subnet,\n and gateway entries.", "Ok"); 63 QMessageBox::information(this, "Not Saved.", "Please fill in the IP address and\n subnet entries.", "Ok");
63 return false; 64 return false;
64 } 65 }
65 interfaces->removeAllInterfaceOptions(); 66 interfaces->removeAllInterfaceOptions();
66 67
67 // DHCP 68 // DHCP
68 if(dhcpCheckBox->isChecked()){ 69 if(dhcpCheckBox->isChecked()){
69 interfaces->setInterfaceMethod(INTERFACES_METHOD_DHCP); 70 interfaces->setInterfaceMethod(INTERFACES_METHOD_DHCP);
70 interfaces->setInterfaceOption("leasehours", QString("%1").arg(leaseTime->value())); 71 interfaces->setInterfaceOption("leasehours", QString("%1").arg(leaseTime->value()));
71 interfaces->setInterfaceOption("leasetime", QString("%1").arg(leaseTime->value()*60*60)); 72 interfaces->setInterfaceOption("leasetime", QString("%1").arg(leaseTime->value()*60*60));
72 } 73 }
73 else{ 74 else{
74 interfaces->setInterfaceMethod("static"); 75 interfaces->setInterfaceMethod("static");
75 interfaces->setInterfaceOption("address", ipAddressEdit->text()); 76 interfaces->setInterfaceOption("address", ipAddressEdit->text());
76 interfaces->setInterfaceOption("netmask", subnetMaskEdit->text()); 77 interfaces->setInterfaceOption("netmask", subnetMaskEdit->text());
77 interfaces->setInterfaceOption("gateway", gatewayEdit->text()); 78 interfaces->setInterfaceOption("gateway", gatewayEdit->text());
78 if(!firstDNSLineEdit->text().isEmpty() || !secondDNSLineEdit->text().isEmpty()){ 79 if(!firstDNSLineEdit->text().isEmpty() || !secondDNSLineEdit->text().isEmpty()){
79 QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text(); 80 QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text();
80 interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns); 81 interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns);
81 interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); 82 interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns);
82 } 83 }
83 } 84 }
84 85
85 // IP Information 86 // IP Information
86 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); 87 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked());
87 return true; 88 return true;
88} 89}
89 90
90/** 91/**
91 * The Profile has changed. 92 * The Profile has changed.
92 * @profile the new profile. 93 * @profile the new profile.
93 */ 94 */
94void InterfaceSetupImp::setProfile(const QString &profile){ 95void InterfaceSetupImp::setProfile(const QString &profile){
95 QString newInterfaceName = interface->getInterfaceName(); 96 QString newInterfaceName = interface->getInterfaceName();
96 if(profile.length() > 0) 97 if(profile.length() > 0)
97 newInterfaceName += "_" + profile; 98 newInterfaceName += "_" + profile;
98 qDebug("InterfaceSetupImp::setProfile"); 99 qDebug("InterfaceSetupImp::setProfile");
99 // See if we have to make a interface. 100 // See if we have to make a interface.
100 if(!interfaces->setInterface(newInterfaceName)){ 101 if(!interfaces->setInterface(newInterfaceName)){
101 // Add making for this new interface if need too 102 // Add making for this new interface if need too
102 if(profile != ""){ 103 if(profile != ""){
103 interfaces->copyInterface(interface->getInterfaceName(), newInterfaceName); 104 interfaces->copyInterface(interface->getInterfaceName(), newInterfaceName);
104 if(!interfaces->setMapping(interface->getInterfaceName())){ 105 if(!interfaces->setMapping(interface->getInterfaceName())){
105 interfaces->addMapping(interface->getInterfaceName()); 106 interfaces->addMapping(interface->getInterfaceName());
106 if(!interfaces->setMapping(interface->getInterfaceName())){ 107 if(!interfaces->setMapping(interface->getInterfaceName())){
107 qDebug("InterfaceSetupImp: Added Mapping, but still can't set."); 108 qDebug("InterfaceSetupImp: Added Mapping, but still can't set.");
108 return; 109 return;
109 } 110 }
110 } 111 }
diff --git a/noncore/net/networksetup/interfaces/interfacesetupimp.h b/noncore/net/networksetup/interfaces/interfacesetupimp.h
index 3bbf34e..a88e190 100644
--- a/noncore/net/networksetup/interfaces/interfacesetupimp.h
+++ b/noncore/net/networksetup/interfaces/interfacesetupimp.h
@@ -1,55 +1,56 @@
1#ifndef INTERFACESETUPIMP_H 1#ifndef INTERFACESETUPIMP_H
2#define INTERFACESETUPIMP_H 2#define INTERFACESETUPIMP_H
3 3
4#include "interfacesetup.h" 4#include "interfacesetup.h"
5#include <qdialog.h> 5#include <qdialog.h>
6 6
7class Interface; 7class Interface;
8class Interfaces; 8class Interfaces;
9 9
10class InterfaceSetupImp : public InterfaceSetup { 10class InterfaceSetupImp : public InterfaceSetup {
11 Q_OBJECT 11 Q_OBJECT
12 12
13public: 13public:
14 InterfaceSetupImp( QWidget* parent = 0, const char* name = 0, Interface *i=0, WFlags fl = 0); 14 InterfaceSetupImp( QWidget* parent = 0, const char* name = 0, Interface *i=0, WFlags fl = 0);
15 void saveChanges(); 15 bool saveChanges();
16 16
17public slots: 17public slots:
18 void setProfile(const QString &profile); 18 void setProfile(const QString &profile);
19 bool saveSettings(); 19 bool saveSettings();
20
20private: 21private:
21 Interfaces *interfaces; 22 Interfaces *interfaces;
22 Interface *interface; 23 Interface *interface;
23 24
24}; 25};
25 26
26 27
27#include <qlayout.h> 28#include <qlayout.h>
28 29
29class InterfaceSetupImpDialog : public QDialog { 30class InterfaceSetupImpDialog : public QDialog {
30Q_OBJECT 31Q_OBJECT
31 32
32public: 33public:
33 InterfaceSetupImpDialog(QWidget* parent = 0, const char* name = 0, Interface *i=0, bool modal = false, WFlags fl = 0) : QDialog(parent, name, modal, fl){ 34 InterfaceSetupImpDialog(QWidget* parent = 0, const char* name = 0, Interface *i=0, bool modal = false, WFlags fl = 0) : QDialog(parent, name, modal, fl){
34 QVBoxLayout *InterfaceSetupLayout = new QVBoxLayout( this ); 35 QVBoxLayout *InterfaceSetupLayout = new QVBoxLayout( this );
35 setCaption("Interface Setup"); 36 setCaption("Interface Setup");
36 interfaceSetup = new InterfaceSetupImp(this, "InterfaceSetup",i,fl); 37 interfaceSetup = new InterfaceSetupImp(this, "InterfaceSetup",i,fl);
37 InterfaceSetupLayout->addWidget( interfaceSetup ); 38 InterfaceSetupLayout->addWidget( interfaceSetup );
38 }; 39 };
39 void setProfile(QString &profile){ interfaceSetup->setProfile(profile);}; 40 void setProfile(QString &profile){ interfaceSetup->setProfile(profile);};
40 41
41private: 42private:
42 InterfaceSetupImp *interfaceSetup; 43 InterfaceSetupImp *interfaceSetup;
43 44
44protected slots: 45protected slots:
45 void accept(){ 46 void accept(){
46 interfaceSetup->saveChanges(); 47 if(interfaceSetup->saveChanges())
47 QDialog::accept(); 48 QDialog::accept();
48 }; 49 };
49 50
50}; 51};
51 52
52#endif 53#endif
53 54
54// interfacesetupimp.h 55// interfacesetupimp.h
55 56
diff --git a/noncore/net/networksetup/wlan/wlanimp.cpp b/noncore/net/networksetup/wlan/wlanimp.cpp
index 74bf390..01d7e36 100644
--- a/noncore/net/networksetup/wlan/wlanimp.cpp
+++ b/noncore/net/networksetup/wlan/wlanimp.cpp
@@ -76,98 +76,98 @@ void WLANImp::readConfig()
76 } 76 }
77 keyLineEdit0->setText(config->readEntry( "dot11WEPDefaultKey0" )); 77 keyLineEdit0->setText(config->readEntry( "dot11WEPDefaultKey0" ));
78 keyLineEdit1->setText(config->readEntry( "dot11WEPDefaultKey1" )); 78 keyLineEdit1->setText(config->readEntry( "dot11WEPDefaultKey1" ));
79 keyLineEdit2->setText(config->readEntry( "dot11WEPDefaultKey2" )); 79 keyLineEdit2->setText(config->readEntry( "dot11WEPDefaultKey2" ));
80 keyLineEdit3->setText(config->readEntry( "dot11WEPDefaultKey3" )); 80 keyLineEdit3->setText(config->readEntry( "dot11WEPDefaultKey3" ));
81 return; 81 return;
82} 82}
83 83
84bool WLANImp::writeConfig() 84bool WLANImp::writeConfig()
85{ 85{
86 qWarning( "WLANImp::writeConfig() called." ); 86 qWarning( "WLANImp::writeConfig() called." );
87 config->setGroup( "Properties" ); 87 config->setGroup( "Properties" );
88 if( essNon->isChecked() ) { 88 if( essNon->isChecked() ) {
89 config->writeEntry( "SSID", "any" ); 89 config->writeEntry( "SSID", "any" );
90 } else { 90 } else {
91 config->writeEntry( "SSID", essSpecificLineEdit->text() ); 91 config->writeEntry( "SSID", essSpecificLineEdit->text() );
92 } 92 }
93 if( networkInfrastructure->isChecked() ){ 93 if( networkInfrastructure->isChecked() ){
94 config->writeEntry( "Mode", "Managed" ); 94 config->writeEntry( "Mode", "Managed" );
95 } else if( network802->isChecked() ){ 95 } else if( network802->isChecked() ){
96 config->writeEntry( "Mode", "adhoc" ); 96 config->writeEntry( "Mode", "adhoc" );
97 } 97 }
98 config->writeEntry( "CHANNEL", networkChannel->value() ); 98 config->writeEntry( "CHANNEL", networkChannel->value() );
99// config->readEntry( "RATE", "auto" ); 99// config->readEntry( "RATE", "auto" );
100 wepEnabled->isChecked() ? config->writeEntry( "dot11PrivacyInvoked", "true" ) : config->writeEntry( "dot11PrivacyInvoked", "false" ); 100 wepEnabled->isChecked() ? config->writeEntry( "dot11PrivacyInvoked", "true" ) : config->writeEntry( "dot11PrivacyInvoked", "false" );
101 authOpen->isChecked() ? config->writeEntry( "AuthType", "opensystem" ) : config->writeEntry( "AuthType", "sharedkey" ); 101 authOpen->isChecked() ? config->writeEntry( "AuthType", "opensystem" ) : config->writeEntry( "AuthType", "sharedkey" );
102 key40->isChecked() ? config->writeEntry( "PRIV_KEY128", "false" ) : config->writeEntry( "PRIV_KEY128", "true" ); 102 key40->isChecked() ? config->writeEntry( "PRIV_KEY128", "false" ) : config->writeEntry( "PRIV_KEY128", "true" );
103 if( keyRadio0->isChecked() ){ 103 if( keyRadio0->isChecked() ){
104 config->writeEntry( "dot11WEPDefaultKeyID", 0 ); 104 config->writeEntry( "dot11WEPDefaultKeyID", 0 );
105 } else if( keyRadio1->isChecked() ){ 105 } else if( keyRadio1->isChecked() ){
106 config->writeEntry( "dot11WEPDefaultKeyID", 1 ); 106 config->writeEntry( "dot11WEPDefaultKeyID", 1 );
107 } else if( keyRadio2->isChecked() ){ 107 } else if( keyRadio2->isChecked() ){
108 config->writeEntry( "dot11WEPDefaultKeyID", 2 ); 108 config->writeEntry( "dot11WEPDefaultKeyID", 2 );
109 } else if( keyRadio3->isChecked() ){ 109 } else if( keyRadio3->isChecked() ){
110 config->writeEntry( "dot11WEPDefaultKeyID", 3 ); 110 config->writeEntry( "dot11WEPDefaultKeyID", 3 );
111 } 111 }
112 config->writeEntry( "dot11WEPDefaultKey0", keyLineEdit0->text() ); 112 config->writeEntry( "dot11WEPDefaultKey0", keyLineEdit0->text() );
113 config->writeEntry( "dot11WEPDefaultKey1", keyLineEdit1->text() ); 113 config->writeEntry( "dot11WEPDefaultKey1", keyLineEdit1->text() );
114 config->writeEntry( "dot11WEPDefaultKey2", keyLineEdit2->text() ); 114 config->writeEntry( "dot11WEPDefaultKey2", keyLineEdit2->text() );
115 config->writeEntry( "dot11WEPDefaultKey3", keyLineEdit3->text() ); 115 config->writeEntry( "dot11WEPDefaultKey3", keyLineEdit3->text() );
116 return writeWirelessOpts( ); 116 return writeWirelessOpts( );
117} 117}
118 118
119/** 119/**
120 */ 120 */
121void WLANImp::accept() 121void WLANImp::accept()
122{ 122{
123 if ( writeConfig() ){ 123 if ( writeConfig() ){
124 interfaceSetup->saveChanges(); 124 if(interfaceSetup->saveChanges())
125 QDialog::accept(); 125 QDialog::accept();
126 } 126 }
127} 127}
128 128
129bool WLANImp::writeWirelessOpts( QString scheme ) 129bool WLANImp::writeWirelessOpts( QString scheme )
130{ 130{
131 qWarning( "WLANImp::writeWirelessOpts entered." ); 131 qWarning( "WLANImp::writeWirelessOpts entered." );
132 QString prev = "/etc/pcmcia/wireless.opts"; 132 QString prev = "/etc/pcmcia/wireless.opts";
133 QFile prevFile(prev); 133 QFile prevFile(prev);
134 if ( !prevFile.open( IO_ReadOnly ) ) 134 if ( !prevFile.open( IO_ReadOnly ) )
135 return false; 135 return false;
136 136
137 QString tmp = "/etc/pcmcia/wireless.opts-qpe-new"; 137 QString tmp = "/etc/pcmcia/wireless.opts-qpe-new";
138 QFile tmpFile(tmp); 138 QFile tmpFile(tmp);
139 if ( !tmpFile.open( IO_WriteOnly ) ) 139 if ( !tmpFile.open( IO_WriteOnly ) )
140 return false; 140 return false;
141 141
142 bool retval = true; 142 bool retval = true;
143 143
144 QTextStream in( &prevFile ); 144 QTextStream in( &prevFile );
145 QTextStream out( &tmpFile ); 145 QTextStream out( &tmpFile );
146 146
147 config->setGroup("Properties"); 147 config->setGroup("Properties");
148 148
149 QString line; 149 QString line;
150 bool found=false; 150 bool found=false;
151 bool done=false; 151 bool done=false;
152 while ( !in.atEnd() ) { 152 while ( !in.atEnd() ) {
153 QString line = in.readLine(); 153 QString line = in.readLine();
154 QString wline = line.simplifyWhiteSpace(); 154 QString wline = line.simplifyWhiteSpace();
155 if ( !done ) { 155 if ( !done ) {
156 if ( found ) { 156 if ( found ) {
157 // skip existing entry for this scheme, and write our own. 157 // skip existing entry for this scheme, and write our own.
158 if ( wline == ";;" ) { 158 if ( wline == ";;" ) {
159 found = false; 159 found = false;
160 continue; 160 continue;
161 } else { 161 } else {
162 continue; 162 continue;
163 } 163 }
164 } else { 164 } else {
165 if ( wline.left(scheme.length()+7) == scheme + ",*,*,*)" ) { 165 if ( wline.left(scheme.length()+7) == scheme + ",*,*,*)" ) {
166 found=true; 166 found=true;
167 continue; // skip this line 167 continue; // skip this line
168 } else if ( wline == "esac" || wline == "*,*,*,*)" ) { 168 } else if ( wline == "esac" || wline == "*,*,*,*)" ) {
169 // end - add new entry 169 // end - add new entry
170 // Not all fields have a GUI, but all are supported 170 // Not all fields have a GUI, but all are supported
171 // in the letwork configuration files. 171 // in the letwork configuration files.
172 static const char* txtfields[] = { 172 static const char* txtfields[] = {
173 0 173 0
diff --git a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
index 550e909..a19aaeb 100644
--- a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
+++ b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
@@ -1,110 +1,111 @@
1#include "interfacesetupimp.h" 1#include "interfacesetupimp.h"
2#include "interface.h" 2#include "interface.h"
3#include "interfaces.h" 3#include "interfaces.h"
4 4
5#include <qdialog.h> 5#include <qdialog.h>
6#include <qcombobox.h> 6#include <qcombobox.h>
7#include <qcheckbox.h> 7#include <qcheckbox.h>
8#include <qlineedit.h> 8#include <qlineedit.h>
9#include <qspinbox.h> 9#include <qspinbox.h>
10#include <qgroupbox.h> 10#include <qgroupbox.h>
11#include <qlabel.h> 11#include <qlabel.h>
12 12
13#include <qmessagebox.h> 13#include <qmessagebox.h>
14 14
15#include <assert.h> 15#include <assert.h>
16 16
17#define DNSSCRIPT "changedns" 17#define DNSSCRIPT "changedns"
18 18
19/** 19/**
20 * Constuctor. Set up the connection and load the first profile. 20 * Constuctor. Set up the connection and load the first profile.
21 */ 21 */
22InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interface *i, WFlags fl) : InterfaceSetup(parent, name, fl){ 22InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interface *i, WFlags fl) : InterfaceSetup(parent, name, fl){
23 assert(parent); 23 assert(parent);
24 assert(i); 24 assert(i);
25 interface = i; 25 interface = i;
26 interfaces = new Interfaces(); 26 interfaces = new Interfaces();
27 bool error = false; 27 bool error = false;
28 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ 28 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){
29 staticGroupBox->hide(); 29 staticGroupBox->hide();
30 dhcpCheckBox->hide(); 30 dhcpCheckBox->hide();
31 leaseTime->hide(); 31 leaseTime->hide();
32 leaseHoursLabel->hide(); 32 leaseHoursLabel->hide();
33 } 33 }
34} 34}
35 35
36/** 36/**
37 * Save the current settings, then write out the interfaces file and close. 37 * Save the current settings, then write out the interfaces file and close.
38 */ 38 */
39void InterfaceSetupImp::saveChanges(){ 39bool InterfaceSetupImp::saveChanges(){
40 if(!saveSettings()) 40 if(!saveSettings())
41 return; 41 return false;
42 interfaces->write(); 42 interfaces->write();
43 return true;
43} 44}
44 45
45/** 46/**
46 * Save the settings for the current Interface. 47 * Save the settings for the current Interface.
47 * @return bool true if successfull, false otherwise 48 * @return bool true if successfull, false otherwise
48 */ 49 */
49bool InterfaceSetupImp::saveSettings(){ 50bool InterfaceSetupImp::saveSettings(){
50 // eh can't really do anything about it other then return. :-D 51 // eh can't really do anything about it other then return. :-D
51 if(!interfaces->isInterfaceSet()) 52 if(!interfaces->isInterfaceSet())
52 return true; 53 return true;
53 54
54 bool error = false; 55 bool error = false;
55 // Loopback case 56 // Loopback case
56 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ 57 if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){
57 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); 58 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked());
58 return true; 59 return true;
59 } 60 }
60 61
61 if(!dhcpCheckBox->isChecked() && (ipAddressEdit->text().isEmpty() || subnetMaskEdit->text().isEmpty())){ 62 if(!dhcpCheckBox->isChecked() && (ipAddressEdit->text().isEmpty() || subnetMaskEdit->text().isEmpty())){
62 QMessageBox::information(this, "Not Saved.", "Please fill in address, subnet,\n and gateway entries.", "Ok"); 63 QMessageBox::information(this, "Not Saved.", "Please fill in the IP address and\n subnet entries.", "Ok");
63 return false; 64 return false;
64 } 65 }
65 interfaces->removeAllInterfaceOptions(); 66 interfaces->removeAllInterfaceOptions();
66 67
67 // DHCP 68 // DHCP
68 if(dhcpCheckBox->isChecked()){ 69 if(dhcpCheckBox->isChecked()){
69 interfaces->setInterfaceMethod(INTERFACES_METHOD_DHCP); 70 interfaces->setInterfaceMethod(INTERFACES_METHOD_DHCP);
70 interfaces->setInterfaceOption("leasehours", QString("%1").arg(leaseTime->value())); 71 interfaces->setInterfaceOption("leasehours", QString("%1").arg(leaseTime->value()));
71 interfaces->setInterfaceOption("leasetime", QString("%1").arg(leaseTime->value()*60*60)); 72 interfaces->setInterfaceOption("leasetime", QString("%1").arg(leaseTime->value()*60*60));
72 } 73 }
73 else{ 74 else{
74 interfaces->setInterfaceMethod("static"); 75 interfaces->setInterfaceMethod("static");
75 interfaces->setInterfaceOption("address", ipAddressEdit->text()); 76 interfaces->setInterfaceOption("address", ipAddressEdit->text());
76 interfaces->setInterfaceOption("netmask", subnetMaskEdit->text()); 77 interfaces->setInterfaceOption("netmask", subnetMaskEdit->text());
77 interfaces->setInterfaceOption("gateway", gatewayEdit->text()); 78 interfaces->setInterfaceOption("gateway", gatewayEdit->text());
78 if(!firstDNSLineEdit->text().isEmpty() || !secondDNSLineEdit->text().isEmpty()){ 79 if(!firstDNSLineEdit->text().isEmpty() || !secondDNSLineEdit->text().isEmpty()){
79 QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text(); 80 QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text();
80 interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns); 81 interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns);
81 interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); 82 interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns);
82 } 83 }
83 } 84 }
84 85
85 // IP Information 86 // IP Information
86 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); 87 interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked());
87 return true; 88 return true;
88} 89}
89 90
90/** 91/**
91 * The Profile has changed. 92 * The Profile has changed.
92 * @profile the new profile. 93 * @profile the new profile.
93 */ 94 */
94void InterfaceSetupImp::setProfile(const QString &profile){ 95void InterfaceSetupImp::setProfile(const QString &profile){
95 QString newInterfaceName = interface->getInterfaceName(); 96 QString newInterfaceName = interface->getInterfaceName();
96 if(profile.length() > 0) 97 if(profile.length() > 0)
97 newInterfaceName += "_" + profile; 98 newInterfaceName += "_" + profile;
98 qDebug("InterfaceSetupImp::setProfile"); 99 qDebug("InterfaceSetupImp::setProfile");
99 // See if we have to make a interface. 100 // See if we have to make a interface.
100 if(!interfaces->setInterface(newInterfaceName)){ 101 if(!interfaces->setInterface(newInterfaceName)){
101 // Add making for this new interface if need too 102 // Add making for this new interface if need too
102 if(profile != ""){ 103 if(profile != ""){
103 interfaces->copyInterface(interface->getInterfaceName(), newInterfaceName); 104 interfaces->copyInterface(interface->getInterfaceName(), newInterfaceName);
104 if(!interfaces->setMapping(interface->getInterfaceName())){ 105 if(!interfaces->setMapping(interface->getInterfaceName())){
105 interfaces->addMapping(interface->getInterfaceName()); 106 interfaces->addMapping(interface->getInterfaceName());
106 if(!interfaces->setMapping(interface->getInterfaceName())){ 107 if(!interfaces->setMapping(interface->getInterfaceName())){
107 qDebug("InterfaceSetupImp: Added Mapping, but still can't set."); 108 qDebug("InterfaceSetupImp: Added Mapping, but still can't set.");
108 return; 109 return;
109 } 110 }
110 } 111 }
diff --git a/noncore/settings/networksettings/interfaces/interfacesetupimp.h b/noncore/settings/networksettings/interfaces/interfacesetupimp.h
index 3bbf34e..a88e190 100644
--- a/noncore/settings/networksettings/interfaces/interfacesetupimp.h
+++ b/noncore/settings/networksettings/interfaces/interfacesetupimp.h
@@ -1,55 +1,56 @@
1#ifndef INTERFACESETUPIMP_H 1#ifndef INTERFACESETUPIMP_H
2#define INTERFACESETUPIMP_H 2#define INTERFACESETUPIMP_H
3 3
4#include "interfacesetup.h" 4#include "interfacesetup.h"
5#include <qdialog.h> 5#include <qdialog.h>
6 6
7class Interface; 7class Interface;
8class Interfaces; 8class Interfaces;
9 9
10class InterfaceSetupImp : public InterfaceSetup { 10class InterfaceSetupImp : public InterfaceSetup {
11 Q_OBJECT 11 Q_OBJECT
12 12
13public: 13public:
14 InterfaceSetupImp( QWidget* parent = 0, const char* name = 0, Interface *i=0, WFlags fl = 0); 14 InterfaceSetupImp( QWidget* parent = 0, const char* name = 0, Interface *i=0, WFlags fl = 0);
15 void saveChanges(); 15 bool saveChanges();
16 16
17public slots: 17public slots:
18 void setProfile(const QString &profile); 18 void setProfile(const QString &profile);
19 bool saveSettings(); 19 bool saveSettings();
20
20private: 21private:
21 Interfaces *interfaces; 22 Interfaces *interfaces;
22 Interface *interface; 23 Interface *interface;
23 24
24}; 25};
25 26
26 27
27#include <qlayout.h> 28#include <qlayout.h>
28 29
29class InterfaceSetupImpDialog : public QDialog { 30class InterfaceSetupImpDialog : public QDialog {
30Q_OBJECT 31Q_OBJECT
31 32
32public: 33public:
33 InterfaceSetupImpDialog(QWidget* parent = 0, const char* name = 0, Interface *i=0, bool modal = false, WFlags fl = 0) : QDialog(parent, name, modal, fl){ 34 InterfaceSetupImpDialog(QWidget* parent = 0, const char* name = 0, Interface *i=0, bool modal = false, WFlags fl = 0) : QDialog(parent, name, modal, fl){
34 QVBoxLayout *InterfaceSetupLayout = new QVBoxLayout( this ); 35 QVBoxLayout *InterfaceSetupLayout = new QVBoxLayout( this );
35 setCaption("Interface Setup"); 36 setCaption("Interface Setup");
36 interfaceSetup = new InterfaceSetupImp(this, "InterfaceSetup",i,fl); 37 interfaceSetup = new InterfaceSetupImp(this, "InterfaceSetup",i,fl);
37 InterfaceSetupLayout->addWidget( interfaceSetup ); 38 InterfaceSetupLayout->addWidget( interfaceSetup );
38 }; 39 };
39 void setProfile(QString &profile){ interfaceSetup->setProfile(profile);}; 40 void setProfile(QString &profile){ interfaceSetup->setProfile(profile);};
40 41
41private: 42private:
42 InterfaceSetupImp *interfaceSetup; 43 InterfaceSetupImp *interfaceSetup;
43 44
44protected slots: 45protected slots:
45 void accept(){ 46 void accept(){
46 interfaceSetup->saveChanges(); 47 if(interfaceSetup->saveChanges())
47 QDialog::accept(); 48 QDialog::accept();
48 }; 49 };
49 50
50}; 51};
51 52
52#endif 53#endif
53 54
54// interfacesetupimp.h 55// interfacesetupimp.h
55 56
diff --git a/noncore/settings/networksettings/wlan/wlanimp.cpp b/noncore/settings/networksettings/wlan/wlanimp.cpp
index 74bf390..01d7e36 100644
--- a/noncore/settings/networksettings/wlan/wlanimp.cpp
+++ b/noncore/settings/networksettings/wlan/wlanimp.cpp
@@ -76,98 +76,98 @@ void WLANImp::readConfig()
76 } 76 }
77 keyLineEdit0->setText(config->readEntry( "dot11WEPDefaultKey0" )); 77 keyLineEdit0->setText(config->readEntry( "dot11WEPDefaultKey0" ));
78 keyLineEdit1->setText(config->readEntry( "dot11WEPDefaultKey1" )); 78 keyLineEdit1->setText(config->readEntry( "dot11WEPDefaultKey1" ));
79 keyLineEdit2->setText(config->readEntry( "dot11WEPDefaultKey2" )); 79 keyLineEdit2->setText(config->readEntry( "dot11WEPDefaultKey2" ));
80 keyLineEdit3->setText(config->readEntry( "dot11WEPDefaultKey3" )); 80 keyLineEdit3->setText(config->readEntry( "dot11WEPDefaultKey3" ));
81 return; 81 return;
82} 82}
83 83
84bool WLANImp::writeConfig() 84bool WLANImp::writeConfig()
85{ 85{
86 qWarning( "WLANImp::writeConfig() called." ); 86 qWarning( "WLANImp::writeConfig() called." );
87 config->setGroup( "Properties" ); 87 config->setGroup( "Properties" );
88 if( essNon->isChecked() ) { 88 if( essNon->isChecked() ) {
89 config->writeEntry( "SSID", "any" ); 89 config->writeEntry( "SSID", "any" );
90 } else { 90 } else {
91 config->writeEntry( "SSID", essSpecificLineEdit->text() ); 91 config->writeEntry( "SSID", essSpecificLineEdit->text() );
92 } 92 }
93 if( networkInfrastructure->isChecked() ){ 93 if( networkInfrastructure->isChecked() ){
94 config->writeEntry( "Mode", "Managed" ); 94 config->writeEntry( "Mode", "Managed" );
95 } else if( network802->isChecked() ){ 95 } else if( network802->isChecked() ){
96 config->writeEntry( "Mode", "adhoc" ); 96 config->writeEntry( "Mode", "adhoc" );
97 } 97 }
98 config->writeEntry( "CHANNEL", networkChannel->value() ); 98 config->writeEntry( "CHANNEL", networkChannel->value() );
99// config->readEntry( "RATE", "auto" ); 99// config->readEntry( "RATE", "auto" );
100 wepEnabled->isChecked() ? config->writeEntry( "dot11PrivacyInvoked", "true" ) : config->writeEntry( "dot11PrivacyInvoked", "false" ); 100 wepEnabled->isChecked() ? config->writeEntry( "dot11PrivacyInvoked", "true" ) : config->writeEntry( "dot11PrivacyInvoked", "false" );
101 authOpen->isChecked() ? config->writeEntry( "AuthType", "opensystem" ) : config->writeEntry( "AuthType", "sharedkey" ); 101 authOpen->isChecked() ? config->writeEntry( "AuthType", "opensystem" ) : config->writeEntry( "AuthType", "sharedkey" );
102 key40->isChecked() ? config->writeEntry( "PRIV_KEY128", "false" ) : config->writeEntry( "PRIV_KEY128", "true" ); 102 key40->isChecked() ? config->writeEntry( "PRIV_KEY128", "false" ) : config->writeEntry( "PRIV_KEY128", "true" );
103 if( keyRadio0->isChecked() ){ 103 if( keyRadio0->isChecked() ){
104 config->writeEntry( "dot11WEPDefaultKeyID", 0 ); 104 config->writeEntry( "dot11WEPDefaultKeyID", 0 );
105 } else if( keyRadio1->isChecked() ){ 105 } else if( keyRadio1->isChecked() ){
106 config->writeEntry( "dot11WEPDefaultKeyID", 1 ); 106 config->writeEntry( "dot11WEPDefaultKeyID", 1 );
107 } else if( keyRadio2->isChecked() ){ 107 } else if( keyRadio2->isChecked() ){
108 config->writeEntry( "dot11WEPDefaultKeyID", 2 ); 108 config->writeEntry( "dot11WEPDefaultKeyID", 2 );
109 } else if( keyRadio3->isChecked() ){ 109 } else if( keyRadio3->isChecked() ){
110 config->writeEntry( "dot11WEPDefaultKeyID", 3 ); 110 config->writeEntry( "dot11WEPDefaultKeyID", 3 );
111 } 111 }
112 config->writeEntry( "dot11WEPDefaultKey0", keyLineEdit0->text() ); 112 config->writeEntry( "dot11WEPDefaultKey0", keyLineEdit0->text() );
113 config->writeEntry( "dot11WEPDefaultKey1", keyLineEdit1->text() ); 113 config->writeEntry( "dot11WEPDefaultKey1", keyLineEdit1->text() );
114 config->writeEntry( "dot11WEPDefaultKey2", keyLineEdit2->text() ); 114 config->writeEntry( "dot11WEPDefaultKey2", keyLineEdit2->text() );
115 config->writeEntry( "dot11WEPDefaultKey3", keyLineEdit3->text() ); 115 config->writeEntry( "dot11WEPDefaultKey3", keyLineEdit3->text() );
116 return writeWirelessOpts( ); 116 return writeWirelessOpts( );
117} 117}
118 118
119/** 119/**
120 */ 120 */
121void WLANImp::accept() 121void WLANImp::accept()
122{ 122{
123 if ( writeConfig() ){ 123 if ( writeConfig() ){
124 interfaceSetup->saveChanges(); 124 if(interfaceSetup->saveChanges())
125 QDialog::accept(); 125 QDialog::accept();
126 } 126 }
127} 127}
128 128
129bool WLANImp::writeWirelessOpts( QString scheme ) 129bool WLANImp::writeWirelessOpts( QString scheme )
130{ 130{
131 qWarning( "WLANImp::writeWirelessOpts entered." ); 131 qWarning( "WLANImp::writeWirelessOpts entered." );
132 QString prev = "/etc/pcmcia/wireless.opts"; 132 QString prev = "/etc/pcmcia/wireless.opts";
133 QFile prevFile(prev); 133 QFile prevFile(prev);
134 if ( !prevFile.open( IO_ReadOnly ) ) 134 if ( !prevFile.open( IO_ReadOnly ) )
135 return false; 135 return false;
136 136
137 QString tmp = "/etc/pcmcia/wireless.opts-qpe-new"; 137 QString tmp = "/etc/pcmcia/wireless.opts-qpe-new";
138 QFile tmpFile(tmp); 138 QFile tmpFile(tmp);
139 if ( !tmpFile.open( IO_WriteOnly ) ) 139 if ( !tmpFile.open( IO_WriteOnly ) )
140 return false; 140 return false;
141 141
142 bool retval = true; 142 bool retval = true;
143 143
144 QTextStream in( &prevFile ); 144 QTextStream in( &prevFile );
145 QTextStream out( &tmpFile ); 145 QTextStream out( &tmpFile );
146 146
147 config->setGroup("Properties"); 147 config->setGroup("Properties");
148 148
149 QString line; 149 QString line;
150 bool found=false; 150 bool found=false;
151 bool done=false; 151 bool done=false;
152 while ( !in.atEnd() ) { 152 while ( !in.atEnd() ) {
153 QString line = in.readLine(); 153 QString line = in.readLine();
154 QString wline = line.simplifyWhiteSpace(); 154 QString wline = line.simplifyWhiteSpace();
155 if ( !done ) { 155 if ( !done ) {
156 if ( found ) { 156 if ( found ) {
157 // skip existing entry for this scheme, and write our own. 157 // skip existing entry for this scheme, and write our own.
158 if ( wline == ";;" ) { 158 if ( wline == ";;" ) {
159 found = false; 159 found = false;
160 continue; 160 continue;
161 } else { 161 } else {
162 continue; 162 continue;
163 } 163 }
164 } else { 164 } else {
165 if ( wline.left(scheme.length()+7) == scheme + ",*,*,*)" ) { 165 if ( wline.left(scheme.length()+7) == scheme + ",*,*,*)" ) {
166 found=true; 166 found=true;
167 continue; // skip this line 167 continue; // skip this line
168 } else if ( wline == "esac" || wline == "*,*,*,*)" ) { 168 } else if ( wline == "esac" || wline == "*,*,*,*)" ) {
169 // end - add new entry 169 // end - add new entry
170 // Not all fields have a GUI, but all are supported 170 // Not all fields have a GUI, but all are supported
171 // in the letwork configuration files. 171 // in the letwork configuration files.
172 static const char* txtfields[] = { 172 static const char* txtfields[] = {
173 0 173 0