#!/bin/bash
#
#Copyright 2012 - 2013 CurlyMo & mk01 <development@xbian.org>
#
#This file is part of XBian - XBMC on the Raspberry Pi.
#
#XBian 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 of the License, or (at your option) any later
#version.
#
#XBian 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 XBian. If not, see <http://www.gnu.org/licenses/>

function showUpdateAptDBDlg() {
	wrapTxtFn "$(_ updates.apt.update)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showInfoDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateAptDBFailedDlg() {
	wrapTxtFn "$(_ updates.apt.update_failed)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showDownloadPackageListDlg() {
	wrapTxtFn "$(_ updates.mirror.download)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showInfoDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateDowngradeDlg() {
	wrapTxtFn "$(_ updates.update.downgrade)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showFailedToRetrieveAptMirrosDlg() {
	wrapTxtFn "$(_ updates.mirror.download_failed)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showRetrievingUpdateListDlg() {
	wrapTxtFn "$(_ updates.list.download)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showInfoDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateAlreadyInstalledDlg() {
	wrapTxtFn "$(_ updates.update.already_installed)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateVersionNotExistDlg() {
	wrapTxtFn "$(_ updates.update.version_unavailable)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateNotExistsDlg() {
	wrapTxtFn "$(_ updates.update.not_exists)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showAskForLogDlg() {
	wrapTxtFn "$(_ updates.update.show_log)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showConfirmDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateAdvErrorDlg() {
	wrapTxtFn "$(_ updates.update.error)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showInstallUpdatesDlg() {
	wrapTxtFn "$(_ updates.update.installing)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showInfoDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpToDateDlg() {
	wrapTxtFn "$(_ updates.uptodate)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showSystemUpdateConfirmDlg() {
	wrapTxtFn "$(_ updates.upgrade.available)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showConfirmDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpgradeSystemDlg() {
	wrapTxtFn "$(_ updates.upgrade.installing)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showInfoDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showSystemUpdateRebootDlg() {
	wrapTxtFn "$(_ updates.upgrade.reboot)" $(($DEFAULTWIDTH-4));
	centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4));
	valignTxtFn "$CENTEREDTXT"
	showMsgDlg "$ALIGNEDTXT" $HEIGHT
	return $?;
}

function showUpdateLogDlg() {
	sed -i 's/\r/\n/g' /tmp/aptstatus
	showTextDlg "/tmp/aptstatus" 15 $(($DEFAULTWIDTH+11));
}

function showSystemUpdateLogDlg() {
	showTextDlg "/home/xbian/xbian-update.log" 15 $(($DEFAULTWIDTH+11));
}

function showAvailableUpdatesDlg() {
#	IFS=$'\n';
	ARRAY=($1);
	MENU=();
	MENU+=(0,"\ZbUpdate all available,\Zb");
	I=0;
	for VALUE in ${ARRAY[@]}; do
		IFS=";";
		VALUE=($VALUE);
		I=$(($I+1));
		MENU+=($I,"\Zb${VALUE[0]},\Zb${VALUE[1]} (${VALUE[2]}),Off");
	done;
	IFS=$ORIGINALIFS;
	TBLCOLUMNCENTER=0;
	createTableFn "check" " #;\Zb"$(_ updates.label.updates)";\Zb"$(_ updates.label.version) \
        "${MENU[@]}";
	TBLCOLUMNCENTER=1;
	centerTxtFn "$HEADER" $(($DEFAULTWIDTH+16));
	DEFAULTWIDTH=66 showChecklistDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+9)) 
}

