summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/interfaces.cpp
authorbenmeyer <benmeyer>2002-10-18 16:27:02 (UTC)
committer benmeyer <benmeyer>2002-10-18 16:27:02 (UTC)
commit12851a09a2761ca6e189f080e9ca69bf4974302f (patch) (unidiff)
tree1b9a368fc5e424d4bf60f4c582b87b23a975c26a /noncore/settings/networksettings/interfaces.cpp
parent47e60a8dc20f46dd00b9405f7fde122792018627 (diff)
downloadopie-12851a09a2761ca6e189f080e9ca69bf4974302f.zip
opie-12851a09a2761ca6e189f080e9ca69bf4974302f.tar.gz
opie-12851a09a2761ca6e189f080e9ca69bf4974302f.tar.bz2
Can now remove mapping and is done so automagicly when you delete a profile
Diffstat (limited to 'noncore/settings/networksettings/interfaces.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/interfaces.cpp64
1 files changed, 59 insertions, 5 deletions
diff --git a/noncore/settings/networksettings/interfaces.cpp b/noncore/settings/networksettings/interfaces.cpp
index 0927258..9155890 100644
--- a/noncore/settings/networksettings/interfaces.cpp
+++ b/noncore/settings/networksettings/interfaces.cpp
@@ -335,8 +335,7 @@ QString Interfaces::getInterfaceOption(QString option, bool &error){
335 335
336/** 336/**
337 * Set a value for an option in the currently selected interface. If option 337 * Set a value for an option in the currently selected interface. If option
338 * doesn't exist then it is added along with the value. If value is set to an 338 * doesn't exist then it is added along with the value.
339 * empty string then option is removed.
340 * @param option the options to set the value. 339 * @param option the options to set the value.
341 * @param value the value that option should be set to. 340 * @param value the value that option should be set to.
342 * @param error set to true if any error occurs, false otherwise. 341 * @param error set to true if any error occurs, false otherwise.
@@ -347,6 +346,17 @@ bool Interfaces::setInterfaceOption(QString option, QString value){
347} 346}
348 347
349/** 348/**
349 * Removes a value for an option in the currently selected interface.
350 * @param option the options to set the value.
351 * @param value the value that option should be set to.
352 * @param error set to true if any error occurs, false otherwise.
353 * @return QString the options value. QString::null if error == true
354 */
355bool Interfaces::removeInterfaceOption(QString option, QString value){
356 return removeOption(currentIface, option, value);
357}
358
359/**
350 * Removes all of the options from the currently selected interface. 360 * Removes all of the options from the currently selected interface.
351 * @return bool error if if successfull 361 * @return bool error if if successfull
352 */ 362 */
@@ -377,6 +387,17 @@ void Interfaces::addMapping(QString option){
377} 387}
378 388
379/** 389/**
390 * Remove the currently selected map and all of its options.
391 * @return bool if successfull or not.
392 */
393bool Interfaces::removeMapping(){
394 if(currentMapping == interfaces.end())
395 return false;
396 (*currentMapping) = "";
397 return removeAllOptions(currentMapping);
398}
399
400/**
380 * Set a map option within a mapping. 401 * Set a map option within a mapping.
381 * @param map map to use 402 * @param map map to use
382 * @param value value to go with map 403 * @param value value to go with map
@@ -387,6 +408,16 @@ bool Interfaces::setMap(QString map, QString value){
387} 408}
388 409
389/** 410/**
411 * Removes a map option within a mapping.
412 * @param map map to use
413 * @param value value to go with map
414 * @return bool true if it is successfull.
415 */
416bool Interfaces::removeMap(QString map, QString value){
417 return removeOption(currentMapping, map, value);
418}
419
420/**
390 * Get a map value within a mapping. 421 * Get a map value within a mapping.
391 * @param map map to get value of 422 * @param map map to get value of
392 * @param bool true if it is successfull. 423 * @param bool true if it is successfull.
@@ -477,9 +508,6 @@ bool Interfaces::setOption(QStringList::Iterator start, QString option, QString
477 if(found) 508 if(found)
478 qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); 509 qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1());
479 found = true; 510 found = true;
480 if(value == "")
481 (*it) = "";
482 else
483 (*it) = QString("\t%1 %2").arg(option).arg(value); 511 (*it) = QString("\t%1 %2").arg(option).arg(value);
484 } 512 }
485 } 513 }
@@ -490,6 +518,32 @@ bool Interfaces::setOption(QStringList::Iterator start, QString option, QString
490 } 518 }
491 return found; 519 return found;
492} 520}
521/**
522 * Removes a option in a stanza
523 * @param start the start of the stanza
524 * @param option the option to use when setting value.
525 * @return bool true if successfull, false otherwise.
526 */
527bool Interfaces::removeOption(QStringList::Iterator start, QString option, QString value){
528 if(start == interfaces.end())
529 return false;
530
531 bool found = false;
532 for ( QStringList::Iterator it = start; it != interfaces.end(); ++it ) {
533 if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) && it != start){
534 // got to the end without finding it
535 break;
536 }
537 if((*it).contains(option) && (*it).contains(value) &&it != start){
538 // Found it in stanza so replace it.
539 if(found)
540 qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1());
541 found = true;
542 (*it) = "";
543 }
544 }
545 return found;
546}
493 547
494/** 548/**
495 * Removes all options in a stanza 549 * Removes all options in a stanza