#!/bin/bash

# Création des répertoires s'ils n'existent pas :
function crearepcouleur()
{
	mkdir -p ${HOME}/.local/share/gtksourceview-2.0/language-specs
	mkdir -p ${HOME}/.local/share/mime/packages
	
	return 0
}

function crearepcompil()
{
	mkdir -p ${HOME}/.gnome2/gedit/tools
	
	return 0
}

# Récupération des fichiers
function recupfichiers()
{
mkdir -p ${HOME}/tmpgeditasy
cd ${HOME}/tmpgeditasy

echo "  - téléchargement en cours"
	( wget http://www.cgmaths.fr/cgFiles/AsyGedit/Script/asygedit.tar.gz 2>&1 | sed -u "s|.*\ \([0-9]\+%\)\ \+\([0-9.]\+\ [KMB\/s]\+\)$|\1\n# Téléchargement des fichiers : \2|"  | zenity --progress --width=450 --title="Téléchargement en cours" --auto-close )
echo "  - téléchargement terminé"
tar -zxvf asygedit.tar.gz
}

# Installation coloration syntaxique
function installcouleur()
{
upd=0
crearepcouleur
cd ${HOME}/tmpgeditasy

if [ -f ${HOME}/.local/share/gtksourceview-2.0/language-specs/asy.lang ]; then
	if zenity --question \
		--text="Un fichier de coloration syntaxique pour asymptote (asy.lang) existe déjà dans
~/.local/share/gtksourceview-2.0/language-specs/

Voulez-vous continuer (le fichier sera écrasé) ?"
	then	cp asy.lang ${HOME}/.local/share/gtksourceview-2.0/language-specs/asy.lang
			upd=1
	fi
else
	cp asy.lang ${HOME}/.local/share/gtksourceview-2.0/language-specs/asy.lang
	upd=1
fi

if [ -f ${HOME}/.local/share/mime/packages/asymptote.xml ]; then
	if zenity --question \
		--text="Un fichier asymptote.xml existe déjà dans
~/.local/share/mime/packages/

Voulez-vous continuer (le fichier sera écrasé) ?"
	then	cp asymptote.xml ${HOME}/.local/share/mime/packages/asymptote.xml
			upd=1
	fi
else
	cp asymptote.xml ${HOME}/.local/share/mime/packages/asymptote.xml
	upd=1
fi

if (( $upd==1 ))
	then
		cd ${HOME}/.local/share
		update-mime-database mime
fi
}


function installcouleurlatex()
{
crearepcouleur
cd ${HOME}/tmpgeditasy

if [ -f ${HOME}/.local/share/gtksourceview-2.0/language-specs/latex.lang ]; then
	if zenity --question \
		--text="Un fichier de coloration syntaxique pour LaTeX (latex.lang) existe déjà dans
~/.local/share/gtksourceview-2.0/language-specs/

Voulez-vous continuer (le fichier sera écrasé, vous devriez le sauvegarder) ?"
	then	cp latex.lang ${HOME}/.local/share/gtksourceview-2.0/language-specs/latex.lang
	fi
else
	cp latex.lang ${HOME}/.local/share/gtksourceview-2.0/language-specs/latex.lang
fi
}


# Installation des outils de compilation
function installoutils()
{
crearepcompil
cd ${HOME}/tmpgeditasy

cp cg-* ${HOME}/.gnome2/gedit/tools/
cd ${HOME}/.gnome2/gedit/tools
chmod u=rwx cg-*
}


function installoutilslatex()
{
crearepcompil
cd ${HOME}/tmpgeditasy

cp dlf-* ${HOME}/.gnome2/gedit/tools/
cd ${HOME}/.gnome2/gedit/tools
chmod u=rwx dlf-*
}

# Suppression des fichiers
function nettfichiers()
{
rm -R ${HOME}/tmpgeditasy
}

########## Programme Principal ############

Choix=$(zenity --list --checklist --width=540 --height=220  \
    --title="Installation des fichiers pour gedit" \
    --text="Que voulez-vous installer ?"\
	--column="" --column="" \
	--column="Outils" \
	--separator="   " \
	--hide-column=2 \
    TRUE choix1 "Installer la coloration syntaxique pour asymptote dans un fichier .asy" \
    TRUE choix2 "Installer la coloration syntaxique pour asymptote dans un fichier .tex" \
    TRUE choix3 "Installer les outils de compilation asymptote" \
    FALSE choix4 "Installer les outils de compilation LaTeX (outils de Denis LE FUR)")

if [ "$Choix" ]; then
		
	recupfichiers

	for install in $Choix
		do
                    
			case $install in
      
		        "choix1")
		        installcouleur
		      ;;

		        "choix2")
		        installcouleurlatex
		      ;;

		        "choix3")
		        installoutils
		      ;;
		        "choix4")
		        installoutilslatex
		      ;;

			esac
		done

FILE=Lisez_moi.txt
zenity --text-info --width=600 --height=350 \
  --title=$FILE \
  --filename=$FILE \

if zenity --question \
	--text="Un dossier tmpgeditasy a été créé dans votre répertoire local avec tous les fichiers d'installation ainsi qu'un fichier Lisez_moi.txt.
Il contient également un dossier Snippets pour l'utilisation des Extraits de Code avec son Lisez_moi.txt.

Voulez-vous effacer ces dossier ?"
then	nettfichiers
fi

zenity --info \
	--text="Installation terminée. Redémarrer gedit."
fi

exit 0


