#!/bin/bash
#
###################################################################################################################
#Autor: 		Daniel Meiß-Wilhelm																				  #
#Freigegeben:	Januar 29 2014																					  #
#Distro:		PCLinuxOS 2014																					  #
#Lizenze:		GPL2																							  #
#Benötigt:		yad, gtkdialog, grep, ffmpeg, (Bestehende Internetverbindung) (Optional): mplayer, vlc 			  #							
#Beschreibung:	LXFreeTV ist eine freie Stream Anwendung zum anschauen von diversen Web-Streams.				  #
#				Nutzung erfolgt auf eigene Gefahr, bei Verlust von jeglichen Daten übernimmt der                  #
#				Autor keine Haftung.																			  #
#				Diesen Hinweis bitte nicht enfernen. Danke														  #
#Webseite:		http://www.pclinuxos.com/forum/index.php/topic,124226.0.html									  #
#Danksagung an:	Revoluz, Rogaven, discoverer, Just17, Ken														  #
###################################################################################################################
Encoding=UTF-8
#################### i18n - Internationalization - Internationalisierung ##########################################
export TEXTDOMAIN=lxfreetv.gui
export TEXTDOMAINDIR="/usr/share/locale"
######################### config Verzeichnis erstellen ############################################################
RUN=`ps -e | grep -c tmp_manager`
echo "Instance of TMP-Manager is $RUN"
if [ $RUN -gt 6 ];then
exit 0
fi
CONF_DIR=$HOME/.config/lxfreetv
if [ ! -d $CONF_DIR ]; then
	mkdir $HOME/.config/lxfreetv
	echo "mkdir $HOME/.config/lxfreetv"
fi
############################### Verzeichnis bestimmen für die Aufnahmen ###########################################
if [ $(grep -c "tmp_path" $CONF_DIR/conf.cfg| cut -d " " -f2) -gt 0 ]; then
	TMP_PATH_S=`grep tmp_path $CONF_DIR/conf.cfg | cut -d " " -f2`
	else
	TMP_PATH_S=$"$TMP_DIR1"
# temporäres Verzeichnis erstellen #
	TMP_DIR1=$HOME/tmp/lxfreetv
	if [ ! -d $TMP_DIR1 ]; then
		mkdir $HOME/tmp/lxfreetv
		echo "mkdir $HOME/tmp/lxfreetv"
	fi
fi
################### bevor Dateien gelistet werden, eventuelle alte Dateien entfernen ##############################
rm -r $CONF_DIR/tmp_files > /dev/null 2>&1
####################################### dateien auflisten #########################################################
find $TMP_PATH_S -name "*.mkv" -o -name "*.ts" -o -name "*.flv" | sort -f | while read programm; do echo "$programm" >> $CONF_DIR/tmp_files ; done 
####################################### Einstellungen #############################################################
PLAYER="ffplay "	
echo $PLAYER
################################# benötigte Variablen #############################################################
dirname="$(dirname "$(readlink -e "$0")")"
ABOUT="$dirname"/about
SETTINGS="$dirname"/settings
LXFREETV="$dirname"/lxfreetv.gui
########################################## Hauptfenster ###########################################################
TMP_MANAGER='
<window window_position="1" title="'$"TMP Manager"'" resizable="false" icon-name="lxfreetv" space-fill="true" space-expand="true" skip_taskbar_hint="false" decorated="true" maximize_initially="true" homogeneous="false">
	<vbox space-fill="true" space-expand="true" homogeneous="false">
		<menubar>
			<menu>
				<menuitem icon-name="lxfreetv">
					<label>'$"LXFreeTV"'</label>
					<action>'$LXFREETV' &</action>
				</menuitem>
			<separator></separator>	
				<menuitem stock="gtk-quit">
					<action type="exit">exit by menu</action>
				</menuitem>
				<label>'$"Datei"'</label>
			</menu>
			
			<menu>
				<menuitem stock="gtk-preferences">
					<action>'$SETTINGS' &</action>
				</menuitem>
				<label>'$"Bearbeiten"'</label>
			</menu> 

			<menu>
				<menuitem icon-name="gtk-dialog-info">
					<label>'$"MediaInfo"'</label>
					<action>if [ "$SELECT" ]; then xterm -hold -e mediainfo "$SELECT" ; else yad --text="'$"Es wurde keine Datei ausgewählt!"'" --window-icon=gtk-dialog-info --image=gtk-dialog-info --title=INFO --button="gtk-ok:0" ; fi &</action>
				</menuitem>
				<label>'$"Tool"'</label>
			</menu>

			<menu>
				<menuitem stock="gtk-about">
					<label>'$"Über"'</label>
					<action>'$ABOUT' &</action>
				</menuitem>
				<label>'$"Hilfe"'</label>
			</menu>
		</menubar>
		<frame> 
			<vbox space-fill="true" space-expand="false" homogeneous="false">
				<text use-markup="True" space-expand="false" homogeneous="false">
				<label>"'$"<b>Verwalte deine Aufnahmen</b>
