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

View File

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

View File

@@ -38,3 +38,26 @@ kiauh_update_msg(){
echo -e "| ${yellow}either to the script or the installable components!${default} | "
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(){
print_header
install_ui
do_action "" "install_ui"
while true; do
read -p "${cyan}Perform action:${default} " action; echo
case "$action" in
1)
clear
print_header
klipper_setup_dialog
print_msg && clear_msg
install_ui;;
do_action "klipper_setup_dialog" "install_ui";;
2)
clear
print_header
moonraker_setup_dialog
print_msg && clear_msg
install_ui;;
do_action "moonraker_setup_dialog" "install_ui";;
3)
clear
print_header
install_mainsail
print_msg && clear_msg
install_ui;;
do_action "install_mainsail" "install_ui";;
4)
clear
print_header
install_fluidd
print_msg && clear_msg
install_ui;;
do_action "install_fluidd" "install_ui";;
5)
clear
print_header
install_klipperscreen
print_msg && clear_msg
install_ui;;
do_action "install_klipperscreen" "install_ui";;
6)
clear
print_header
dwc_setup_dialog
print_msg && clear_msg
install_ui;;
do_action "dwc_setup_dialog" "install_ui";;
7)
clear
print_header
octoprint_setup_dialog
print_msg && clear_msg
install_ui;;
do_action "octoprint_setup_dialog" "install_ui";;
Q|q)
clear; main_menu; break;;
*)
clear
print_header
print_unkown_cmd
print_msg && clear_msg
install_ui;;
deny_action "install_ui";;
esac
done
install_menu

View File

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

View File

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