From 8c6cd3c99e78a102824c7bae336df5376b3c8d53 Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Mon, 26 Jan 2009 21:20:54 +0200 Subject: [PATCH] Fixed dialog selection tracking --- setup | 48 ++++++++++++++++++++++++++---------------------- 1 files changed, 26 insertions(+), 22 deletions(-) diff --git a/setup b/setup index fc7b2a9..d62d05e 100755 --- a/setup +++ b/setup @@ -41,8 +41,8 @@ S_GRUB=0 # TODO: kill this - if using grub S_BOOT="" # bootloader installed (set to loader name instead of 1) -# menu item tracker- autoselect the next item -NEXTITEM="" +# main menu selection tracker +CURRENT_SELECTION="" # DIALOG() # an el-cheapo dialog wrapper @@ -1127,11 +1127,18 @@ select_source() else TITLE="Arch Linux FTP/HTTP Installation" DIALOG --msgbox "If you wish to load your ethernet modules manually, please do so now in another terminal." 12 65 - while true; do - DIALOG --menu "FTP Installation" 10 35 3 \ + local CURRENT_SELECTION="" + while true; do + if [ -n "$CURRENT_SELECTION" ]; then + DEFAULT="--default-item $CURRENT_SELECTION" + else + DEFAULT="" + fi + DIALOG $DEFAULT --menu "FTP Installation" 10 35 3 \ "0" "Setup Network" \ "1" "Choose Mirror" \ "2" "Return to Main Menu" 2>$ANSWER + CURRENT_SELECTION="$(cat $ANSWER)" case "$(cat $ANSWER)" in "0") @@ -1199,10 +1206,10 @@ prepare_harddrive() S_MKFSAUTO=0 S_MKFS=0 DONE=0 - NEXTITEM="" + local CURRENT_SELECTION="" while [ "$DONE" = "0" ]; do - if [ -n "$NEXTITEM" ]; then - DEFAULT="--default-item $NEXTITEM" + if [ -n "$CURRENT_SELECTION" ]; then + DEFAULT="--default-item $CURRENT_SELECTION" else DEFAULT="" fi @@ -1211,7 +1218,7 @@ prepare_harddrive() "2" "Partition Hard Drives" \ "3" "Set Filesystem Mountpoints" \ "4" "Return to Main Menu" 2>$ANSWER - NEXTITEM="$(cat $ANSWER)" + CURRENT_SELECTION="$(cat $ANSWER)" case $(cat $ANSWER) in "1") autoprepare ;; @@ -1224,7 +1231,6 @@ prepare_harddrive() DONE=1 ;; esac done - NEXTITEM="1" } # run_mkinitcpio() @@ -1287,16 +1293,14 @@ configure_system() ## END PREPROCESS ## [ "$EDITOR" ] || geteditor - FILE="" - # main menu loop + local CURRENT_SELECTION="" while true; do - if [ -n "$FILE" ]; then - DEFAULT="--default-item $FILE" + if [ -n "$CURRENT_SELECTION" ]; then + DEFAULT="--default-item $CURRENT_SELECTION" else DEFAULT="" fi - DIALOG $DEFAULT --menu "Configuration" 17 70 10 \ "/etc/rc.conf" "System Config" \ "/etc/fstab" "Filesystem Mountpoints" \ @@ -1309,17 +1313,17 @@ configure_system() "/etc/locale.gen" "Glibc Locales" \ "/etc/pacman.d/mirrorlist" "Pacman Mirror List" \ "Root-Password" "Set the root password" \ - "Return" "Return to Main Menu" 2>$ANSWER || FILE="Return" - FILE="$(cat $ANSWER)" + "Return" "Return to Main Menu" 2>$ANSWER || CURRENT_SELECTION="Return" + CURRENT_SELECTION="$(cat $ANSWER)" - if [ "$FILE" = "Return" -o -z "$FILE" ]; then # exit + if [ "$CURRENT_SELECTION" = "Return" -o -z "$CURRENT_SELECTION" ]; then # exit break - elif [ "$FILE" = "Root-Password" ]; then # non-file + elif [ "$CURRENT_SELECTION" = "Root-Password" ]; then # non-file while true; do chroot ${DESTDIR} passwd root && break done else #regular file - $EDITOR ${DESTDIR}${FILE} + $EDITOR ${DESTDIR}${CURRENT_SELECTION} fi done @@ -1351,8 +1355,8 @@ install_bootloader() mainmenu() { - if [ -n "$NEXTITEM" ]; then - DEFAULT="--default-item $NEXTITEM" + if [ -n "$CURRENT_SELECTION" ]; then + DEFAULT="--default-item $CURRENT_SELECTION" else DEFAULT="" fi @@ -1366,7 +1370,7 @@ mainmenu() "5" "Configure System" \ "6" "Install Bootloader" \ "7" "Exit Install" 2>$ANSWER - NEXTITEM="$(cat $ANSWER)" + CURRENT_SELECTION="$(cat $ANSWER)" case $(cat $ANSWER) in "0") select_source ;; -- 1.6.1.1