#!/bin/sh -e
set -e


ASTRA_ICON_DIR="/usr/share/icons/fly-astra"
ASTRA_ICON_DIR_FLAT="/usr/share/icons/fly-astra-flat"
ASTRA_ICON_DIR_MODERN="/usr/share/icons/fly-modern-flat"
ASTRA_ICON_DIR_FLAT_WHITE="/usr/share/icons/fly-astra-flat-white"
ASTRA_ICON_DIR_FLAT_BLACK="/usr/share/icons/fly-astra-flat-black"
INDEX_FILE="/usr/share/icons/hicolor/index.theme"

update_astra_icon_cache()
{
UPDATE_CACHE=gtk-update-icon-cache
#if which gtk-update-icon-cache-3.0 >/dev/null 2>&1 ; then
#    UPDATE_CACHE=gtk-update-icon-cache-3.0
#elif which gtk-update-icon-cache >/dev/null 2>&1 ; then
#    UPDATE_CACHE=gtk-update-icon-cache
#fi

if [ -n "$UPDATE_CACHE" ]; then
  if test -d $ASTRA_ICON_DIR; then
    if ! "$UPDATE_CACHE" --force --quiet --index-only $ASTRA_ICON_DIR; then
      echo "WARNING: astra icon cache generation failed in $ASTRA_ICON_DIR"
    fi
  fi

  if test -d $ASTRA_ICON_DIR_FLAT; then
    if ! "$UPDATE_CACHE" --force --quiet --index-only $ASTRA_ICON_DIR_FLAT; then
      echo "WARNING: astra icon cache generation failed in $ASTRA_ICON_DIR_FLAT"
    fi
  fi

  if test -d $ASTRA_ICON_DIR_MODERN; then
    if ! "$UPDATE_CACHE" --force --quiet --index-only $ASTRA_ICON_DIR_MODERN; then
      echo "WARNING: astra icon cache generation failed in $ASTRA_ICON_DIR_MODERN"
    fi
  fi

  if test -d $ASTRA_ICON_DIR_FLAT_WHITE; then
    if ! "$UPDATE_CACHE" --force --quiet --index-only $ASTRA_ICON_DIR_FLAT_WHITE; then
      echo "WARNING: astra icon cache generation failed in $ASTRA_ICON_DIR_FLAT_WHITE"
    fi
  fi

  if test -d $ASTRA_ICON_DIR_FLAT_BLACK; then
    if ! "$UPDATE_CACHE" --force --quiet --index-only $ASTRA_ICON_DIR_FLAT_BLACK; then
      echo "WARNING: astra icon cache generation failed in $ASTRA_ICON_DIR_FLAT_BLACK"
    fi
  fi
fi

}

test_and_replace_index()
{
    if [ -f $INDEX_FILE ]
    then
        echo "hicolor index.theme add 8x8 size"
        cp -f $INDEX_FILE /usr/share/icons/hicolor/index.theme.bak
        if ! grep "8x8" "$INDEX_FILE" -q; then
          cat /usr/share/fly/hicolor.index.theme >> $INDEX_FILE
          sed -e 's_^Directories=*_&8x8/emblems,_' -i $INDEX_FILE
        fi
    fi
}

case "$1" in
configure | install | upgrade | abort-upgrade)

        test_and_replace_index

        update_astra_icon_cache

#set default cursor to provided by fly-data
#        update-alternatives --install /usr/share/icons/default/index.theme x-cursor-theme /usr/share/icons/Win-8.1-NS/cursor.theme 60
# adwaita is ok now: set > 102 (than breeze cursor)
        update-alternatives --install /usr/share/icons/default/index.theme x-cursor-theme /usr/share/icons/Adwaita/cursor.theme 110

#use own /usr/share/fly-mimelnk not to conflict/depend with kde
#	if test -d /usr/share/mimelnk
#	then
#	    rm -rf /usr/share/fly-mimelnk
#	else
#	    ln -s /usr/share/fly-mimelnk /usr/share/mimelnk
#	fi
#	if test -e /usr/share/applications/assistant-qt4.desktop; then
#	    cat /usr/share/applications/assistant-qt4.desktop  | \
#	    sed 's/Icon[ \t]*[\=]*.*$/Icon=assistant4/'> /usr/share/applications/assistant-qt4.desk
#	    /bin/mv -f /usr/share/applications/assistant-qt4.desk /usr/share/applications/assistant-qt4.desktop
#	fi
#	if test -e /usr/share/applications/designer-qt4.desktop; then
#	    cat /usr/share/applications/designer-qt4.desktop  | \
#	    sed 's/Icon[ \t]*[\=]*.*$/Icon=designer4/'> /usr/share/applications/designer-qt4.desk
#	    /bin/mv -f /usr/share/applications/designer-qt4.desk /usr/share/applications/designer-qt4.desktop
#	fi
#	if test -e /usr/share/applications/linguist-qt4.desktop; then
#	    cat /usr/share/applications/linguist-qt4.desktop  | \
#	    sed 's/Icon[ \t]*[\=]*.*$/Icon=linguist4/'> /usr/share/applications/linguist-qt4.desk
#	    /bin/mv -f /usr/share/applications/linguist-qt4.desk /usr/share/applications/linguist-qt4.desktop
#	fi
#	if test -e /usr/share/applications/qt4config.desktop; then
#	    cat /usr/share/applications/qt4config.desktop  | \
#	    sed 's/Icon[ \t]*[\=]*.*$/Icon=qtconfig4/'> /usr/share/applications/qt4config.desk
#	    /bin/mv -f /usr/share/applications/qt4config.desk /usr/share/applications/qt4config.desktop
#	fi
	;;
*)
#	echo "$0: incorrect arguments: $*" >&2
#	exit 1
	;;

triggered)
        for trigger in $2; do
            case $trigger in
                $INDEX_FILE)
                    test_and_replace_index
                    ;;
                $ASTRA_ICON_DIR)
                    update_astra_icon_cache
                    ;;
                $ASTRA_ICON_DIR_FLAT)
                    update_astra_icon_cache
                    ;;
                $ASTRA_ICON_DIR_MODERN)
                    update_astra_icon_cache
                    ;;
                $ASTRA_ICON_DIR_FLAT_WHITE)
                    update_astra_icon_cache
                    ;;
                $ASTRA_ICON_DIR_FLAT_BLACK)
                    update_astra_icon_cache
                    ;;
            esac
        done
    ;;

esac


