#!/bin/bash
#
# Script to integrate ccrypt with KDE-konqueror GUI environment
# VF - 2004

# Ccrypt installation path
CCRYPT_PATH=
# Default system wide KDE-konqueror environment path
KONQUEROR_SYSTEM_PATH=/usr/share/apps/konqueror
# Default normal user KDE-konqueror environment path
KONQUEROR_USER_PATH=$HOME/.kde/share/apps/konqueror
# KDE-konqueror installation path to use by default (user)
KONQUEROR_INSTALL=$KONQUEROR_USER_PATH
# KDE pixmaps folder
KDE_PIXMAPS=/usr/share/pixmaps

my_clear()
{
	clear
	echo "ccrypt-kde-install - VF - 2004"
	echo "Script to integrate ccrypt with KDE-konqueror GUI environment"
}

# Check if ccrypt is installed, this means in the current search path
CCRYPT_PATH=`whereis ccrypt | cut -f2 -d: | cut -f2 -d" "`
if [ -z $CCRYPT_PATH ]
then
	my_clear
	echo
	echo "Ccrypt not found in current path!"
	echo "Please check ccrypt installation before proceeding..."
	echo
	exit 1
fi

# Check current user id
if [ `id -ur` -eq 0 ]
then
	my_clear
	echo
	echo "You are performing ccrypt KDE-konqueror integration as root!"
	echo "You can perform ccrypt integration globally (all users),"
	echo "or for your KDE-konqueror environment only."
	echo

	read -p "Do you want to perform ccrypt integration globally(y/n)? " global
	if [ `echo $global | grep -i y` ]
	then
		# Set install path to system wide konqueror environment
		KONQUEROR_INSTALL=$KONQUEROR_SYSTEM_PATH
		global=1
	else
		global=
	fi
fi

# Check if installation path exists
if [ -d $KONQUEROR_INSTALL ]
then
	KONQUEROR_INSTALL=$KONQUEROR_INSTALL/servicemenus
else
	my_clear
	echo
	echo "ERROR: $KONQUEROR_INSTALL doesn't exist!"
	echo "KDE-konqueror installation directory not Found! Please check!"
	echo
	exit 1
fi

# Give some information before proceeding and ask confirmation
my_clear
echo
echo "You are going to perform ccrypt integration with"
echo "KDE-konqueror, using the following parameters:"
echo
echo "Installation Path: $KONQUEROR_INSTALL"
echo "Ccrypt Path......: $CCRYPT_PATH"
echo -n "Integration Type.: "
if [ $global ]
then
	echo "System Wide (All Users)"
else
	echo "Current User Only (`id -un`)"
fi

read -p "Do you want to proceed(y/n)? " ok
if [ `echo $ok | grep -i y` ]
then
	mkdir -p $KONQUEROR_INSTALL

	# Copy pixmaps if needed and we are root
        if [ ! -f $KDE_PIXMAPS/status_lock.png ] && [ -f ./status_lock.png ] && [ $global ]
	then
		cp ./status_lock.png $KDE_PIXMAPS/status_lock.png
		cp ./status_unlocked.png $KDE_PIXMAPS/status_unlocked.png
	fi

	# Write desktop file for file encryption
	cat > $KONQUEROR_INSTALL/ccrypt_files.desktop <<-EOF
	[Desktop Entry]
	Encoding=UTF-8
	ServiceTypes=all/all
	Actions=EncryptFiles;DecryptFiles
	X-KDE-Submenu=Ccrypt

	[Desktop Action EncryptFiles]
	Name=Encrypt File(s)
	Icon=status_lock
	Exec=konsole -T "Encrypting File(s)" --noclose --nomenubar --notoolbar -e $CCRYPT_PATH -e -s -v -t -r -P 'Enter File(s) Encryption Key: ' '%U'

	[Desktop Action DecryptFiles]
	Name=Decrypt File(s)
	Icon=status_unlocked
	Exec=konsole -T "Decrypting File(s)" --noclose --nomenubar --notoolbar -e $CCRYPT_PATH -d -s -v -t -r -P 'Enter File(s) Decryption Key: ' '%U'
	EOF
else
	exit 1
fi
