#!/usr/bin/env bash
#winezgui-template-clone
winezgui-template-clone()
{
  HEADER="$(basename ${0}): ${FUNCNAME[0]}"
    
  SOURCE "script-check-variables-loaded-or-not"
  script-check-variables-loaded-or-not
  dbug "I: $(basename ${0}): Launched ${FUNCNAME[0]}"
  SOURCE "winezgui-list-available-templates"
  winezgui-list-available-templates # get SELECTED_TEMPLATE 

  CLONE_TEMPLATE=$(${ZENITY_CMD} --title "Create Prefix Template with ${WINEARCH} arch..." \
                             --text  "Current Arch:${SAVED_WINEARCH}\nName new template:" \
                             --width=500 --entry)

  if [ -z "${CLONE_TEMPLATE}" ]; then #if no name is given use filename
       #${ZENITY_CMD} --info --title="Shortcut... " --text="no Change"
       # return to Game window
       dbug "I: ${HEADER}: Cancelled"
       return 1
  fi
  
  # Check if user entered symbols
  SOURCE "winezgui-check-entry-text"
  winezgui-check-entry-text "${CLONE_TEMPLATE}"
  
  ENTRY_CHECK=$?
  if [ ${ENTRY_CHECK} -eq 1 ]; then
       dbug "I: Script: ${FUNCNAME[0]}: Symbols used in filename, cancelling!"
       return 1
  fi
  
  if [ -d "${TEMPLATES_DIR}/${CLONE_TEMPLATE}" ]; then
       ${ZENITY_CMD} --error --title "${APP_WITH_VER}" \
              --text "Template Directory Already Exists!"
  fi

  # FIXME: Create Function to sanitize file/folder names
  https://www.oreilly.com/library/view/learning-the-bash/1565923472/ch01s09.html
  CLONE_DIR=$(echo "${CLONE_TEMPLATE}"|tr " " "_")

  CLONE_DIR="${TEMPLATES_DIR}/${CLONE_DIR}"
  dbug "I: ${HEADER}: Copying ${SELECTED_TEMPLATE_NAME}"
   (cp -rf "${SELECTED_TEMPLATE}" "${CLONE_DIR}" )| \
     ${ZENITY_CMD}  --progress --pulsate --auto-close --width=500 \
     --title="${APP_WITH_VER} - Create Game Prefix" \
     --text="Copying template <b>${TEMPLATE_NAME}</b> to <b>${SELECTED_TEMPLATE_NAME}!</b>"
}