#!/bin/sh
set -e
KEYBINDINGS=/usr/lib/microb-engine/chrome/toolkit/content/global/platformHTMLBindings.xml
PREFFILE=/home/user/.mozilla/microb/prefs.js
PREFBACK="$PREFFILE.snavstate"
FILEEXISTS=1
export FILEEXISTS
test -f $KEYBINDINGS || FILEEXISTS=
if test -z "$FILEEXISTS"; then
 echo "Failed to find $KEYBINDINGS, this won't work." 1>&2
 exit 1
fi

NEWUP='<handler event="keypress" keycode="VK_UP" command="cmd_scrollLineUp" \/>'
NEWDOWN='<handler event="keypress" keycode="VK_DOWN" command="cmd_scrollLineDown" \/>'
NEWPREF='user_pref("snav.enabled", true);'
OLDUP='<handler event="keypress" keycode="VK_UP" command="cmd_movePageUp" \/>'
OLDDOWN='<handler event="keypress" keycode="VK_DOWN" command="cmd_movePageDown" \/>'
OLDPREF='user_pref("snav\.enabled", false);'

LINESOK=1
grep "$OLDUP" $KEYBINDINGS || LINESOK=
grep "$OLDDOWN" $KEYBINDINGS || LINESOK=

if test -z "$LINESOK"; then
 echo The keybindings in $KEYBINDINGS do not match the expected results 1>&2
 echo This is probably because you have manually changed this package, 1>&2
 echo or perhaps you reinstalled the original package, or you installed 1>&2
 echo another package that also manipulated these lines. 1>&2
 exit 1
fi

REPLACELINES="s/$OLDUP/$NEWUP/; s/$OLDDOWN/$NEWDOWN/"
umask 006
sed -ie "$REPLACELINES" $KEYBINDINGS
chown user:users $KEYBINDINGS

if test -f $PREFBACK; then
 sed -ie "s/$OLDPREF/$NEWPREF/" $PREFFILE
 rm -f $PREFBACK
 chown user:users $PREFFILE
fi

exit 0
