summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/interfaces
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings/interfaces') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings/interfaces/interface.cpp2
-rw-r--r--noncore/settings/networksettings/interfaces/interface.h2
-rw-r--r--noncore/settings/networksettings/interfaces/interfaceadvanced.ui2
-rw-r--r--noncore/settings/networksettings/interfaces/interfaceinformation.ui233
-rw-r--r--noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp14
-rw-r--r--noncore/settings/networksettings/interfaces/interfaceinformationimp.h2
-rw-r--r--noncore/settings/networksettings/interfaces/interfaces.cpp54
-rw-r--r--noncore/settings/networksettings/interfaces/interfacesetupimp.cpp4
8 files changed, 191 insertions, 122 deletions
diff --git a/noncore/settings/networksettings/interfaces/interface.cpp b/noncore/settings/networksettings/interfaces/interface.cpp
index cc45525..69b55d1 100644
--- a/noncore/settings/networksettings/interfaces/interface.cpp
+++ b/noncore/settings/networksettings/interfaces/interface.cpp
@@ -137,3 +137,3 @@ bool Interface::refresh(){
QString fileName = QString("/tmp/%1_ifconfig_info").arg(this->name());
- int ret = system(QString("%1 %2 > %3").arg(IFCONFIG).arg(this->name()).arg(fileName).latin1());
+ int ret = system(QString("LANG=C %1 %2 > %3").arg(IFCONFIG).arg(this->name()).arg(fileName).latin1());
if(ret != 0){
diff --git a/noncore/settings/networksettings/interfaces/interface.h b/noncore/settings/networksettings/interfaces/interface.h
index 7e98deb..ec82851 100644
--- a/noncore/settings/networksettings/interfaces/interface.h
+++ b/noncore/settings/networksettings/interfaces/interface.h
@@ -49,3 +49,3 @@ public:
-private:
+protected:
// Interface information
diff --git a/noncore/settings/networksettings/interfaces/interfaceadvanced.ui b/noncore/settings/networksettings/interfaces/interfaceadvanced.ui
index 2e106cb..12dbb1d 100644
--- a/noncore/settings/networksettings/interfaces/interfaceadvanced.ui
+++ b/noncore/settings/networksettings/interfaces/interfaceadvanced.ui
@@ -20,3 +20,3 @@
<size>
- <width>240</width>
+ <width>32767</width>
<height>32767</height>
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformation.ui b/noncore/settings/networksettings/interfaces/interfaceinformation.ui
index 763ad90..207200e 100644
--- a/noncore/settings/networksettings/interfaces/interfaceinformation.ui
+++ b/noncore/settings/networksettings/interfaces/interfaceinformation.ui
@@ -14,3 +14,3 @@
<width>219</width>
- <height>255</height>
+ <height>323</height>
</rect>
@@ -21,21 +21,12 @@
</property>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>11</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ <property>
+ <name>layoutMargin</name>
</property>
- <widget row="4" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout1</cstring>
+ <property>
+ <name>layoutSpacing</name>
</property>
- <grid>
+ <vbox>
<property stdset="1">
<name>margin</name>
- <number>0</number>
+ <number>4</number>
</property>
@@ -43,20 +34,9 @@
<name>spacing</name>
- <number>6</number>
+ <number>3</number>
</property>
- <widget row="1" column="0" >
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>refreshButton</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>&amp;Refresh</string>
- </property>
- </widget>
- <widget row="0" column="1" >
- <class>QPushButton</class>
+ <widget>
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>stopButton</cstring>
+ <cstring>TextLabel22</cstring>
</property>
@@ -64,21 +44,18 @@
<name>text</name>
- <string>S&amp;top</string>
+ <string>IP Address</string>
</property>
</widget>
- <widget row="1" column="1" >
- <class>QPushButton</class>
+ <widget>
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>restartButton</cstring>
+ <cstring>ipAddressLabel</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>R&amp;estart</string>
+ <name>frameShape</name>
+ <enum>Panel</enum>
</property>
- </widget>
- <widget row="0" column="0" >
- <class>QPushButton</class>
<property stdset="1">
- <name>name</name>
- <cstring>startButton</cstring>
+ <name>frameShadow</name>
+ <enum>Sunken</enum>
</property>
@@ -86,8 +63,6 @@
<name>text</name>
- <string>&amp;Start</string>
+ <string>0.0.0.0</string>
</property>
</widget>
- </grid>
- </widget>
- <widget row="0" column="0" >
+ <widget>
<class>Line</class>
@@ -102,3 +77,3 @@
</widget>
- <widget row="0" column="0" >
+ <widget>
<class>QLabel</class>
@@ -106,3 +81,3 @@
<name>name</name>
- <cstring>TextLabel22</cstring>
+ <cstring>TextLabel23</cstring>
</property>
@@ -110,6 +85,6 @@
<name>text</name>
- <string>IP Address</string>
+ <string>Subnet Mask</string>
</property>
</widget>
- <widget row="1" column="0" >
+ <widget>
<class>QLabel</class>
@@ -117,14 +92,11 @@
<name>name</name>
- <cstring>TextLabel23</cstring>
+ <cstring>subnetMaskLabel</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Subnet Mask</string>
+ <name>frameShape</name>
+ <enum>Panel</enum>
</property>
- </widget>
- <widget row="2" column="0" >
- <class>QLabel</class>
<property stdset="1">
- <name>name</name>
- <cstring>TextLabel21</cstring>
+ <name>frameShadow</name>
+ <enum>Sunken</enum>
</property>
@@ -132,6 +104,6 @@
<name>text</name>
- <string>MAC Address</string>
+ <string>0.0.0.0</string>
</property>
</widget>
- <widget row="3" column="0" >
+ <widget>
<class>QLabel</class>
@@ -139,3 +111,3 @@
<name>name</name>
- <cstring>TextLabel24</cstring>
+ <cstring>macAddressLabel</cstring>
</property>
@@ -143,3 +115,3 @@
<name>frameShape</name>
- <enum>MShape</enum>
+ <enum>Panel</enum>
</property>
@@ -147,3 +119,3 @@
<name>frameShadow</name>
- <enum>MShadow</enum>
+ <enum>Sunken</enum>
</property>
@@ -151,6 +123,6 @@
<name>text</name>
- <string>Broadcast</string>
+ <string>00:00:00:00:00:00</string>
</property>
</widget>
- <widget row="1" column="1" >
+ <widget>
<class>QLabel</class>
@@ -158,3 +130,14 @@
<name>name</name>
- <cstring>subnetMaskLabel</cstring>
+ <cstring>TextLabel21</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>MAC Address</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>broadcastLabel</cstring>
</property>
@@ -170,6 +153,6 @@
<name>text</name>
- <string>0.0.0.0</string>
+ <string></string>
</property>
</widget>
- <widget row="2" column="1" >
+ <widget>
<class>QLabel</class>
@@ -177,3 +160,3 @@
<name>name</name>
- <cstring>macAddressLabel</cstring>
+ <cstring>TextLabel24</cstring>
</property>
@@ -181,3 +164,3 @@
<name>frameShape</name>
- <enum>Panel</enum>
+ <enum>MShape</enum>
</property>
@@ -185,3 +168,3 @@
<name>frameShadow</name>
- <enum>Sunken</enum>
+ <enum>MShadow</enum>
</property>
@@ -189,18 +172,25 @@
<name>text</name>
- <string>00:00:00:00:00:00</string>
+ <string>Broadcast</string>
</property>
</widget>
- <widget row="3" column="1" >
- <class>QLabel</class>
+ <widget>
+ <class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>broadcastLabel</cstring>
+ <cstring>Layout1</cstring>
</property>
+ <grid>
<property stdset="1">
- <name>frameShape</name>
- <enum>Panel</enum>
+ <name>margin</name>
+ <number>0</number>
</property>
<property stdset="1">
- <name>frameShadow</name>
- <enum>Sunken</enum>
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="1" column="0" >
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>refreshButton</cstring>
</property>
@@ -208,3 +198,3 @@
<name>text</name>
- <string></string>
+ <string>&amp;Refresh</string>
</property>
@@ -212,14 +202,17 @@
<widget row="0" column="1" >
- <class>QLabel</class>
+ <class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>ipAddressLabel</cstring>
+ <cstring>stopButton</cstring>
</property>
<property stdset="1">
- <name>frameShape</name>
- <enum>Panel</enum>
+ <name>text</name>
+ <string>S&amp;top</string>
</property>
+ </widget>
+ <widget row="1" column="1" >
+ <class>QPushButton</class>
<property stdset="1">
- <name>frameShadow</name>
- <enum>Sunken</enum>
+ <name>name</name>
+ <cstring>restartButton</cstring>
</property>
@@ -227,27 +220,30 @@
<name>text</name>
- <string>0.0.0.0</string>
+ <string>R&amp;estart</string>
</property>
</widget>
- <spacer row="7" column="1" >
- <property>
+ <widget row="0" column="0" >
+ <class>QPushButton</class>
+ <property stdset="1">
<name>name</name>
- <cstring>Spacer18</cstring>
+ <cstring>startButton</cstring>
</property>
<property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
+ <name>text</name>
+ <string>&amp;Start</string>
</property>
+ </widget>
+ </grid>
+ </widget>
+ <widget>
+ <class>Line</class>
<property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
+ <name>name</name>
+ <cstring>Line5</cstring>
</property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
</property>
- </spacer>
- <widget row="6" column="0" rowspan="1" colspan="2" >
+ </widget>
+ <widget>
<class>QLayoutWidget</class>
@@ -300,7 +296,6 @@
</widget>
- <widget row="5" column="0" rowspan="1" colspan="2" >
- <class>Line</class>
- <property stdset="1">
+ <spacer>
+ <property>
<name>name</name>
- <cstring>Line5</cstring>
+ <cstring>Spacer18</cstring>
</property>
@@ -308,6 +303,28 @@
<name>orientation</name>
- <enum>Horizontal</enum>
+ <enum>Vertical</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>CheckBoxSilent</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>be &amp;silent</string>
</property>
</widget>
- </grid>
+ </vbox>
</widget>
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp b/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp
index e00dcce..37c3a91 100644
--- a/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp
+++ b/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp
@@ -3,2 +3,3 @@
+#include <qcheckbox.h>
#include <qpushbutton.h>
@@ -8,2 +9,4 @@
+#include <qpe/config.h>
+
#ifdef QWS
@@ -26,2 +29,12 @@ InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *na
connect(advancedButton, SIGNAL(clicked()), this, SLOT(advanced()));
+ Config cfg("networksettings", Config::User);
+ cfg.setGroup("interface");
+ CheckBoxSilent->setChecked( cfg.readBoolEntry("silent", false) );
+}
+
+InterfaceInformationImp::~InterfaceInformationImp()
+{
+ Config cfg("networksettings", Config::User);
+ cfg.setGroup("interface");
+ cfg.writeEntry("silent", CheckBoxSilent->isChecked() );
}
@@ -74,2 +87,3 @@ void InterfaceInformationImp::advanced(){
void InterfaceInformationImp::showMessage(const QString &message){
+ if (CheckBoxSilent->isChecked()) return;
QMessageBox::information(this, "Message", message, QMessageBox::Ok);
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformationimp.h b/noncore/settings/networksettings/interfaces/interfaceinformationimp.h
index 65cdfe0..9c93d1d 100644
--- a/noncore/settings/networksettings/interfaces/interfaceinformationimp.h
+++ b/noncore/settings/networksettings/interfaces/interfaceinformationimp.h
@@ -12,3 +12,3 @@ public:
InterfaceInformationImp(QWidget *parent=0, const char *name=0, Interface *i=0, WFlags f=0);
- ~InterfaceInformationImp(){};
+ ~InterfaceInformationImp();
diff --git a/noncore/settings/networksettings/interfaces/interfaces.cpp b/noncore/settings/networksettings/interfaces/interfaces.cpp
index 71d0cf5..436e449 100644
--- a/noncore/settings/networksettings/interfaces/interfaces.cpp
+++ b/noncore/settings/networksettings/interfaces/interfaces.cpp
@@ -2,2 +2,3 @@
+#include <qcheckbox.h>
#include <qfile.h>
@@ -153,2 +154,3 @@ bool Interfaces::isInterfaceSet() const {
bool Interfaces::addInterface(const QString &interface, const QString &family, const QString &method){
+ qDebug("Interfaces::addInterface(%s)",interface.latin1());
if(0 == acceptedFamily.contains(family))
@@ -168,2 +170,3 @@ bool Interfaces::addInterface(const QString &interface, const QString &family, c
bool Interfaces::copyInterface(const QString &interface, const QString &newInterface){
+ qDebug("copy interface %s to %s", interface.latin1(), newInterface.latin1());
if(!setInterface(interface))
@@ -274,2 +277,3 @@ QString Interfaces::getInterfaceMethod(bool &error){
bool Interfaces::setInterfaceName(const QString &newName){
+ qDebug("setInterfaceName %s", newName.latin1());
if(currentIface == interfaces.end())
@@ -279,3 +283,6 @@ bool Interfaces::setInterfaceName(const QString &newName){
bool returnValue = false;
- (*currentIface) = QString("iface %1 %2 %3").arg(name).arg(getInterfaceFamily(returnValue)).arg(getInterfaceMethod(returnValue));
+ QString tmp = QString("iface %1 %2 %3").arg(name).arg(getInterfaceFamily(returnValue)).arg(getInterfaceMethod(returnValue));
+ qDebug("setting %s",tmp.latin1());
+
+ (*currentIface) = tmp;
return !returnValue;
@@ -329,2 +336,4 @@ QString Interfaces::getInterfaceOption(const QString &option, bool &error){
* doesn't exist then it is added along with the value.
+ * If value isEmpty() then we will remove the option
+ *
* @param option the options to set the value.
@@ -335,2 +344,6 @@ QString Interfaces::getInterfaceOption(const QString &option, bool &error){
bool Interfaces::setInterfaceOption(const QString &option, const QString &value){
+ if( value.stripWhiteSpace().isEmpty() )
+ return removeInterfaceOption( option );
+
+ qDebug("iface >%s< option >%s< value >%s<", (*currentIface).latin1(), option.latin1(),value.latin1());
return setOption(currentIface, option, value);
@@ -494,12 +507,23 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op
return false;
-
+ qDebug("setting option");
bool found = false;
+ bool replaced = false;
+ QStringList::Iterator insertAt = NULL;
for ( QStringList::Iterator it = start; it != interfaces.end(); ++it ) {
- if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) && it != start){
- if(!found && value != ""){
- // Got to the end of the stanza without finding it, so append it.
- interfaces.insert(--it, QString("\t%1 %2").arg(option).arg(value));
- }
+ qDebug(" Interfaces::setOption got line >%s<",(*it).latin1());
+ // FIXME: was not completly stupid just wrong sice all options got inserted bevore the iface line
+ // but since it works with an empty interfaces file I (tille) will not do anything more
+ if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) ){
+ if (found) break;
+// && it != start){
+// if(!found && value != ""){
+// // Got to the end of the stanza without finding it, so append it.
+// qDebug(" Got to the end of the stanza without finding it, so append it.");
+// interfaces.insert(--it, QString("\t%1 %2").arg(option).arg(value));
+// }
+ qDebug("found 1");
+// interfaces.insert(++it, QString("\t%1 %2").arg(option).arg(value));
found = true;
- break;
+ insertAt = it;
+
}
@@ -507,2 +531,3 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op
// Found it in stanza so replace it.
+ qDebug("found 2");
if(found)
@@ -510,2 +535,3 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op
found = true;
+ replaced = true;
(*it) = QString("\t%1 %2").arg(option).arg(value);
@@ -514,2 +540,3 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op
if(!found){
+ qDebug("! found insert anyway");
QStringList::Iterator p = start;
@@ -518,2 +545,7 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op
}
+
+ if(found && !replaced){
+ qDebug("found iface but not the option so insert it here...");
+ interfaces.insert(++insertAt, QString("\t%1 %2").arg(option).arg(value));
+ }
return found;
@@ -554,3 +586,4 @@ bool Interfaces::removeOption(const QStringList::Iterator &start, const QString
found = true;
- (*it) = "";
+ it = interfaces.remove( it ); // we really want to remove the line
+ --it; // we do ++it later in the head of the for loop
}
@@ -581,3 +614,4 @@ bool Interfaces::removeOption(const QStringList::Iterator &start, const QString
found = true;
- (*it) = "";
+ it = interfaces.remove( it ); // we really want to remove the line
+ --it; // we do ++it later in the head of the for loop
}
diff --git a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
index b40d101..e844d8a 100644
--- a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
+++ b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
@@ -46,2 +46,3 @@ bool InterfaceSetupImp::saveChanges(){
QString iface = interfaces->getInterfaceName(error);
+ qDebug("InterfaceSetupImp::saveChanges saves interface %s", iface.latin1() );
if(!saveSettings())
@@ -119,2 +120,5 @@ bool InterfaceSetupImp::saveSettings(){
interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns);
+ }else{
+ interfaces->removeInterfaceOption("up "DNSSCRIPT" -a ");
+ interfaces->removeInterfaceOption("down "DNSSCRIPT" -r");
}