Derzeit belegt das temporäre Verzeichnis <b>`du -d 0 -m $TMP_PATH_S | tr -d "\t" | cut -d "/" -f1` MB</b> "'"</label>
				</text>
			</vbox>
		
			<vbox space-fill="true" space-expand="true" homogeneous="true">   
				<tree rules_hint="true" exported_column="0" selection-mode="3" space-fill="true" space-expand="true" homogeneous="true">
					<width>600</width><height>400</height>
					<variable>SELECT</variable>
					<label>"'$"Gespeicherte Dateien"'"</label>
					<input file>'$CONF_DIR'/tmp_files</input> 
				</tree>  
			</vbox> 
		<hseparator></hseparator>
			<hbox space-fill="true" space-expand="true" homogeneous="true">
				<checkbox>
					<label>'$"Aktiviere eigenen Player"'</label>
					<variable>ENABLE_OWNPLAYER</variable>
					<action>if true enable:OWNPLAYER</action>
				</checkbox>
					<entry>
						<variable>OWNPLAYER</variable>
						<visible>false</visible>
					</entry>
			</hbox>

			<hbox space-fill="true" space-expand="true" homogeneous="true">
				<vbox tooltip-text="'$"Entferne eine oder mehrere Dateien"'">
					<button use-stock="true" label="gtk-delete">
						<action>if [ "$SELECT" ]; then yad --text=$"Sind Sie sicher das Sie \n\n \<b>$SELECT\</b>\n\n aus ihrem Verzeichnis löschen wollen?\n\n \<b>Bedenke:\</b> gelöschte Dateien können nicht wiederhergestellt werden!" --window-icon=gtk-info --image=gtk-info --title=$"Lösche $SELECT" ; if [ $? = 0 ]; then grep -v "$SELECT" '"$CONF_DIR"'/tmp_files > '"$CONF_DIR"'/tmp_files_new ; mv '"$CONF_DIR"'/tmp_files_new '"$CONF_DIR"'/tmp_files ; echo  "$SELECT" | sed "s:\\\n: :g"| parallel rm -rf '"{}"'; fi ; else yad --text="'$"Es wurde keine Datei ausgewählt!"'" --window-icon=gtk-dialog-info --image=gtk-dialog-info --title=INFO --button="gtk-ok:0" ; fi</action>
						<action type="refresh">SELECT</action>
					</button>
				</vbox>
				
				<vbox tooltip-text="'$"Verschiebe eine Aufnahme nach einem beliebigen Ort. Zur Zeit kann leider immer nur eine Datei verschoben werden. Dafür kannst Du diese sofort benennen."'">
					<button>
						<label>"'$"Verschieben"'"</label>
						<input file icon="gtk-save-as"></input>
						<action>if [ "$SELECT" ]; then SAVE=$(yad --file-selection --save --filename="$SELECT" --confirm-overwrite=$"$SELECT existiert bereits, wollen Sie es überschreiben?" --window-icon=gtk-save-as --width=800 --height=600  --file-filter="*.mkv" --title=LXFreeTV) ; if [ $? = 0 ]; then  grep -v "$SELECT" '"$CONF_DIR"'/tmp_files > '"$CONF_DIR"'/tmp_files_new ; mv '"$CONF_DIR"'/tmp_files_new '"$CONF_DIR"'/tmp_files  ; mv "$SELECT" "$SAVE" ; fi ; else  yad --text="'$"Leider kann nur immer eine Datei zur Zeit verschoben werden!"'" --window-icon=gtk-dialog-info --image=gtk-dialog-info --title=INFO --button="gtk-ok:0" ; fi</action>
						<action type="refresh">SELECT</action>							
					</button>
				</vbox>
					
				<vbox>
					<button use-stock="true" label="gtk-media-play">
						<action condition="command_is_true( [ $ENABLE_OWNPLAYER = true ] && echo true)">if [ "$SELECT" ]; then $OWNPLAYER "$SELECT" ; else yad --text="'$"Es wurde keine Datei ausgewählt!"'" --window-icon=gtk-dialog-info --image=gtk-dialog-info --title=INFO --button="gtk-ok:0" ; fi&</action>
						<action condition="command_is_false( [ $ENABLE_OWNPLAYER = false ] && echo false)">if [ "$SELECT" ]; then '$PLAYER' "$SELECT" ; else yad --text="'$"Es wurde keine Datei ausgewählt!"'" --window-icon=gtk-dialog-info --image=gtk-dialog-info --title=INFO --button="gtk-ok:0" ; fi&</action>
					</button>
				</vbox>
           				
				<vbox>
					<button use-stock="true" label="gtk-close"></button>
				</vbox>	
			</hbox>
		</frame>	
	</vbox>
</window>
'
export GUI="`echo "$TMP_MANAGER" | sed -e 's/##.*//'`" 
gtkdialog -p GUI
rm -r $CONF_DIR/tmp_files > /dev/null 2>&1
exit 10

		
