From 383619b029cc34871a49718db773a2b7ddbadf77 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Wed, 4 Apr 2018 12:50:32 +0100
Subject: [PATCH] koel configuration menu style

---
 src/freedombone-app-koel | 33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

diff --git a/src/freedombone-app-koel b/src/freedombone-app-koel
index 0666f0666..228cce97c 100755
--- a/src/freedombone-app-koel
+++ b/src/freedombone-app-koel
@@ -272,33 +272,26 @@ function format_music_drive {
 
 
 function configure_interactive_koel {
+    W=(1 $"Import music from directory"
+       2 $"Import music from USB drive"
+       3 $"Export music to USB drive"
+       4 $"Format a USB drive for music storage")
+
     while true
     do
-        data=$(mktemp 2>/dev/null)
-        dialog --backtitle $"Freedombone Control Panel" \
-               --title $"Koel" \
-               --radiolist $"Choose an operation:" 12 70 5 \
-               1 $"Import music from directory" off \
-               2 $"Import music from USB drive" off \
-               3 $"Export music to USB drive" off \
-               4 $"Format a USB drive for music storage" off \
-               5 $"Exit" on 2> "$data"
-        sel=$?
-        case $sel in
-            1) rm -f "$data"
-               break;;
-            255) rm -f "$data"
-                 break;;
-        esac
-        case $(cat "$data") in
+        # shellcheck disable=SC2068
+        selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Koel" --menu $"Choose an operation, or ESC to exit:" 12 60 4 "${W[@]}" 3>&2 2>&1 1>&3)
+
+        if [ ! "$selection" ]; then
+            break
+        fi
+
+        case $selection in
             1) koel_import_from_directory;;
             2) koel_import_from_usb;;
             3) koel_export_to_usb;;
             4) format_music_drive;;
-            5) rm -f "$data"
-               break;;
         esac
-        rm -f "$data"
     done
 }
 
-- 
GitLab