fix: rework menus and UI

This commit is contained in:
th33xitus
2021-01-28 18:54:02 +01:00
parent 0c4f1a5378
commit f8aa88f480
6 changed files with 98 additions and 242 deletions

View File

@@ -18,10 +18,8 @@ quit_footer
} }
advanced_menu(){ advanced_menu(){
print_header
print_msg && clear_msg
read_octoprint_service_status read_octoprint_service_status
advanced_ui do_action "" "advanced_ui"
while true; do while true; do
read -p "${cyan}Perform action:${default} " action; echo read -p "${cyan}Perform action:${default} " action; echo
case "$action" in case "$action" in
@@ -33,23 +31,11 @@ advanced_menu(){
print_msg && clear_msg print_msg && clear_msg
advanced_ui;; advanced_ui;;
1) 1)
clear do_action "switch_menu" "advanced_ui";;
print_header
switch_menu
print_msg && clear_msg
advanced_ui;;
2) 2)
clear do_action "load_klipper_state" "advanced_ui";;
print_header
load_klipper_state
print_msg && clear_msg
advanced_ui;;
3) 3)
clear do_action "build_fw" "advanced_ui";;
print_header
build_fw
print_msg && clear_msg
advanced_ui;;
4) 4)
clear clear
print_header print_header
@@ -61,11 +47,7 @@ advanced_menu(){
print_msg && clear_msg print_msg && clear_msg
advanced_ui;; advanced_ui;;
5) 5)
clear do_action "get_mcu_id" "advanced_ui";;
print_header
get_mcu_id
print_msg && clear_msg
advanced_ui;;
6) 6)
clear clear
print_header print_header
@@ -73,19 +55,11 @@ advanced_menu(){
print_msg && clear_msg print_msg && clear_msg
advanced_ui;; advanced_ui;;
7) 7)
clear do_action "setup_gcode_shell_command" "advanced_ui";;
print_header
setup_gcode_shell_command
print_msg && clear_msg
advanced_ui;;
Q|q) Q|q)
clear; main_menu; break;; clear; main_menu; break;;
*) *)
clear deny_action "advanced_ui";;
print_header
print_unkown_cmd
print_msg && clear_msg
advanced_ui;;
esac esac
done done
advanced_menu advanced_menu
@@ -115,8 +89,7 @@ switch_ui(){
switch_menu(){ switch_menu(){
if [ -d $KLIPPER_DIR ]; then if [ -d $KLIPPER_DIR ]; then
read_branch read_branch
print_msg && clear_msg do_action "" "switch_ui"
switch_ui
while true; do while true; do
read -p "${cyan}Perform action:${default} " action; echo read -p "${cyan}Perform action:${default} " action; echo
case "$action" in case "$action" in
@@ -151,11 +124,7 @@ switch_menu(){
Q|q) Q|q)
clear; advanced_menu; break;; clear; advanced_menu; break;;
*) *)
clear deny_action "switch_ui";;
print_header
print_unkown_cmd
print_msg && clear_msg
switch_ui;;
esac esac
done done
else else

View File

@@ -4,81 +4,45 @@ backup_ui(){
hr hr
echo -e "| ${yellow}Backup location: ~/kiauh-backups${default} | " echo -e "| ${yellow}Backup location: ~/kiauh-backups${default} | "
hr hr
echo -e "| Configuration folder: | Webinterface: | " echo -e "| Configuration folder: | Klipper Webinterface: | "
echo -e "| 0) [Klipper configs] | 3) [Mainsail] | " echo -e "| 0) [Klipper configs] | 3) [Mainsail] | "
echo -e "| | 4) [Fluidd] | " echo -e "| | 4) [Fluidd] | "
echo -e "| Firmware: | 5) [DWC2 Web UI] | " echo -e "| Firmware: | | "
echo -e "| 1) [Klipper] | 6) [OctoPrint] | " echo -e "| 1) [Klipper] | HDMI Screen: | "
echo -e "| | | " echo -e "| | 5) [KlipperScreen] | "
echo -e "| Klipper API: | HDMI Screen: | " echo -e "| Klipper API: | | "
echo -e "| 2) [Moonraker] | 7) [KlipperScreen] | " echo -e "| 2) [Moonraker] | Other: | "
echo -e "| | 6) [Duet Web Control] | "
echo -e "| | 7) [OctoPrint] | "
quit_footer quit_footer
} }
backup_menu(){ backup_menu(){
print_header do_action "" "backup_ui"
print_msg && clear_msg
backup_ui
while true; do while true; do
read -p "${cyan}Perform action:${default} " action; echo read -p "${cyan}Perform action:${default} " action; echo
case "$action" in case "$action" in
0) 0)
clear do_action "backup_klipper_config_dir" "backup_ui";;
print_header
backup_klipper_config_dir
print_msg && clear_msg
backup_ui;;
1) 1)
clear do_action "backup_klipper" "backup_ui";;
print_header
backup_klipper
print_msg && clear_msg
backup_ui;;
2) 2)
clear do_action "backup_moonraker" "backup_ui";;
print_header
backup_moonraker
print_msg && clear_msg
backup_ui;;
3) 3)
clear do_action "backup_mainsail" "backup_ui";;
print_header
backup_mainsail
print_msg && clear_msg
backup_ui;;
4) 4)
clear do_action "backup_fluidd" "backup_ui";;
print_header
backup_fluidd
print_msg && clear_msg
backup_ui;;
5) 5)
clear do_action "backup_klipperscreen" "backup_ui";;
print_header
backup_dwc2
print_msg && clear_msg
backup_ui;;
6) 6)
clear do_action "backup_dwc2" "backup_ui";;
print_header
backup_octoprint
print_msg && clear_msg
backup_ui;;
7) 7)
clear do_action "backup_octoprint" "backup_ui";;
print_header
backup_klipperscreen
print_msg && clear_msg
backup_ui;;
Q|q) Q|q)
clear; main_menu; break;; clear; main_menu; break;;
*) *)
clear deny_action "backup_ui";;
print_header
print_unkown_cmd
print_msg && clear_msg
backup_ui;;
esac esac
done done
backup_menu backup_menu
} }

