#!/usr/bin/env bash

# dialog/progress variables
export local showdialog="yad --title "sisyphus" --text-info --width 800 --height 600 --center --no-buttons --on-top --sticky --fixed --skip-taskbar --listen --tail &"
export local showprogress="yad --title "sisyphus" --progress --pulsate --width 800 --center --no-buttons --on-top --sticky --fixed --undecorated --skip-taskbar  --auto-close &"

# accesories category ui function
export local accesoriesui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
<frame Accesories>
	<hbox space-expand="true" space-extend="true">
		<table hscrollbar-policy="1" vscrollbar-policy="1" exported-column="1">
			<variable>accesories</variable>
			<label>Application Category|Application Name|Application Description</label>
			<item>app-admin|keepassx|Qt password manager compatible with its Win32 and Pocket PC versions</item>
		</table>
	</hbox>
	<hbox space-expand="false" space-extend="false">
		<button space-expand="true" space-extend="true" label-text="install">
			<label>Install package</label>
			<action>epkg autoinstall $accesories|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="uninstall">
			<label>Uninstall package</label>
			<action>epkg autoremove $accesories|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="home">
			<label>Back home</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=mainui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="exit">
			<label>Exit</label>
			<action>EXIT:ok</action>
		</button>
	</hbox>
</frame>
</vbox>
</window>'

# games category ui function
export local gamesui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
<frame Games>
	<hbox space-expand="true" space-extend="true">
		<table hscrollbar-policy="1" vscrollbar-policy="1" exported-column="1">
			<variable>game</variable>
			<label>Application Category|Application Name|Application Description</label>
			<item>app-emulation|steam|Digital distribution client bootstrap package</item>
			<item>games-action|armagetronad|A Tron Clone in 3D</item>
			<item>games-action|chromium-bsu|A fast paced top scrolling shooter</item>
			<item>games-action|supertuxkart|Kart racing game featuring Tux and his friends</item>
			<item>games-action|teeworlds|Fast-paced multiplayer 2D shooter game</item>
			<item>games-board|aisleriot|A collection of patience games written in guile scheme</item>
			<item>games-fps|urbanterror|A team-based tactical shooter based on the Quake 3 Engine</item>
			<item>games-fps|xonotic|Fork of Nexuiz, Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine</item>
			<item>games-simulation|openttd|An engine for running Transport Tycoon Deluxe</item>
			<item>games-strategy|0ad|Cross-platform, 3D and historically-based real-time strategy game</item>
		</table>
	</hbox>
	<hbox space-expand="false" space-extend="false">
		<button space-expand="true" space-extend="true" label-text="install">
			<label>Install package</label>
			<action>epkg autoinstall $game|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="uninstall">
			<label>Uninstall package</label>
			<action>epkg autoremove $game|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="home">
			<label>Back home</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=mainui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="exit">
			<label>Exit</label>
			<action>EXIT:ok</action>
		</button>
	</hbox>
</frame>
</vbox>
</window>'

# graphics category ui function
export local graphicsui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
</vbox>
</window>'

# internet category ui function
export local internetui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
</vbox>
</window>'

# multimedia category ui function
export local multimediaui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
<frame Multimedia>
	<hbox space-expand="true" space-extend="true">
		<table hscrollbar-policy="1" vscrollbar-policy="1" exported-column="1">
			<variable>multimedia</variable>
			<label>Application Category|Application Name|Application Description</label>
			<item>media-tv|tv-maxe|Program to view free channels</item>
		</table>
	</hbox>
	<hbox space-expand="false" space-extend="false">
		<button space-expand="true" space-extend="true" label-text="install">
			<label>Install package</label>
			<action>epkg autoinstall $multimedia|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="uninstall">
			<label>Uninstall package</label>
			<action>epkg autoremove $multimedia|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="home">
		<label>Back home</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=mainui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="exit">
			<label>Exit</label>
			<action>EXIT:ok</action>
		</button>
	</hbox>
