X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=handlers%2Feasydialog.sh;h=0113d9cb18885b997916996245d14d67064318df;hb=fdaede5adbff55369fb797a51af9982052bd6272;hp=18cb7c31c96e7506d785859eaabc1ad5ccda8f83;hpb=7117ef41e54d47ea49a177498ee2fae3855e5d75;p=matthijs%2Fupstream%2Fbackupninja-vserver.git diff --git a/handlers/easydialog.sh b/handlers/easydialog.sh index 18cb7c3..0113d9c 100644 --- a/handlers/easydialog.sh +++ b/handlers/easydialog.sh @@ -33,7 +33,7 @@ setDimension() { booleanBox() { $DIALOG --backtitle "$BACKTITLE" --title "$1" \ - --yesno "$2" $HEIGHT $WIDTH + `[ "$3" == no ] && echo '--defaultno'` --yesno "$2" $HEIGHT $WIDTH } msgBox() { @@ -157,11 +157,13 @@ listBegin() { _menu_items=0 _menu_text= _menu_labels= + _menu_status= } listItem() { _menu_labels[$_menu_items]=$1 _menu_text[$_menu_items]=$2 + _menu_status[$_menu_items]=$3 # available only for checklist let "_menu_items += 1" } @@ -175,6 +177,9 @@ listDisplay() { local temp=$(mktemp -t) || exit 1 trap "rm -f $temp" 0 + local label + local text + local status ( echo -ne " $HELP $_DEFAULT " echo -ne " --backtitle '$BACKTITLE' " @@ -184,7 +189,8 @@ listDisplay() { for ((i=0; i < $_menu_items ; i++)); do label=${_menu_labels[$i]} text=${_menu_text[$i]} - echo -ne " $label '$text' " + status=${_menu_status[$i]} + echo -ne " $label '$text' $status " done ) | xargs $DIALOG 2> $temp @@ -238,6 +244,7 @@ formDisplay() { ) | xargs $DIALOG 2> $temp local status=$? + REPLY= if [ $status = 0 ]; then IFS=$'' REPLY=`cat $temp`