EmuDeck/functions/dialogBox.sh
Rodrigo 24582eeb74 Revert "== > ="
This reverts commit 28e8adc03d.
2023-11-30 22:39:36 +01:00

81 lines
2.9 KiB
Bash

#!/bin/bash
dialogCLI(){
local HEIGHT=15
local HEIGHT=15
local WIDTH=40
local CHOICE_HEIGHT=4
local BACKTITLE="EmuDeck CLI"
local TITLE="Choose your fate"
local MENU=$1 ; shift
local OPTIONS=( "$@" )
local cliCHOICE
cliCHOICE=$(whiptail --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
echo "$cliCHOICE"
}
function Filebrowser()
{
# first parameter is Menu Title
# second parameter is optional dir path to starting folder
# otherwise current folder is selected
if [ -z $2 ] ; then
dir_list=$(ls -lhp | awk -F ' ' ' { print $9 " " $5 } ')
else
cd "$2"
dir_list=$(ls -lhp | awk -F ' ' ' { print $9 " " $5 } ')
fi
curdir=$(pwd)
if [ "$curdir" == "/" ] ; then # Check if you are at root folder
selection=$(whiptail --title "$1" \
--menu "PgUp/PgDn/Arrow Enter Selects File/Folder\nor Tab Key\n$curdir" 0 0 0 \
--cancel-button Cancel \
--ok-button Select $dir_list 3>&1 1>&2 2>&3)
else # Not Root Dir so show ../ BACK Selection in Menu
selection=$(whiptail --title "$1" \
--menu "PgUp/PgDn/Arrow Enter Selects File/Folder\nor Tab Key\n$curdir" 0 0 0 \
--cancel-button Cancel \
--ok-button Select ../ BACK $dir_list 3>&1 1>&2 2>&3)
fi
RET=$?
if [ $RET -eq 1 ]; then # Check if User Selected Cancel
return 1
elif [ $RET -eq 0 ]; then
if [[ -d "$selection" ]]; then # Check if Directory Selected
Filebrowser "$1" "$selection"
elif [[ -f "$selection" ]]; then # Check if File Selected
if [[ $selection == *$filext ]]; then # Check if selected File has .jpg extension
if (whiptail --title "Confirm Selection" --yesno "DirPath : $curdir\nFileName: $selection" 0 0 \
--yes-button "Confirm" \
--no-button "Retry"); then
filename="$selection"
filepath="$curdir" # Return full filepath and filename as selection variables
else
Filebrowser "$1" "$curdir"
fi
else # Not correct extension so Inform User and restart
whiptail --title "ERROR: File Must have $filext Extension" \
--msgbox "$selection\nYou Must Select a $filext file" 0 0
Filebrowser "$1" "$curdir"
fi
else
# Could not detect a file or folder so Try Again
whiptail --title "ERROR: Selection Error" \
--msgbox "Error Changing to Path $selection" 0 0
Filebrowser "$1" "$curdir"
fi
fi
}