author | benmeyer <benmeyer> | 2002-10-18 15:40:50 (UTC) |
---|---|---|
committer | benmeyer <benmeyer> | 2002-10-18 15:40:50 (UTC) |
commit | c16dcab3fe45ae7193cbdfb2f62bf7e5482d449b (patch) (unidiff) | |
tree | 39e69706b24b032364ad4483d2f33688e7054390 /noncore/settings/networksettings/interfaces.cpp | |
parent | 0910b94b5b6618c84b3eb6c457c9137d63a7277f (diff) | |
download | opie-c16dcab3fe45ae7193cbdfb2f62bf7e5482d449b.zip opie-c16dcab3fe45ae7193cbdfb2f62bf7e5482d449b.tar.gz opie-c16dcab3fe45ae7193cbdfb2f62bf7e5482d449b.tar.bz2 |
Profiles copy
Diffstat (limited to 'noncore/settings/networksettings/interfaces.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/interfaces.cpp | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/noncore/settings/networksettings/interfaces.cpp b/noncore/settings/networksettings/interfaces.cpp index eef42df..0927258 100644 --- a/noncore/settings/networksettings/interfaces.cpp +++ b/noncore/settings/networksettings/interfaces.cpp | |||
@@ -164,12 +164,38 @@ bool Interfaces::addInterface(QString interface, QString family, QString method) | |||
164 | interfaces.append(""); | 164 | interfaces.append(""); |
165 | interfaces.append(QString(IFACE " %1 %2 %3").arg(interface).arg(family).arg(method)); | 165 | interfaces.append(QString(IFACE " %1 %2 %3").arg(interface).arg(family).arg(method)); |
166 | return true; | 166 | return true; |
167 | } | 167 | } |
168 | 168 | ||
169 | /** | 169 | /** |
170 | * Copies interface with name interface to name newInterface | ||
171 | * @param newInterface name of the new interface. | ||
172 | * @return bool true if successfull | ||
173 | */ | ||
174 | bool Interfaces::copyInterface(QString interface, QString newInterface){ | ||
175 | if(!setInterface(interface)) return false; | ||
176 | |||
177 | QStringList::Iterator it = currentIface; | ||
178 | it++; | ||
179 | |||
180 | bool error; | ||
181 | addInterface(newInterface, getInterfaceFamily(error), getInterfaceMethod(error)); | ||
182 | if(!setInterface(newInterface)) return false; | ||
183 | QStringList::Iterator newIface = currentIface; | ||
184 | newIface++; | ||
185 | |||
186 | for ( it; it != interfaces.end(); ++it ){ | ||
187 | if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO))) | ||
188 | break; | ||
189 | newIface = interfaces.insert(newIface, *it); | ||
190 | } | ||
191 | |||
192 | return true; | ||
193 | } | ||
194 | |||
195 | /** | ||
170 | * Remove the currently selected interface and all of its options. | 196 | * Remove the currently selected interface and all of its options. |
171 | * @return bool if successfull or not. | 197 | * @return bool if successfull or not. |
172 | */ | 198 | */ |
173 | bool Interfaces::removeInterface(){ | 199 | bool Interfaces::removeInterface(){ |
174 | if(currentIface == interfaces.end()) | 200 | if(currentIface == interfaces.end()) |
175 | return false; | 201 | return false; |
@@ -398,18 +424,32 @@ QString Interfaces::getScript(bool &error){ | |||
398 | bool Interfaces::setStanza(QString stanza, QString option, QStringList::Iterator &iterator){ | 424 | bool Interfaces::setStanza(QString stanza, QString option, QStringList::Iterator &iterator){ |
399 | bool found = false; | 425 | bool found = false; |
400 | iterator = interfaces.end(); | 426 | iterator = interfaces.end(); |
401 | for ( QStringList::Iterator it = interfaces.begin(); it != interfaces.end(); ++it ) { | 427 | for ( QStringList::Iterator it = interfaces.begin(); it != interfaces.end(); ++it ) { |
402 | QString line = (*it).simplifyWhiteSpace(); | 428 | QString line = (*it).simplifyWhiteSpace(); |
403 | if(line.contains(stanza) && line.contains(option)){ | 429 | if(line.contains(stanza) && line.contains(option)){ |
404 | if(found == true){ | 430 | uint point = line.find(option); |
405 | qDebug(QString("Interfaces: Found multiple stanza's for search: %1 %2").arg(stanza).arg(option).latin1()); | 431 | bool valid = true; |
432 | if(point > 0){ | ||
433 | // There are more chars in the line. check +1 | ||
434 | if(line.at(point-1) != ' ') | ||
435 | valid = false; | ||
436 | } | ||
437 | point += option.length(); | ||
438 | if(point < line.length()-1){ | ||
439 | // There are more chars in the line. check -1 | ||
440 | if(line.at(point) != ' ') | ||
441 | valid = false; | ||
442 | } | ||
443 | if(valid){ | ||
444 | if(found == true){ | ||
445 | qDebug(QString("Interfaces: Found multiple stanza's for search: %1 %2").arg(stanza).arg(option).latin1()); | ||
446 | } | ||
447 | found = true; | ||
448 | iterator = it; | ||
406 | } | 449 | } |
407 | qDebug("Found"); | ||
408 | found = true; | ||
409 | iterator = it; | ||
410 | } | 450 | } |
411 | } | 451 | } |
412 | return found; | 452 | return found; |
413 | } | 453 | } |
414 | 454 | ||
415 | /** | 455 | /** |