#!/bin/sh

PACKAGE_NAME=qbw-nemo-dockbar
###################################

add_widget () {

#Add new widget data (from exported_widget) to the .queen_beecon
#be sure file exists
touch /home/user/.queen_beecon
#work with copy
cp  /home/user/.queen_beecon /home/user/.queen_beecon_new_rows
echo >>  /home/user/.queen_beecon_new_rows
echo "[queen-beecon.desktop-$NAME]" >>  /home/user/.queen_beecon_new_rows
tail -n +5 /opt/$PACKAGE_NAME/exported_widget >> /home/user/.queen_beecon_new_rows

mv /home/user/.queen_beecon_new_rows /home/user/.queen_beecon

#Add new entries to the 'header' of the .queen_beecon
#split:
grep c_titles /home/user/.queen_beecon > /home/user/.queen_beecon_temporary_titles
grep c_commands /home/user/.queen_beecon >  /home/user/.queen_beecon_temporary_commands
grep -v c_titles /home/user/.queen_beecon | grep -v c_commands > /home/user/.queen_beecon_temporary_file

#fetch title/cmd
echo $NAME > /home/user/.queen_beecon_new_title
grep instanceCmd /opt/$PACKAGE_NAME/exported_widget  | tail -c +13 > /home/user/.queen_beecon_new_command

#merge (add needed ;) and remove linebreak 
cat /home/user/.queen_beecon_temporary_titles > /home/user/.queen_beecon_temporary_titles2
cat /home/user/.queen_beecon_new_title >> /home/user/.queen_beecon_temporary_titles2
echo ";" >> /home/user/.queen_beecon_temporary_titles2
sed -i ':a;N;$!ba;s/\n//g' /home/user/.queen_beecon_temporary_titles2

cat /home/user/.queen_beecon_temporary_commands > /home/user/.queen_beecon_temporary_commands2
cat /home/user/.queen_beecon_new_command >> /home/user/.queen_beecon_temporary_commands2
echo ";" >> /home/user/.queen_beecon_temporary_commands2
sed -i ':a;N;$!ba;s/\n//g' /home/user/.queen_beecon_temporary_commands2

#merge rows back
echo "
[config]
version=1" > /home/user/.queen_beecon_temporary_file2
cat /home/user/.queen_beecon_temporary_titles2 >> /home/user/.queen_beecon_temporary_file2
cat /home/user/.queen_beecon_temporary_commands2 >> /home/user/.queen_beecon_temporary_file2
echo "" >> /home/user/.queen_beecon_temporary_file2
tail -n +5 /home/user/.queen_beecon_temporary_file >> /home/user/.queen_beecon_temporary_file2

mv /home/user/.queen_beecon_temporary_file2 /home/user/.queen_beecon
rm /home/user/.queen_beecon_temporary_titles /home/user/.queen_beecon_temporary_commands /home/user/.queen_beecon_temporary_titles2 /home/user/.queen_beecon_temporary_commands2 /home/user/.queen_beecon_new_title /home/user/.queen_beecon_new_command /home/user/.queen_beecon_temporary_file 


#Add icon to the desktop. These modifications are collected and pushed only once.
echo "
[queen-beecon.desktop-$NAME]
X-Desktop-File=/usr/share/applications/hildon-home/queen-beecon.desktop
">> /home/user/.add_these_to_the_home_plugins


} 

#first desktop:
NAME=`grep instanceTitle /opt/$PACKAGE_NAME/exported_widget  | tail -c +15`
add_widget



######################
#for another desktops:

#save this variable
BASENAME=$NAME

#with gconf we ask list of desktops ('active'), it looks like this: [1,2,3,4,5]
#we drop [ and ] 
#we change every comma to the space
#so it looks like this 1 2 3 4 5
#then we drop '1', because first case is already handled
#now we have list for shell-for-loop
LIST="$(gconftool-2 -g /apps/osso/hildon-desktop/views/active | sed 's/\[//' | sed 's/\]//' | sed 's/,/ /g' | sed 's/1//')"
for desktop in $LIST; do
 #echo Adding widget also to the desktop $desktop;
 #add postfix to the NAME
 NAME=`grep instanceTitle /opt/$PACKAGE_NAME/exported_widget  | tail -c +15`$desktop

  #another folder and duplicate conf
  mkdir -p /var/lib/gconf/apps/osso/hildon-desktop/applets/queen-beecon.desktop-$NAME
  cp /var/lib/gconf/apps/osso/hildon-desktop/applets/queen-beecon.desktop-$BASENAME/%gconf.xml /var/lib/gconf/apps/osso/hildon-desktop/applets/queen-beecon.desktop-$NAME/%gconf.xml

  #push this widget to another desktop
  gconftool-2 --set /apps/osso/hildon-desktop/applets/queen-beecon.desktop-$NAME/view --type int $desktop

  add_widget



done


#Other desktops ready
#####################

#every new widget is collected here and will be placed same time
cat /home/user/.add_these_to_the_home_plugins >> /home/user/.config/hildon-desktop/home.plugins
rm /home/user/.add_these_to_the_home_plugins

#these should be owned by user
chown user /home/user/.config/hildon-desktop/home.plugins
chown user /home/user/.queen_beecon

exit 0
