#!/bin/ash
#Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html)
# 10dec2013 shinobar: dotpup1, gtkdialog

export TEXTDOMAINDIR=/usr/share/locale
export TEXTDOMAIN=dotpup

#how do i called
MYOPT=$1
if [ "$MYOPT" ]; then
  MYOPT=$(echo $MYOPT | tr -dc '0-9')
else
  . /etc/DISTRO_SPECS

  case "$DISTRO_TARGETARCH" in
  # the installer is x86-specific
  x86*) MYOPT=$(basename $0) ;;
  *) MYOPT=2 ;;
  esac
fi

which quickpet >/dev/null 2>&1 && HASQUICKPET="yes" || HASQUICKPET=""

install_button() { #text1 text2 action icon
  echo '
  <hbox>
    <vbox homogeneous="true">
      <vbox>
        <text use-markup="true" xalign="1"><label>"<b>'${1}'</b>"</label></text>
        <text xalign="1"><label>'${2}'</label></text>
      </vbox>
    </vbox>
    <button>
      '`/usr/lib/gtkdialog/xml_button-icon $4 huge`'
      <action>'"${3}"'</action>
      <action>EXIT:13</action>
    </button>
  </hbox>
  '
}

if type frugalpup 1>/dev/null 2>&1 ; then
	FRUGALPUP_BUTTON=$(install_button \
		"$(gettext "Frugalpup - Install/manage installs")" \
		"$(gettext "Recommended option")" \
		'frugalpup &' puppy_install.svg)
fi

BOOTFLASHBUTTON=$(install_button \
	"$(gettext "BootFlash")" \
	"$(gettext "Quickly create a bootable usb flash drive")" \
	'bootflash &' flashcard_usb.svg )

if [ -d /usr/share/g4dos -o -f /usr/local/frugalpup/grub4dos.tar.xz -o -f /usr/lib/grub4dos/grldr ] ; then
	FULLINSTALLBUTTON=$(install_button \
	"$(gettext "Installer")" \
	"$(gettext "Currently doesn't support UEFI")" \
	'puppyinstaller &' puppy_install.svg)
fi

if [ -e /dev/sr0 ] && [ -x /usr/bin/cdrecord -o -x /usr/bin/xorriso ] ; then
	BURNISOBUTTON=$(install_button \
	"$(gettext "Burn ISO to CD/DVD")" \
	"$(gettext "Burn ISO to CD/DVD")" \
	'burniso2cd &' cd_burn.svg)
fi

#make dialog

PUPFRAME=""
if ! [ "$MYOPT" = "2" ] ; then
	PUPFRAME='
<frame '$(gettext 'Install to some other media')'>
  <hbox space-expand="false" space-fill="true">
  '"`/usr/lib/gtkdialog/xml_info 0 puppy_install.svg 50 "$(gettext "To install Puppy to a removable media, such as a USB drive, <b>please insert it right now</b>, before proceeding.")"`"' 
  </hbox>
  <vbox margin="5" space-expand="true" space-fill="true">
    <vbox space-expand="false" space-fill="false">
      '$FRUGALPUP_BUTTON'
      '$BOOTFLASHBUTTON'
      '$FULLINSTALLBUTTON'
      '$BURNISOBUTTON'
    </vbox>
  </vbox>
</frame>'
fi
 
APPFRAME=""
if ! [ "$MYOPT" = "1" ] ; then
	SYNAPTICBUTTON=
	command -v synaptic > /dev/null && SYNAPTICBUTTON=$(install_button \
	"$(gettext 'Synaptic Package Manager')" \
	"$(gettext 'Install (and uninstall) packages from online repositories.')" \
	'synaptic &' package_pet.svg
	)
	PPMBUTTON=$(install_button \
	"$(gettext 'Puppy Package Manager')" \
	"$(gettext 'Install (and uninstall) packages from online repositories. Puppy packages are known as .PET packages.')" \
	'/usr/local/petget/pkg_chooser.sh &' package_pet.svg
	)
#	SFSGETBUTTON=$(install_button \
#	"$(gettext 'Choose an SFS file from the official repo')" \
#	"$(gettext 'SFS files are application combo-packs, very easy to install and uninstall.')" \
#	'sfsget &' package_sfs.svg
#	)
	SFSBUTTON=$(install_button \
	"$(gettext 'Load and unload SFS packages')" \
	"$(gettext 'Load and unload SFS packages with SFS-load')" \
	'sfs_load &' package_sfs.svg
	)
	APPFRAME='
<frame '$(gettext 'Install applications in the current Puppy')'>
  '"`/usr/lib/gtkdialog/xml_info fixed package_add.svg 50 "$(gettext "These are the available options to install applications...")" ""`"'
  <vbox margin="5" space-expand="true" space-fill="true">
    <vbox space-expand="false" space-fill="false">
    '$SYNAPTICBUTTON'
    '$PPMBUTTON'
    '$SFSGETBUTTON'
    '$SFSBUTTON'
    </vbox>
  </vbox>
</frame>'
fi

if [ "$PUPFRAME" ] && [ "$APPFRAME" ]; then
	export Puppy_Install='
	<window title="'$(gettext 'Install')'" icon-name="gtk-preferences">
	<vbox>
	  <notebook labels="'$(gettext 'Install Puppy')'|'$(gettext 'Install applications')'" space-expand="true" space-fill="true">
	    <vbox>
	      '$PUPFRAME'
	    </vbox>
	    <vbox>
	      '$APPFRAME'
	    </vbox>
	  </notebook>
	  <hbox space-expand="false" space-fill="false">
	    <button>
	      '"`/usr/lib/gtkdialog/xml_button-icon quit`"'
	      <label>'$(gettext 'Quit')'</label>
	    </button>
	  </hbox>
	</vbox>
	</window>'
else
	export Puppy_Install='
	<window title="'$(gettext 'Install')'" icon-name="gtk-preferences">
	<vbox>
	  '$PUPFRAME'
	  '$APPFRAME'
	  <hbox space-expand="false" space-fill="false">
          <button space-expand="false" space-fill="false">
          '"`/usr/lib/gtkdialog/xml_button-icon help`"'
          <label>'$(gettext 'Installation introduction webpage')'</label>
             <action>defaultbrowser file:///usr/share/doc/installation.htm & </action>
          </button>
          <text space-expand="true" space-fill="true"><label>""</label></text>
	    <button>
	      '"`/usr/lib/gtkdialog/xml_button-icon quit`"'
	      <label>'$(gettext 'Quit')'</label>
	    </button>
	  </hbox>
	</vbox>
	</window>'
fi

. /usr/lib/gtkdialog/xml_info gtk #build bg_pixmap for gtk-theme
#echo "$Puppy_Install" > /tmp/dotpup.xml #debug
gtkdialog --center -p Puppy_Install --styles=/tmp/gtkrc_xml_info.css

###END###
