Diffstat (limited to 'noncore/settings/networksettings/interfaces') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/interfaces/interfacesetupimp.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp index d42b45d..6587d6f 100644 --- a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp +++ b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp | |||
@@ -37,68 +37,70 @@ InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interfac | |||
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 | */ |
39 | void InterfaceSetupImp::saveChanges(){ | 39 | void InterfaceSetupImp::saveChanges(){ |
40 | if(!saveSettings()) | 40 | if(!saveSettings()) |
41 | return; | 41 | return; |
42 | interfaces->write(); | 42 | interfaces->write(); |
43 | } | 43 | } |
44 | 44 | ||
45 | /** | 45 | /** |
46 | * Save the settings for the current Interface. | 46 | * Save the settings for the current Interface. |
47 | * @return bool true if successfull, false otherwise | 47 | * @return bool true if successfull, false otherwise |
48 | */ | 48 | */ |
49 | bool InterfaceSetupImp::saveSettings(){ | 49 | bool InterfaceSetupImp::saveSettings(){ |
50 | // eh can't really do anything about it other then return. :-D | 50 | // eh can't really do anything about it other then return. :-D |
51 | if(!interfaces->isInterfaceSet()) | 51 | if(!interfaces->isInterfaceSet()) |
52 | return true; | 52 | return true; |
53 | 53 | ||
54 | bool error = false; | 54 | bool error = false; |
55 | // Loopback case | 55 | // Loopback case |
56 | if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ | 56 | if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ |
57 | interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); | 57 | interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); |
58 | return true; | 58 | return true; |
59 | } | 59 | } |
60 | 60 | ||
61 | if(!dhcpCheckBox->isChecked() && (ipAddressEdit->text().isEmpty() || subnetMaskEdit->text().isEmpty() || firstDNSLineEdit->text().isEmpty())){ | 61 | if(!dhcpCheckBox->isChecked() && (ipAddressEdit->text().isEmpty() || subnetMaskEdit->text().isEmpty())){ |
62 | QMessageBox::information(this, "Empy Fields.", "Please fill in address, subnet,\n gateway and the first dns entries.", "Ok"); | 62 | QMessageBox::information(this, "Empy Fields.", "Please fill in address, subnet,\n and gateway entries.", "Ok"); |
63 | return false; | 63 | return false; |
64 | } | 64 | } |
65 | interfaces->removeAllInterfaceOptions(); | 65 | interfaces->removeAllInterfaceOptions(); |
66 | 66 | ||
67 | // DHCP | 67 | // DHCP |
68 | if(dhcpCheckBox->isChecked()){ | 68 | if(dhcpCheckBox->isChecked()){ |
69 | interfaces->setInterfaceMethod(INTERFACES_METHOD_DHCP); | 69 | interfaces->setInterfaceMethod(INTERFACES_METHOD_DHCP); |
70 | interfaces->setInterfaceOption("leasehours", QString("%1").arg(leaseTime->value())); | 70 | interfaces->setInterfaceOption("leasehours", QString("%1").arg(leaseTime->value())); |
71 | interfaces->setInterfaceOption("leasetime", QString("%1").arg(leaseTime->value()*60*60)); | 71 | interfaces->setInterfaceOption("leasetime", QString("%1").arg(leaseTime->value()*60*60)); |
72 | } | 72 | } |
73 | else{ | 73 | else{ |
74 | interfaces->setInterfaceMethod("static"); | 74 | interfaces->setInterfaceMethod("static"); |
75 | interfaces->setInterfaceOption("address", ipAddressEdit->text()); | 75 | interfaces->setInterfaceOption("address", ipAddressEdit->text()); |
76 | interfaces->setInterfaceOption("netmask", subnetMaskEdit->text()); | 76 | interfaces->setInterfaceOption("netmask", subnetMaskEdit->text()); |
77 | interfaces->setInterfaceOption("gateway", gatewayEdit->text()); | 77 | interfaces->setInterfaceOption("gateway", gatewayEdit->text()); |
78 | QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text(); | 78 | if(!firstDNSLineEdit->text().isEmpty() || !secondDNSLineEdit->text().isEmpty()){ |
79 | interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns); | 79 | QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text(); |
80 | interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); | 80 | interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns); |
81 | interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); | ||
82 | } | ||
81 | } | 83 | } |
82 | 84 | ||
83 | // IP Information | 85 | // IP Information |
84 | interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); | 86 | interfaces->setAuto(interface->getInterfaceName(), autoStart->isChecked()); |
85 | return true; | 87 | return true; |
86 | } | 88 | } |
87 | 89 | ||
88 | /** | 90 | /** |
89 | * The Profile has changed. | 91 | * The Profile has changed. |
90 | * @profile the new profile. | 92 | * @profile the new profile. |
91 | */ | 93 | */ |
92 | void InterfaceSetupImp::setProfile(const QString &profile){ | 94 | void InterfaceSetupImp::setProfile(const QString &profile){ |
93 | QString newInterfaceName = interface->getInterfaceName(); | 95 | QString newInterfaceName = interface->getInterfaceName(); |
94 | if(profile.length() > 0) | 96 | if(profile.length() > 0) |
95 | newInterfaceName += "_" + profile; | 97 | newInterfaceName += "_" + profile; |
96 | qDebug("InterfaceSetupImp::setProfile"); | 98 | qDebug("InterfaceSetupImp::setProfile"); |
97 | // See if we have to make a interface. | 99 | // See if we have to make a interface. |
98 | if(!interfaces->setInterface(newInterfaceName)){ | 100 | if(!interfaces->setInterface(newInterfaceName)){ |
99 | // Add making for this new interface if need too | 101 | // Add making for this new interface if need too |
100 | if(profile != ""){ | 102 | if(profile != ""){ |
101 | interfaces->copyInterface(interface->getInterfaceName(), newInterfaceName); | 103 | interfaces->copyInterface(interface->getInterfaceName(), newInterfaceName); |
102 | if(!interfaces->setMapping(interface->getInterfaceName())){ | 104 | if(!interfaces->setMapping(interface->getInterfaceName())){ |
103 | interfaces->addMapping(interface->getInterfaceName()); | 105 | interfaces->addMapping(interface->getInterfaceName()); |
104 | if(!interfaces->setMapping(interface->getInterfaceName())){ | 106 | if(!interfaces->setMapping(interface->getInterfaceName())){ |