</frame>

</vbox>
</window>'

# office category ui function
export local officeui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
<frame Office>
	<hbox space-expand="true" space-extend="true">
		<table hscrollbar-policy="1" vscrollbar-policy="1" exported-column="1">
			<variable>office</variable>
			<label>Application Category|Application Name|Application Description</label>
			<item>app-office|abiword|Fully featured yet light and fast cross platform word processor documentation</item>
			<item>app-office|fet|Opensource school/high-school/university timetable scheduling software</item>
			<item>app-office|gnucash|A personal finance manager</item>
			<item>app-office|libreoffice|A full office productivity suite</item>
			<item>app-office|wps-office|WPS Office is an office productivity suite</item>
			<item>app-text|qpdfview|A tabbed document viewer</item>
		</table>
	</hbox>
	<hbox space-expand="false" space-extend="false">
		<button space-expand="true" space-extend="true" label-text="install">
			<label>Install package</label>
			<action>epkg autoinstall $office|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="uninstall">
			<label>Uninstall package</label>
			<action>epkg autoremove $office|$showdialog</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="home">
			<label>Back home</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=mainui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button space-expand="true" space-extend="true" label-text="exit">
			<label>Exit</label>
			<action>EXIT:ok</action>
		</button>
	</hbox>
</frame>
</vbox>
</window>'

# system category ui function
export local systemui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
</vbox>
</window>'

# main ui function
export local mainui='
<window title="Sisyphus - A simple Epkg GUI" window-position="1" icon-name="gtk-search" modal="true" resizable="false" width-request="800" height-request="600">
<vbox>
<frame Manage packages by name>
	<hbox>
		<text>
			<label>Enter package(s)</label>
		</text>
		<entry>
			<variable>pkgname</variable>
		</entry>
	</hbox>
	<hbox>
		<button tooltip-text="Search for package(s)">
			<label>Search package(s)</label>
			<action>epkg search $pkgname | $showdialog</action>
		</button>
		<button tooltip-text="Install new package(s) (no confirmation)">
			<label>Install package(s)</label>
			<action>epkg autoinstall $pkgname | $showdialog</action>
		</button>
		<button tooltip-text="Uninstall package(s) safely (no confirmation)">
			<label>Remove package(s)</label>
			<action>epkg autoremove $pkgname | $showdialog</action>
		</button>
		<button tooltip-text="Upgrade system (no confirmation)">
			<label>Upgrade System</label>
			<action>epkg autoupgrade | $showdialog</action>
		</button>
		<button tooltip-text="Remove orphan packages(s) aka no longer needed (no confirmation)">
			<label>Remove orphan package(s)</label>
			<action>epkg autoclean | $showdialog</action>
		</button>
	</hbox>
</frame>
<frame Browse packages by category>
	<hbox>
		<button tooltip-text="Accesories">
			<label>Accesories</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=accesoriesui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button tooltip-text="Games">
			<label>Games</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=gamesui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button tooltip-text="Graphics">
			<label>Graphics</label>
		</button>
		<button tooltip-text="Internet">
			<label>Internet</label>
		</button>	
	</hbox>
	<hbox>
		<button tooltip-text="Sound & Video">
			<label>Sound & Video</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=multimediaui &</action>
			<action signal="button-release-event">EXI:ok</action>
		</button>
		<button tooltip-text="Office">
			<label>Office</label>
			<action signal="button-press-event">gtkdialog --space-expand=true --space-fill=true --program=officeui &</action>
			<action signal="button-release-event">EXIT:ok</action>
		</button>
		<button tooltip-text="System Tools">
			<label>System Tools</label>
		</button>
	</hbox>
</frame>
<frame Terminal Emulator>
	<hbox>
		<terminal argv0="/bin/bash">
			<variable>vte1</variable>
			<input>echo epkg</input>
		</terminal>
	</hbox>
</frame>
</vbox>
</window>
'