#!/bin/bash

#
# KDE specific MX Tour for MX Linux 21
#

# set some stuff up
KEY=$(( ($$ * $RANDOM) % 2**15))

# set to run dir if images and text exists
[[ ${0%%/*} == . ]] && [[ -d text   ]] && TXTDIR=./text
[[ ${0%%/*} == . ]] && [[ -d images ]] && IMGDIR=./images

: ${TXTDIR:=/usr/share/mx-tour/text}
: ${IMGDIR:=/usr/share/mx-tour/images}

WINDOW_ICON=/usr/share/icons/hicolor/scalable/apps/mx-tour.svg
WINDOW_CLASS=mx-tour
WINDOW_WIDTH=950
WINDOW_HEIGHT=708

# l10n
export TEXTDOMAIN=mx-tour
export TEXTDOMAINDIR=/usr/share/locale
#. gettext.sh

        TITLE=$(gettext "MX Tour (KDE)")
        INTRO=$(gettext "Intro")
        PANEL=$(gettext "Panel")
      TASK_MANAGER=$(gettext "Task Manager")
      SYS_TRAY=$(gettext "System Tray")
        CONKY=$(gettext "Conky")
     MX_TOOLS=$(gettext "MX Tools")
   MX_WELCOME=$(gettext "MX Welcome")
     MX_TWEAK=$(gettext "MX Tweak")
 INSTALL_APPS=$(gettext "Install Apps")
      UPDATING=$(gettext "Updating")
  MX_SNAPSHOT=$(gettext "MX Snapshot")
    TIMESHIFT=$(gettext "Timeshift")
  SYSTEM_INFO=$(gettext "System Info")
     GET_HELP=$(gettext "Get Help")
 KDE_MENU=$(gettext "Main Menu")
 DISCOVER=$(gettext "Discover")
      WELCOME=$(gettext "WELCOME TO THE MX LINUX TOUR")

     HELPTEXT=$(gettext "Below are some available resources to get help")

        CLOSE=$(gettext gtk30 "_Close")
         NEXT=$(gettext gtk30 "_Next")
     PREVIOUS=$(gettext gtk30 "_Previous")


# some functions
pushtext(){  # push text file into var
    local file=${1} var=${2}
    : ${file:=-}
    IFS='' read -r -d '' ${var} < <( eval cat "${file}") || true
}
# push texfiles into bash var's , where varname corresponds to filename 
for F in ${TXTDIR}/*; do
    [[ -f ${F}      ]] || continue     # only files
    
    N=${F##*/}   # basename
    N=${N//-/_}  # replace hyphens with underline
    [[ -z ${N##*.*} ]] && continue  # ignore any backup files with dot
    [[ -z ${N##*~}  ]] && continue  # ignore any backup files with ~

    declare -n nameref=$N
    pushtext "$F" $N
	nameref=$(gettext "$nameref")
done

TEXT_INFO="--text-info --wrap --margins=5"

# Intro tab
yad --plug=$KEY --tabnum=1      \
    --image=${IMGDIR}/kde_tour_intro.png    \
    --image-on-top  \
    $TEXT_INFO <<<$kde_tour_intro &

# KDE Panel tab
yad --plug=$KEY --tabnum=2         \
    --image=${IMGDIR}/kde_panel.png    \
    --image-on-top         \
    $TEXT_INFO <<<$kde_panel &

# KDE Main Menu tab
yad --plug=$KEY --tabnum=3             \
    --image=${IMGDIR}/kde_menu.png \
    $TEXT_INFO <<<$kde_menu &

# Conky tab
yad --plug=$KEY --tabnum=4      \
    --image=${IMGDIR}/conky.png \
    --image-on-top              \
    $TEXT_INFO <<<$conky &

# MX Tools tab
yad --plug=$KEY --tabnum=5         \
    --image=${IMGDIR}/mx_tools.png \
    --image-on-top                 \
    $TEXT_INFO <<<$mx_tools &

# MX Welcome tab
yad --plug=$KEY --tabnum=6           \
    --image=${IMGDIR}/mx_welcome.png \
    --image-on-top                   \
    $TEXT_INFO <<<$mx_welcome &

# MX Tweak tab
yad --plug=$KEY --tabnum=7         \
    --image=${IMGDIR}/kde_tweak.png \
    --image-on-top                 \
    $TEXT_INFO <<<$kde_tweak &

# Install Apps tab
yad --plug=$KEY --tabnum=8     \
    --image=${IMGDIR}/mxpi.png \
    --image-on-top             \
    $TEXT_INFO <<<$mxpi &

# Discover Apps tab
yad --plug=$KEY --tabnum=9     \
    --image=${IMGDIR}/discover.png \
    --image-on-top             \
    $TEXT_INFO <<<$discover &

# Discover Updates tab
yad --plug=$KEY --tabnum=10          \
    --image=${IMGDIR}/kde_update.png \
    --image-on-top                   \
    $TEXT_INFO <<<$kde_update &

# MX Snapshot tab
yad --plug=$KEY --tabnum=11           \
    --image=${IMGDIR}/mx_snapshot.png \
    --image-on-top                    \
    $TEXT_INFO <<<$mx_snapshot &

# Timeshift tab
yad --plug=$KEY --tabnum=12         \
    --image=${IMGDIR}/timeshift.png \
    --image-on-top                  \
    $TEXT_INFO <<<$timeshift &

# QSI tab
yad --plug=$KEY --tabnum=13   \
    --image=${IMGDIR}/qsi.png \
    --image-on-top            \
    $TEXT_INFO <<<$qsi &

# Get Help tab
    yad --plug=$KEY --tabnum=14 \
    --image=help-browser        \
    --text="$GET_HELP"          \
    --text="<b>$HELPTEXT</b>" --text-align=center \
    yad --icons --read-dir=/usr/share/mx-tour/desktop-files/ --single-click --monitor --icon-size=64 --item-width=96 &

# main dialog
MAIN=(
    yad
    --notebook
    --title="$TITLE"
    --window-icon="$WINDOW_ICON"
    --class="$WINDOW_CLASS"
    --width=$WINDOW_WIDTH
    --height=$WINDOW_HEIGHT
    --no-buttons
    --fixed
    --center
    --stack
#   --button="$CLOSE"
#   --button="$PREVIOUS"
#   --button="$NEXT"
    --key=$KEY
    --tab-pos=left
    --tab="$INTRO"
    --tab="$PANEL"
    --tab="$KDE_MENU"
    --tab="$CONKY"
    --tab="$MX_TOOLS"
    --tab="$MX_WELCOME"
    --tab="$MX_TWEAK"
    --tab="$INSTALL_APPS"
    --tab="$DISCOVER"
    --tab="$UPDATING"
    --tab="$MX_SNAPSHOT"
    --tab="$TIMESHIFT"
    --tab="$SYSTEM_INFO"
    --tab="$GET_HELP"
    --active-tab=${1:-1}
    )

"${MAIN[@]}"

exit 0
