author | benmeyer <benmeyer> | 2002-10-18 16:27:02 (UTC) |
---|---|---|
committer | benmeyer <benmeyer> | 2002-10-18 16:27:02 (UTC) |
commit | 12851a09a2761ca6e189f080e9ca69bf4974302f (patch) (unidiff) | |
tree | 1b9a368fc5e424d4bf60f4c582b87b23a975c26a /noncore/net/networksetup/interfaces.cpp | |
parent | 47e60a8dc20f46dd00b9405f7fde122792018627 (diff) | |
download | opie-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/net/networksetup/interfaces.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/networksetup/interfaces.cpp | 64 |
1 files changed, 59 insertions, 5 deletions
diff --git a/noncore/net/networksetup/interfaces.cpp b/noncore/net/networksetup/interfaces.cpp index 0927258..9155890 100644 --- a/noncore/net/networksetup/interfaces.cpp +++ b/noncore/net/networksetup/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 | */ | ||
355 | bool 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 | */ | ||
393 | bool 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 | */ | ||
416 | bool 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 | */ | ||
527 | bool 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 |