#!/bin/bash
#
# Copyright (C) 2005,2006  Charles Bouveyron <charles.bouveyron@free.fr>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, U
#
# Author : 	Charles Bouveyron <charles.bouveyron@free.fr>
#		Alessandro Faggiano <>
#		Mathieu Vilaplana <mathieu@creationgif.com>
#		Raphaël Pinson <raphink@raphink.net>

test -n "$KDEHOME" || KDEHOME="`kde4-config --localprefix`"; export KDEHOME
TMPDIR=`mktemp -d /tmp/kde-$(whoami)/kim.XXXXXXXX` || exit 1

choice=`kdialog --radiolist "Kim - Send by mail:" 1 "Full size"  off 2 "800x600 px"  on 3 "600x450 px" off 4 "300x225 px"  off 5 "Scaling 50 %"  off 6 "Scaling 60 %"  off 7 "Scaling 70 %"  off`;

let "nbfiles = $#" 
dbusRef=`kdialog --progressbar "Kim - Initialising ..." $nbfiles`
qdbus $dbusRef showCancelButton true 

compteur=0
SC1=50
SC2=60
SC3=70

for i in "$@";do
	if [ -f "$i" ];then
		#test if cancel button has been pushed
		if [[ "$(qdbus $dbusRef wasCancelled)" == "true" ]] ; then
			qdbus $dbusRef close
			exit 1
		fi
		let "compteur +=1"
		qdbus $dbusRef setLabelText "Kim - Resizing and compressing file: `basename "$i"`"
 		qdbus $dbusRef org.freedesktop.DBus.Properties.Set org.kde.kdialog.ProgressDialog value $compteur
		case "$choice" in 
			1) cp "$i" $TMPDIR;;
			2) convert -resize 800x800 "$i" "$TMPDIR"/"`basename "$i"`";;
			3) convert -resize 600x600 "$i" "$TMPDIR"/"`basename "$i"`";;
			4) convert -resize 300x300 "$i" "$TMPDIR"/"`basename "$i"`";;
			5) convert -filter Sinc "$i" -resize $SC1% "$TMPDIR"/"`basename "$i"`";;
			6) convert -filter Sinc "$i" -resize $SC2% "$TMPDIR"/"`basename "$i"`";;
			7) convert -filter Sinc "$i" -resize $SC3% "$TMPDIR"/"`basename "$i"`";;
			*)exit 1;;
		esac
	fi;
done

Files="$TMPDIR/*"
if [ "$Files" = "" ] ;then echo "no files given" ; exit 1 ;fi  &>/dev/null
Y=`echo $Files | sed 's/ \//,file:\/\/\//g' | sed 's/ /^^/g'`   #this sed replaces all spaces with a ^^.
X=`echo $Y | sed 's/\^^/ /g'`            #this sed replaces all ^^'s with a space
Z=`echo $Y | sed 's/,file:\/\// /g'`
ii=1                        #that sed (below)replaces all ^^'s with a space
BODY=$(for file in $Z ;do C=`basename "$(echo $file | sed 's/\^^/ /g')"` ; echo ; echo -n "$ii) $C" ;  ii=$(($ii+1)) ; done)
thunderbird -compose "attachment='$X'"

qdbus $dbusRef close;
kdialog --msgbox "Kim - Send by mail: you can write your message!"
rm -rf "$TMPDIR"