View File

@@ -38,3 +38,26 @@ kiauh_update_msg(){
echo -e "| ${yellow}either to the script or the installable components!${default} | " echo -e "| ${yellow}either to the script or the installable components!${default} | "
bottom_border bottom_border
} }
##############################################################################################
#********************************************************************************************#
##############################################################################################
### TODO: rework other menus to make use of the following functions too and make them more readable
do_action(){
clear
print_header
### $1 is the action the user wants to fire
$1
print_msg && clear_msg
### $2 is the menu the user usually gets directed back to after an action is completed
$2
}
deny_action(){
clear
print_header
print_unkown_cmd
print_msg && clear_msg
$1
}

View File

@@ -20,61 +20,28 @@ install_ui(){
} }
install_menu(){ install_menu(){
print_header do_action "" "install_ui"
install_ui
while true; do while true; do
read -p "${cyan}Perform action:${default} " action; echo read -p "${cyan}Perform action:${default} " action; echo
case "$action" in case "$action" in
1) 1)
clear do_action "klipper_setup_dialog" "install_ui";;
print_header
klipper_setup_dialog
print_msg && clear_msg
install_ui;;
2) 2)
clear do_action "moonraker_setup_dialog" "install_ui";;
print_header
moonraker_setup_dialog
print_msg && clear_msg
install_ui;;
3) 3)
clear do_action "install_mainsail" "install_ui";;
print_header
install_mainsail
print_msg && clear_msg
install_ui;;
4) 4)
clear do_action "install_fluidd" "install_ui";;
print_header
install_fluidd
print_msg && clear_msg
install_ui;;
5) 5)
clear do_action "install_klipperscreen" "install_ui";;
print_header
install_klipperscreen
print_msg && clear_msg
install_ui;;
6) 6)
clear do_action "dwc_setup_dialog" "install_ui";;
print_header
dwc_setup_dialog
print_msg && clear_msg
install_ui;;
7) 7)
clear do_action "octoprint_setup_dialog" "install_ui";;
print_header
octoprint_setup_dialog
print_msg && clear_msg
install_ui;;
Q|q) Q|q)
clear; main_menu; break;; clear; main_menu; break;;
*) *)
clear deny_action "install_ui";;
print_header
print_unkown_cmd
print_msg && clear_msg
install_ui;;
esac esac
done done
install_menu install_menu

View File

