#!/usr/bin/env bash
script-open-other-exe()
{
  dbug "I: Script: Launched ${FUNCNAME[0]}"
  
  SOURCE "script-check-variables-loaded-or-not"
  script-check-variables-loaded-or-not
  unset SELECTED_OTHER_EXE

  # For Zenity 4
  ZENITY_VERSION=$(${ZENITY_CMD} --version|cut -f1 -d ".")
  if [ "${ZENITY_VERSION}" -eq 4 ]; then
       WINDOW_HEIGHT=500
       WINDOW_WIDTH=500
  else
       WINDOW_HEIGHT=240
       WINDOW_WIDTH=360
  fi

  if [ -z "${1}" ]; then
       dbug "I: Script: ${FUNCNAME[0]}:... Selected!"
       SELECTED_OTHER_EXE=$(${ZENITY_CMD} --list \
                         --title "Open Other EXE for ${PREFIXNAME}" \
                         --width=${WINDOW_WIDTH}     \
                         --height=${WINDOW_HEIGHT}   \
                         --radiolist --column " "                     \
                         --column "Change"                            \
                             TRUE "Installed Exe (after Setup)"       \
                             0    "Any other Exe"           \
                         --text   "<b>Other exe from...</b>" )
  else
       SELECTED_OTHER_EXE="${1}"
       OTHER_EXE="${1}"
  fi
  # If Cancel is clicked
  if [ -z "${SELECTED_OTHER_EXE}" ]; then
       dbug "I: Change Exe: Cancelled!"
       Script_Window
  fi


  # Print response
  dbug "I: Script: ${FUNCNAME[0]}: ${SELECTED_OTHER_EXE} Selected!"

  # If only name, append (wine-xx)
  if   [ "${SELECTED_OTHER_EXE}" = "Installed Exe (after Setup)" ]; then
         # Call script-get-selected-exe
         SOURCE "script-get-selected-exe"
         script-get-selected-exe
         OTHER_EXE="${SELECTED_EXE}"
         dbug "I: Script: ${FUNCNAME[0]}: ${SELECTED_EXE} Selected!"
  elif [ "$SELECTED_OTHER_EXE" = "Any other Exe" ]; then
         # Open Any Other Exe
         OTHER_EXE="$(${ZENITY_CMD} --file-filter="*.exe *.msi" \
                             --file-selection            \
                             --title="Select a File")"

       # If no exe is selected
       if [ -z "${OTHER_EXE}" ]; then
            dbug "I: Script: ${FUNCNAME[0]}: Cancelled!"
            #unset SELECTION ; # Empty variable
            Script_Window    ; # Go back to Game Window
       fi

          BASE_SELECTED_EXE=$(basename "${OTHER_EXE}")
          SELECTED_EXE="${OTHER_EXE}"
          unset TITLE TEXT
          TITLE="Include ${BASE_SELECTED_EXE} in ${PREFIXNAME}?"
          TEXT+="Create ${BASE_SELECTED_EXE} script to be used with ${PREFIXNAME}?"
          ${ZENITY_CMD} --question --title="${TITLE}" --text="${TEXT}"
          ANSWER=$?
          if [ $ANSWER -eq 0 ]; then
               SOURCE "script-create-other-shortcuts"
               script-create-other-shortcuts &
          fi
  fi
  
  # If another exe is selected
  dbug "I: Script: ${FUNCNAME[0]}: ${OTHER_EXE} selected"
  base=$(basename "${OTHER_EXE}")
  dire=$(dirname "${OTHER_EXE}")

  # Launch other EXE
  cd "$dire"
  dbug "I: Script: ${FUNCNAME[0]}: Launching \"${base}\""
  ${WINE_CMD} "$base"
  dbug "I: Script: Open Other EXE... Finished!"

  SOURCE "winezgui-remove-wine-created-shortcuts"
  winezgui-remove-wine-created-shortcuts
  SOURCE "script-find-installed-exe"
  script-find-installed-exe
  unset TITLE TEXT
}
