#!/bin/bash
"""
Type: Nautilus Script
Title: Editer
Version: 1.1
Info: ouvre le(s) fichier(s) sélectionné(s) dans l'éditeur choisi, en root ou utilisateur courant
      edit the selected file(s) with an editor of your choice, as root or as current user (éditer = to edit)
Author: © Copyright (C) 2013, Airelle - http://rlwpx.free.fr/WPFF/nautilus.htm
License: GNU General Public License, version 3 or later - http://www.gnu.org/licenses/gpl.html
Usage : copier ce fichier dans le répertoire des scripts Nautilus de votre dossier personnel
        (~/.gnome2/nautilus-scripts/) et vérifier que le script est exécutable (x).
        copy this file to the directory of Nautilus-scripts of your home
        (~/.gnome2/nautilus-scripts/) and be sure that the script is executable (x).
"""

# Initialisation
IFS='
'
fichier=''
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ;
do
 fichier=${file}"*"$fichier
done

# Messages
case $LANG in
 en* )  
  msg_titre="Editer (Edit)"
  msg_ce="Choose the editor."
  msg_cu="As superuser?"
  msg_alert="Use su rights with caution!"
  msg_err="is not installed: please try another editor.\n\nIf you want to install it, type at the command line:\nsudo apt-get install "
 ;;
 * )
  msg_titre="Editer"
  msg_ce="Choisissez l'éditeur"
  msg_cu="Comme superutilisateur ?"
  msg_alert="Attention à ne rien casser !"
  msg_err="n'a pas été trouvé !\nEssayez un autre éditeur SVP.\n\nSi vous voulez l'installer, tapez la commande :\nsudo apt-get install "
 ;;
esac

# Choix de l'éditeur
choixe=$(zenity --list --radiolist --width=200 --height=330 --title="$msg_ce"  --text="" --column "" --column "" \
 FALSE "gEdit" \
 FALSE "gHex" \
 FALSE "gVim" \
 FALSE "Kate" \
 FALSE "kWrite" \
 FALSE "Leafpad" \
 TRUE "Medit" \
 FALSE "Scite" \
)

# Choix de l'utilisateur
choixu=$(zenity --list --checklist --width=300 --height=100 --title="$msg_cu"  --text="$msg_alert" --column "" --column "" \
 FALSE "Sudo" \
)

# Édition

case $choixe in *"E"* )
 if [[ $(whereis gedit|grep bin) == "" ]]; then
  zenity --info --text="gEdit $msg_err gedit" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   gedit $fichier
  else
   gksu -u root "gedit "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"H"* )
 if [[ $(whereis ghex|grep bin) == "" ]]; then
  zenity --info --text="gHex $msg_err ghex" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   ghex $fichier
  else
   gksu -u root "ghex "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"V"* )
 if [[ $(whereis gvim|grep bin) == "" ]]; then
 zenity --info --text="GVim $msg_err vim" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   gvim $fichier
  else
   gksu -u root "gvim "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"K"* )
 if [[ $(whereis kate|grep bin) == "" ]]; then
  zenity --info --text="Kate $msg_err kate" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   kate $fichier
  else
   gksu -u root "kate "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"W"* )
 if [[ $(whereis kwrite|grep bin) == "" ]]; then
  zenity --info --text="KWrite $msg_err kwrite" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   kwrite $fichier
  else
   gksu -u root "kwrite "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"L"* )
 if [[ $(whereis leafpad|grep bin) == "" ]]; then
  zenity --info --text="Leafpad $msg_err leafpad" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   leafpad $fichier
  else
   gksu -u root "leafpad "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"M"* )
  if [[ $(whereis medit|grep bin) == "" ]]; then
  zenity --info --text="medit $msg_err medit" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   medit $fichier
  else
   gksu -u root "medit "$fichier
  fi
 fi
 ;;
esac

case $choixe in *"S"* )
  if [[ $(whereis scite|grep bin) == "" ]]; then
  zenity --info --text="Scite $msg_err scite" --title="Error"
 else 
  IFS='*';
  if [ $choixu -eq ]; then
   scite $fichier
  else
   gksu -u root "scite "$fichier
  fi
 fi
 ;;
esac

# EOF