@@ -44,80 +44,50 @@ main_menu(){
read -p "${cyan}Perform action:${default} " action; echo read -p "${cyan}Perform action:${default} " action; echo
case "$action" in case "$action" in
"start klipper") "start klipper")
clear clear && print_header
print_header
klipper_service "start" klipper_service "start"
main_ui;; main_ui;;
"stop klipper") "stop klipper")
clear clear && print_header
print_header
klipper_service "stop" klipper_service "stop"
main_ui;; main_ui;;
"restart klipper") "restart klipper")
clear clear && print_header
print_header
klipper_service "restart" klipper_service "restart"
main_ui;; main_ui;;
"start moonraker") "start moonraker")
clear clear && print_header
print_header
moonraker_service "start" moonraker_service "start"
main_ui;; main_ui;;
"stop moonraker") "stop moonraker")
clear clear && print_header
print_header
moonraker_service "stop" moonraker_service "stop"
main_ui;; main_ui;;
"restart moonraker") "restart moonraker")
clear clear && print_header
print_header
moonraker_service "restart" moonraker_service "restart"
main_ui;; main_ui;;
update) update)
clear do_action "update_kiauh" "main_ui";;
print_header
update_kiauh
print_msg && clear_msg
main_ui;;
0) 0)
clear do_action "upload_selection" "main_ui";;
print_header
upload_selection
print_msg && clear_msg
main_ui;;
1) 1)
clear clear && install_menu && break;;
install_menu
break;;
2) 2)
clear clear && update_menu && break;;
update_menu
break;;
3) 3)
clear clear && remove_menu && break;;
remove_menu
break;;
4) 4)
clear clear && advanced_menu && break;;
advanced_menu
break;;
5) 5)
clear clear && backup_menu && break;;
backup_menu
break;;
6) 6)
clear clear && settings_menu && break;;
settings_menu
break;;
Q|q) Q|q)
echo -e "${green}###### Happy printing! ######${default}"; echo echo -e "${green}###### Happy printing! ######${default}"; echo
exit -1;; exit -1;;
*) *)
clear deny_action "main_ui";;
print_header
print_unkown_cmd
print_msg && clear_msg
main_ui;;
esac esac
done done
clear; main_menu clear; main_menu

View File

@@ -3,86 +3,49 @@ remove_ui(){
echo -e "| ${red}~~~~~~~~~~~~~~ [ Remove Menu ] ~~~~~~~~~~~~~~${default} | " echo -e "| ${red}~~~~~~~~~~~~~~ [ Remove Menu ] ~~~~~~~~~~~~~~${default} | "
hr hr
echo -e "| Directories which remain untouched: | " echo -e "| Directories which remain untouched: | "
echo -e "| --> ~/klipper_config | " echo -e "| --> Your printer configuration directory | "
echo -e "| --> ~/kiauh-backups | " echo -e "| --> ~/kiauh-backups | "
echo -e "| You need remove them manually if you wish so. | " echo -e "| You need remove them manually if you wish so. | "
hr hr
echo -e "| Firmware: | Webinterface: | " echo -e "| Firmware: | Klipper Webinterface: | "
echo -e "| 1) [Klipper] | 3) [DWC2] | " echo -e "| 1) [Klipper] | 3) [Mainsail] | "
echo -e "| | 4) [Mainsail] | " echo -e "| | 4) [Fluidd] | "
echo -e "| Klipper API: | 5) [Fluidd] | " echo -e "| Klipper API: | | "
echo -e "| 2) [Moonraker] | 6) [Octoprint] | " echo -e "| 2) [Moonraker] | HDMI Screen: | "
echo -e "| | 5) [KlipperScreen] | "
echo -e "| | | " echo -e "| | | "
echo -e "| | Webserver: | " echo -e "| | Other: | "
echo -e "| | 7) [Nginx] | " echo -e "| | 6) [Duet Web Control] | "
echo -e "| | | " echo -e "| | 7) [OctoPrint] | "
echo -e "| | HDMI Screen: | " echo -e "| | 8) [NGINX] | "
echo -e "| | 8) [KlipperScreen] | "
quit_footer quit_footer
} }
remove_menu(){ remove_menu(){
print_header do_action "" "remove_ui"
remove_ui
while true; do while true; do
read -p "${cyan}Perform action:${default} " action; echo read -p "${cyan}Perform action:${default} " action; echo
case "$action" in case "$action" in
1) 1)
clear do_action "remove_klipper" "remove_ui";;
print_header
remove_klipper
print_msg && clear_msg
remove_ui;;
2) 2)
clear do_action "remove_moonraker" "remove_ui";;
print_header
remove_moonraker
print_msg && clear_msg
remove_ui;;
3) 3)
clear do_action "remove_mainsail" "remove_ui";;
print_header
remove_dwc2
print_msg && clear_msg
remove_ui;;
4) 4)
clear do_action "remove_fluidd" "remove_ui";;
print_header
remove_mainsail
print_msg && clear_msg
remove_ui;;
5) 5)
clear do_action "remove_klipperscreen" "remove_ui";;
print_header
remove_fluidd
print_msg && clear_msg
remove_ui;;
6) 6)
clear do_action "remove_dwc2" "remove_ui";;
print_header
remove_octoprint
print_msg && clear_msg
remove_ui;;
7) 7)
clear do_action "remove_octoprint" "remove_ui";;
print_header
remove_nginx
print_msg && clear_msg
remove_ui;;
8) 8)
clear do_action "remove_nginx" "remove_ui";;
print_header
remove_klipperscreen
print_msg && clear_msg
remove_ui;;
Q|q) Q|q)
clear; main_menu; break;; clear; main_menu; break;;
*) *)
clear deny_action "remove_ui";;
print_header
print_unkown_cmd
print_msg && clear_msg
remove_ui;;
esac esac
done done
remove_menu remove_menu