From 19196b9eda7d16b6519ce0f2599579585654ae5a Mon Sep 17 00:00:00 2001 From: Rene Rebe Date: Fri, 12 Dec 2003 01:03:57 +0000 Subject: [PATCH] stone_mod_network: properly indent interface sections being saved the user should be able to delete interfaces ... :-) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@1960 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/sysfiles/stone_mod_network.sh | 27 ++++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/package/base/sysfiles/stone_mod_network.sh b/package/base/sysfiles/stone_mod_network.sh index cda2de815..b1359d3ad 100644 --- a/package/base/sysfiles/stone_mod_network.sh +++ b/package/base/sysfiles/stone_mod_network.sh @@ -85,8 +85,8 @@ write_section() { # mew tags ... if [ $passit = 0 -a $dumped = 0 ] ; then for (( i=0 ; $i < ${#tags[@]} ; i=i+1 )) ; do - [ $globals = 1 -o \ - "$netcmd" = "interface" ] || \ + netcmd="${tags[$i]}" + [ $globals = 0 ] && [[ "$netcmd" != interface* ]] && \ echo -en "\t" >> \ $rocknet_base/config.new echo "${tags[$i]}" >> \ @@ -96,8 +96,8 @@ write_section() { fi if [ $passit = 1 ] ; then - [ $globals = 1 -o \ - "$netcmd" = "interface" ] || \ + [ $globals = 0 -a \ + "$netcmd" != "interface" ] && \ echo -en "\t" >> \ $rocknet_base/config.new echo "$netcmd $para" >> \ @@ -145,15 +145,23 @@ add_global_tag() { edit_if() { read_section "$1" - while + + quit=0 + while cmd="gui_menu if_edit 'Configure interface ${1//_/ }'" for (( i=0 ; $i < ${#tags[@]} ; i=i+1 )) ; do cmd="$cmd '${tags[$i]}' 'edit_tag $i'" done cmd="$cmd '' '' 'Add new tag' 'add_tag'" + cmd="$cmd 'Delete this interface/profile' 'del_interface $1 && quit=1'" + + # tiny hack since gui_menu return 0 or 1 depending on the exec + # status of e.g. dialog - and thus a del_interface && false cannot + # be used ... - eval "$cmd" + eval "$cmd" || quit=1 + [ $quit = 0 ] do : ; done write_section "$1" } @@ -164,6 +172,11 @@ add_interface() { echo -e "\ninterface $name" >> $rocknet_base/config } +del_interface() { + unset tags + write_section "$1" +} + main() { while @@ -189,7 +202,7 @@ rocknet is executed.'" cmd="$cmd 'Edit interface ${if//_/ }' 'edit_if $if'" done - cmd="$cmd '' '' 'Add new interface' 'add_interface'" + cmd="$cmd '' '' 'Add new interface/profile' 'add_interface'" cmd="$cmd '' '' 'Configure runlevels for network service'" cmd="$cmd '$STONE runlevel edit_srv network'"