script: Move functions

hove print_kiauh_version and kiauh_update_dialog to general_ui and functions

main_menu performance improvements
This commit is contained in:
Yifei Ding
2021-11-12 14:44:05 -08:00
parent 980f6d5ddd
commit 90208f6480
4 changed files with 80 additions and 50 deletions

View File

@@ -1,67 +1,43 @@
#!/bin/bash
print_kiauh_version() {
cd ${SRCDIR}/kiauh
KIAUH_VER=$(git describe HEAD --always --tags | cut -d "-" -f 1,2)
KIAUH_VER="$(printf "%-20s" "$KIAUH_VER")"
}
#######################################
# description Advise user to update KIAUH
# Globals:
# KIAUH_WHIPTAIL_NORMAL_HEIGHT
# KIAUH_WHIPTAIL_NORMAL_WIDTH
# RET
# Arguments:
# None
#######################################
kiauh_update_dialog() {
whiptail --title "New KIAUH update available!" \
--yesno \
"View Changelog: https://git.io/JnmlX
It is recommended to keep KIAUH up to date. Updates usually contain bugfixes, \
important changes or new features. Please consider updating!
Do you want to update now?" \
"$KIAUH_WHIPTAIL_NORMAL_HEIGHT" "$KIAUH_WHIPTAIL_NORMAL_WIDTH"
local out=$?
if [ $out -eq 0 ]; then
do_action "update_kiauh"
else
deny_action "kiauh_update_dialog"
fi
}
main_menu() {
#print KIAUH update msg if update available
local menu_options=(
"1" "Install"\
"2" "Update"\
"3" "Remove"\
"4" "Advanced Settings"\
"5" "Backup"\
"6" "Settings"\
"7" "Upload Log"\
"8" "Service")
if [ "$KIAUH_UPDATE_AVAIL" = "true" ]; then
kiauh_update_dialog
fi
#check install status
print_kiauh_version
klipper_status
moonraker_status
dwc2_status
fluidd_status
mainsail_status
octoprint_status
klipperscreen_status
MoonrakerTelegramBot_status
print_branch
print_msg && clear_msg
while true; do
while true; do
#check install status
print_kiauh_version
klipper_status
moonraker_status
dwc2_status
fluidd_status
mainsail_status
octoprint_status
klipperscreen_status
MoonrakerTelegramBot_status
print_branch
print_msg && clear_msg
local menu_str="Klipper: $KLIPPER_STATUS Branch: $PRINT_BRANCH\n
Moonraker: $MOONRAKER_STATUS\n
Mainsail: $MAINSAIL_STATUS Fluidd: $FLUIDD_STATUS
KlipperScreen: $KLIPPERSCREEN_STATUS Telegram Bot: $MOONRAKER_TELEGRAM_BOT_STATUS
DWC2: $DWC2_STATUS OctoPrint: $OCTOPRINT_STATUS"
local menu_choices=("1" "Install" "2" "Update" "3" "Remove" "4" "Advanced Settings" "5" "Backup" "6" "Settings" "7" "Upload Log" "8" "Service")
local menu
menu=$(whiptail --title "$KIAUH_TITLE $KIAUH_VER" --cancel-button "Finish" --notags --menu "$menu_str\n\nChoose an option:" \
"$KIAUH_WHIPTAIL_NORMAL_HEIGHT" "$KIAUH_WHIPTAIL_NORMAL_WIDTH" 8 "${menu_choices[@]}" 3>&1 1>&2 2>&3)
"$KIAUH_WHIPTAIL_NORMAL_HEIGHT" "$KIAUH_WHIPTAIL_NORMAL_WIDTH" 8 "${menu_options[@]}" 3>&1 1>&2 2>&3)
local out=$?
if [ $out -eq 1 ]; then
break