#!/bin/bash
#
# Copyright 2008-2011 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
# GNU Radio 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 3, or (at your option)
# any later version.
#
# GNU Radio 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 GNU Radio; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
#
##################################################
# setup grc on a freedesktop platform
# $1 should be install or uninstall
# $2 is the optional path to the files
# when $2 is unspecified, the path is:
# /usr/local/share/gnuradio/grc/freedesktop
##################################################

ICON_SIZES="16 24 32 48 64 128 256"
if [ -n "$2" ]; then
	SRCDIR="$2"
else
	SRCDIR="/usr/local/share/gnuradio/grc/freedesktop"
fi

case "$1" in
'install')
	echo "Begin freedesktop install..."
	for size in ${ICON_SIZES}; do \
		echo "Install icon: ${size}x${size}"
		xdg-icon-resource install --noupdate --context mimetypes --theme gnome --size ${size} ${SRCDIR}/grc-icon-${size}.png application-gnuradio-grc; \
		xdg-icon-resource install --noupdate --context mimetypes --size ${size} ${SRCDIR}/grc-icon-${size}.png application-gnuradio-grc; \
		xdg-icon-resource install --noupdate --context apps --theme gnome --size ${size} ${SRCDIR}/grc-icon-${size}.png gnuradio-grc; \
		xdg-icon-resource install --noupdate --context apps --size ${size} ${SRCDIR}/grc-icon-${size}.png gnuradio-grc; \
	done
	xdg-icon-resource forceupdate
	echo "Install mime type"
	xdg-mime install ${SRCDIR}/gnuradio-grc.xml
	echo "Install menu items"
	xdg-desktop-menu install ${SRCDIR}/*.desktop
	echo "Done!"
	echo ""
	;;
'uninstall')
	echo "Begin freedesktop uninstall..."
	for size in ${ICON_SIZES}; do \
		echo "Uninstall icon: ${size}x${size}"
		xdg-icon-resource uninstall --noupdate --context mimetypes --theme gnome --size ${size} application-gnuradio-grc; \
		xdg-icon-resource uninstall --noupdate --context mimetypes --size ${size} application-gnuradio-grc; \
		xdg-icon-resource uninstall --noupdate --context apps --theme gnome --size ${size} gnuradio-grc; \
		xdg-icon-resource uninstall --noupdate --context apps --size ${size} gnuradio-grc; \
	done
	xdg-icon-resource forceupdate
	echo "Uninstall mime type"
	xdg-mime uninstall ${SRCDIR}/gnuradio-grc.xml
	echo "Uninstall menu items"
	xdg-desktop-menu uninstall `ls ${SRCDIR}/*.desktop | xargs -n1 basename`
	echo "Done!"
	echo ""
	;;
*)
	echo "Usage: $0 [install|uninstall]"
	;;
esac
