import os.path

env = WengoGetEnvironment()

base_install_dir = WengoGetConsoleArgument("prefix")
if base_install_dir == None:
	base_install_dir = "/tmp"
lib_install_dir  = os.path.join(base_install_dir, "lib", "qtwengophone")
bin_install_dir = os.path.join(base_install_dir, "bin")
wrapper_path = os.path.join(bin_install_dir, "qtwengophone")

dlls = [
]

base_sounds = [
	"../../../sounds/ringin.wav",
	"../../../sounds/callclosed.wav",
]

avatars = [
	"../../../pics/avatars/export11_96.png",
	"../../../pics/avatars/export12_96.png",
	"../../../pics/avatars/export13_96.png",
	"../../../pics/avatars/export14_96.png",
	"../../../pics/avatars/export15_96.png",
	"../../../pics/avatars/export16_96.png",
	"../../../pics/avatars/export17_96.png",
	"../../../pics/avatars/export18_96.png",
	"../../../pics/avatars/export1_96.png",
	"../../../pics/avatars/export19_96.png",
	"../../../pics/avatars/export20_96.png",
	"../../../pics/avatars/export21_96.png",
	"../../../pics/avatars/export22_96.png",
	"../../../pics/avatars/export23_96.png",
	"../../../pics/avatars/export24_96.png",
	"../../../pics/avatars/export25_96.png",
	"../../../pics/avatars/export26_96.png",
	"../../../pics/avatars/export27_96.png",
	"../../../pics/avatars/export28_96.png",
	"../../../pics/avatars/export2_96.png",
	"../../../pics/avatars/export29_96.png",
	"../../../pics/avatars/export30_96.png",
	"../../../pics/avatars/export31_96.png",
	"../../../pics/avatars/export32_96.png",
	"../../../pics/avatars/export33_96.png",
	"../../../pics/avatars/export34_96.png",
	"../../../pics/avatars/export35_96.png",
	"../../../pics/avatars/export36_96.png",
	"../../../pics/avatars/export37_96.png",
	"../../../pics/avatars/export38_96.png",
	"../../../pics/avatars/export3_96.png",
	"../../../pics/avatars/export39_96.png",
	"../../../pics/avatars/export40_96.png",
	"../../../pics/avatars/export4_96.png",
	"../../../pics/avatars/export5_96.png",
	"../../../pics/avatars/export6_96.png",
	"../../../pics/avatars/export7_96.png",
	"../../../pics/avatars/export8_96.png",
	"../../../pics/avatars/export9_96.png",
	]

default_theme_sounds = [
	"../../../sounds/tones/default/sound_star.wav",
	"../../../sounds/tones/default/sound_0.wav",
	"../../../sounds/tones/default/sound_1.wav",
	"../../../sounds/tones/default/sound_2.wav",
	"../../../sounds/tones/default/sound_3.wav",
	"../../../sounds/tones/default/sound_4.wav",
	"../../../sounds/tones/default/sound_5.wav",
	"../../../sounds/tones/default/sound_6.wav",
	"../../../sounds/tones/default/sound_7.wav",
	"../../../sounds/tones/default/sound_8.wav",
	"../../../sounds/tones/default/sound_9.wav",
	"../../../sounds/tones/default/sound_pound.wav",
	"../../../sounds/tones/default/dialpad.xml",
]

jungle_theme_sounds = [
	"../../../sounds/tones/jungle_svg/sound_pound.wav",
	"../../../sounds/tones/jungle_svg/sound_star.wav",
	"../../../sounds/tones/jungle_svg/sound_0.wav",
	"../../../sounds/tones/jungle_svg/sound_1.wav",
	"../../../sounds/tones/jungle_svg/sound_2.wav",
	"../../../sounds/tones/jungle_svg/sound_3.wav",
	"../../../sounds/tones/jungle_svg/sound_4.wav",
	"../../../sounds/tones/jungle_svg/sound_5.wav",
	"../../../sounds/tones/jungle_svg/sound_6.wav",
	"../../../sounds/tones/jungle_svg/sound_7.wav",
	"../../../sounds/tones/jungle_svg/sound_8.wav",
	"../../../sounds/tones/jungle_svg/sound_9.wav",
	"../../../sounds/tones/jungle_svg/combo_icon.png",
	"../../../sounds/tones/jungle_svg/dialpad.xml",
	"../../../sounds/tones/jungle_svg/dialpad_image.svg",
	"../../../sounds/tones/jungle_svg/dialpad_mask.svg",
	"../../../sounds/tones/jungle_svg/layer_0.svg",
	"../../../sounds/tones/jungle_svg/layer_1.svg",
	"../../../sounds/tones/jungle_svg/layer_2.svg",
	"../../../sounds/tones/jungle_svg/layer_3.svg",
	"../../../sounds/tones/jungle_svg/layer_4.svg",
	"../../../sounds/tones/jungle_svg/layer_5.svg",
	"../../../sounds/tones/jungle_svg/layer_6.svg",
	"../../../sounds/tones/jungle_svg/layer_7.svg",
	"../../../sounds/tones/jungle_svg/layer_8.svg",
	"../../../sounds/tones/jungle_svg/layer_9.svg",
	"../../../sounds/tones/jungle_svg/layer_pound.svg",
	"../../../sounds/tones/jungle_svg/layer_star.svg",
]

