#!/usr/bin/env bash
#winezgui-recreate-prefix-scripts
winezgui-recreate-prefix-scripts()
{
  
  ### Get Prefixdir name
  dbug "I: $(basename ${0}): Launched ${FUNCNAME[0]}"
  
    SOURCE "script-check-variables-loaded-or-not"
  script-check-variables-loaded-or-not

  echo "APPVERSION = $APPVERSION"


  
  
  if [ -z "$SKIP_ASK" ]; then
      SOURCE "winezgui-list-available-prefixes"
      winezgui-list-available-prefixes
      PREFIXNAME=$(basename ${SELECTED_PREFIX})

      ${ZENITY_CMD} --question --title="Recreate All Scripts for ${PREFIXNAME}?" --text="This will overwrite all shell scripts associated with this prefix!"
      ANSWER=$?
  else
      PREFIXNAME=$(basename ${SELECTED_PREFIX})
      ANSWER=0
  fi

  if [ ${ANSWER} -eq 1 ]; then
       echo "Cancelled"
       return 1
  fi

   echo "------------------------------winezgui-recreate-prefix-scripts-----------------------"
 export PREFIXDIR=${SELECTED_PREFIX}
 echo "${PREFIXDIR} = ${SELECTED_PREFIX}"
 #find ${PREFIXDIR} -maxdepth 1 -iname "*.sh" -type f -print
 # Do not recreate _other.sh (smaller scripts)
 SAVEIFS=${IFS}
 IFS=$(echo -en "\n\b")
 search_list=$(find "${PREFIXDIR}" -maxdepth 1 -iname "*.sh" -type f -print \
                2>/dev/null| sed "/_other.sh/d"| tr '\n' '|')
  exe_found=$(echo ${search_list})
  
  if [ -z "${exe_found}" ] ; then
       ${ZENITY_CMD} --error --title "${APP_WITH_VER} - Prefix!" \
              --text "Cannot find Scriptfile for the Prefix directory!\n${PREFIXDIR}"
  fi
  # if exe_found has value, then only change exe
  for i in $(echo ${search_list}|tr '|' '\n'|sort)
  do
     PROGNAME=$(grep -i "export PROGNAME=" ${i}|cut -f2 -d "="|sed 's/"//g')
     export PROGNAME
     CHECKSUM=$(grep -i "export CHECKSUM=" ${i}|cut -f2 -d "="|sed 's/"//g')
     EXE_IN_SCRIPTFILE=$(grep -i "export EXE_FILE=" ${i}|cut -f2 -d "="|sed 's/"//g')
     echo "Found EXE= ${EXE_IN_SCRIPTFILE}"
     # rename .desktop and script file to .bak
     DESKTOP_FILE="$(echo "${i}"|sed "s/\.sh//g").desktop"
     APP_CATEGORY=$(grep "Categories=" "${DESKTOP_FILE}"|cut -f2 -d "="|sed "s/;$//g")
     echo "DESKTOP_FILE = $DESKTOP_FILE"
     export APP_CATEGORY
     mv -v "${DESKTOP_FILE}" "${DESKTOP_FILE}.bak"
     mv -v "${i}" "${i}.bak"
     
     ${DATADIR}/winezgui-recreate-prefix-script "${EXE_IN_SCRIPTFILE}"
     
  done
  IFS=${SAVEIFS}
  
  # Clean up broken shortcuts and update shortcuts menu
  SOURCE "winezgui-remove-broken-links"
  winezgui-remove-broken-links
  
  # Inform and offer to Launch
    if [ -z "$SKIP_ASK" ]; then
         ${ZENITY_CMD} --info --title="Re-created Scripts for ${PREFIXNAME}" \
         --text="Updated scripts to $APP_WITH_VER version, Please launch from menu."
    fi

}