docs = [
]

web_stuff = [
]

icons_misc =  [
]

home_page = [
]

lang = [
	"gui/lang/wengo_de.qm",
	"gui/lang/wengo_en.qm",
	"gui/lang/wengo_es.qm",
	"gui/lang/wengo_fi.qm",
	"gui/lang/wengo_fr.qm",
	"gui/lang/wengo_it.qm",
	"gui/lang/wengo_ja.qm",
	"gui/lang/wengo_de.qm",
	"gui/lang/wengo_pl.qm",
	"gui/lang/wengo_zh.qm",
	"gui/lang/wengo_cs.qm",
]

emoticons = [
	"pics/emoticons/emblem-unreadable.png",
	"pics/emoticons/face-angel16.png",
	"pics/emoticons/face-angel22.png",
	"pics/emoticons/face-angel48.png",
	"pics/emoticons/face-crying16.png",
	"pics/emoticons/face-crying22.png",
	"pics/emoticons/face-crying48.png",
	"pics/emoticons/face-devil-grin16.png",
	"pics/emoticons/face-devil-grin22.png",
	"pics/emoticons/face-devil-grin48.png",
	"pics/emoticons/face-glasses16.png",
	"pics/emoticons/face-glasses22.png",
	"pics/emoticons/face-glasses48.png",
	"pics/emoticons/face-kiss16.png",
	"pics/emoticons/face-kiss22.png",
	"pics/emoticons/face-kiss48.png",
	"pics/emoticons/face-plain16.png",
	"pics/emoticons/face-plain22.png",
	"pics/emoticons/face-plain48.png",
	"pics/emoticons/face-sad16.png",
	"pics/emoticons/face-sad22.png",
	"pics/emoticons/face-sad48.png",
	"pics/emoticons/face-smile16.png",
	"pics/emoticons/face-smile22.png",
	"pics/emoticons/face-smile48.png",
	"pics/emoticons/face-smile-big16.png",
	"pics/emoticons/face-smile-big22.png",
	"pics/emoticons/face-smile-big48.png",
	"pics/emoticons/face-surprise16.png",
	"pics/emoticons/face-surprise22.png",
	"pics/emoticons/face-surprise48.png",
	"pics/emoticons/face-wink16.png",
	"pics/emoticons/face-wink22.png",
	"pics/emoticons/face-wink48.png",
	]

targets = []
targets += env.Install(lib_install_dir, env.WengoGetAlias("portaudio"))
if WengoOSWindows():
	targets += env.Install(lib_install_dir, env.WengoGetAlias("softphone-download"))
	targets += env.Install(lib_install_dir, env.WengoGetAlias("softphone-memorydump"))

targets += env.Install(lib_install_dir, env.WengoGetAlias("phapi"))
targets += env.Install(lib_install_dir, env.WengoGetAlias("qtwengophone_alias"))

targets += env.Install(lib_install_dir, [
	env.WengoGetAlias("curl_alias"),
	env.WengoGetAlias("phapi_alias"),
])
if WengoGetConsoleArgument("enable-video") == "yes":
	targets += env.Install(lib_install_dir, env.WengoGetAlias("libavcodec"))
	#targets += env.Install(lib_install_dir, env.WengoGetAlias("video"))
	targets += env.Install(lib_install_dir, env.WengoGetAlias("webcam"))

targets += env.Install(lib_install_dir, docs)
targets += env.Install(lib_install_dir, web_stuff)

targets += env.Install(os.path.join(lib_install_dir, "icons"), icons_misc)
targets += env.Install(os.path.join(lib_install_dir, "pics/avatars"), avatars)
targets += env.Install(os.path.join(lib_install_dir, "sounds"), base_sounds)
targets += env.Install(os.path.join(lib_install_dir, "sounds", "tones", "default"), default_theme_sounds)
targets += env.Install(os.path.join(lib_install_dir, "sounds", "tones", "jungle_svg"), jungle_theme_sounds)
#targets += env.Install(os.path.join(lib_install_dir, "connecting"), home_page)
targets += env.Install(os.path.join(lib_install_dir, "emoticons"), emoticons)
targets += env.Install(os.path.join(lib_install_dir, "lang"), env.WengoGetAlias("qtwengophone-translations"))

wrapper_script = """
#!/bin/sh
#
# Wengophone wrapper script for Linux
# Author: David Ferlier <david.ferlier@wengo.fr>
#

cd %s || exit 1
export LD_LIBRARY_PATH="."
./wengophone
"""

def install_wrapper(target, source, env):
	for a_target, a_source in zip(target, source):
		t_wrapper = file(str(a_target), "w+")
		t_wrapper.write(wrapper_script % lib_install_dir)
		t_wrapper.close()

targets += env.Command(wrapper_path, env.WengoGetAlias("qtwengophone_alias"), install_wrapper)

env.WengoAlias('qtwengophone-install', targets)
