#!/bin/bash
#coding: utf8

# ▞▀▖         ▐     ▜  ▙▗▌      ▗▐                
# ▌  ▙▀▖▌ ▌▞▀▘▜▀ ▝▀▖▐  ▌▘▌▞▀▖▛▀▖▄▜▀ ▞▀▖▙▀▖ 
# ▌ ▖▌  ▚▄▌▝▀▖▐ ▖▞▀▌▐  ▌ ▌▌ ▌▌ ▌▐▐ ▖▌ ▌▌   
# ▝▀ ▘  ▗▄▘▀▀  ▀ ▝▀▘ ▘ ▘ ▘▝▀ ▘ ▘▀▘▀ ▝▀ ▘   
#
# Crystal Monitor sKiner
# by Mihael Simonic <smihael@gmail.com>
# Licence (application):  GPL v3
# Licence (oxygen icons): LGPL v3

#CM_PRE="28165-"
#CM_ID="cm9"
SCRIPT_ID="sKiner 0.3 for CrystalMonitor 9.0"
CMEXTDIR=$HOME/.superkaramba/Crystal
TAR=crystal+.tar.gz
EXTPATH=http://download.tuxfamily.org/popensource/cm/$TAR


select_cm_version () {
	  kdialog --combobox "Select prefered version" "CrystalMonitor 9.0.1" "CrystalMonitor 9.0" "CrystalMonitor 8.1.0" "CrystalMonitor 8.1.1" "CrystalMonitor 8.1" "CrystalMonitor 8.0" "CrystalMonitor 7" "CrystalMonitor 6.3.2" "CrystalMonitor 6.3" "CrystalMonitor 6.2" "CrystalMonitor 6.1" "CrystalMonitor 6.0" "SuperMonitor 5.4" "SuperMonitor 5.3" "SuperMonitor 5.1" "SuperMonitor 5.0.1" "SuperMonitor 5.0.1 ACPI" "SuperMonitor 5.0.1 Network" "SuperMonitor 4.0" "SuperMonitor 5.0.1 ACPI" "SuperMonitor 5.0.1 Network" "SuperMonitor 4.0 Small" "SuperMonitor 4.0 Color" "SuperMonitor 4.0 Dark Colors" "SuperMonitor 4.0 Grey" "SuperMonitor 4.0 Network" "SuperMonitor 4.0 Nuvola" "SuperMonitor 4.0 Old" "SuperMonitor 4.0 Small" "SuperMonitor 4.0 Small Grey" "SuperMonitor 4.0 Small Without Clock" "SuperMonitor 4.0 Without Clock" "SuperMonitor 4.0 With Additional CPU Info" >> version
	  kdialog --passivepopup "You selected: `cat version`"
	  VERSION=`cat version`
	  TEXT="Congratulations! \n Enjoy $VERSION."
	  case $VERSION in
		  *9.0.1)
			  superkaramba $CMEXTDIR/archive/cm901.skz;;
		  *9.0)
			  superkaramba $CMEXTDIR/archive/cm9.skz;;
		  *8.1.0)
			  superkaramba $CMEXTDIR/archive/cm810.skz;;
		  *8.1.1)
			  superkaramba $CMEXTDIR/archive/cm811.skz;;
		  *8.0)
			  superkaramba $CMEXTDIR/archive/cm8.skz;;
		  *7)
			  superkaramba $CMEXTDIR/archive/cm7beta.skz;;
		  *6.3.2)
			  superkaramba $CMEXTDIR/archive/cm632.skz;;
		  *6.3)
			  superkaramba $CMEXTDIR/archive/cm6.3.skz;;
		  *6.2)
			  superkaramba $CMEXTDIR/archive/cm6.2.skz;;
		  *6.1)
			  superkaramba $CMEXTDIR/archive/cm6.1.skz;;
		  *6.0)
			  superkaramba $CMEXTDIR/archive/cm6.0.skz;;
		  *5.4)
			  superkaramba $CMEXTDIR/archive/SuperMonitor5.4.skz;;
		  *5.3)
			  superkaramba $CMEXTDIR/archive/SuperMonitor5.3.skz;;
		  *5.1)
			  superkaramba $CMEXTDIR/archive/SuperMonitor5.1.skz;;
		  *5.0.1)
			  cd $CMEXTDIR/archive/SuperMonitor5.0
			  superkaramba SuperMonitor.theme;;
		  *"5.0.1 ACPI")
			  cd $CMEXTDIR/archive/SuperMonitor5.0
			  superkaramba ACPI.theme;;
		  *"5.0.1 Network")
			  cd $CMEXTDIR/archive/SuperMonitor5.0
			  superkaramba Network.theme;;
		  *4.0)
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor.theme;;
		  *"4.0 Small")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor1.theme;;
		  *"4.0 Color")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_colour.theme;;
		  *"4.0 Dark Colors")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_darkcolour.theme;;
		  *"4.0 Grey")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_grey.theme;;
		  *"4.0 Network")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_network.theme;;
		  *"4.0 Nuvola")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_nuvola.theme;;
		  *"4.0 Old")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_old.theme;;
		  *"4.0 Slovene")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor-sl.theme;;
		  *"4.0 Small")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_small.theme;;
		  *"4.0 Small Grey")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_small_grey.theme;;
		  *"4.0 Small Without Clock")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_small_withoutclock.theme;;
		  *"4.0 Without Clock")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_whitoutclock.theme;;
		  *"4.0 With Additional CPU Info")
			  cd $CMEXTDIR/archive/SuperMonitor4.0
			  superkaramba SuperMonitor_with_procesor_info.theme;;
		  *)
			  TEXT="Error! \n For help send log.txt file to smihael@gmail.com.";;
	  esac
	  kdialog --title "$SCRIPT_ID" --msgbox "$TEXT"
	  rm version
}

select_cm_skin () {
	  kdialog --combobox "Select prefered skin:" "CrystalMonitorGroup by Leszek Ostachowski" "EasyMonitor 0.4 by Leszek Ostachowski" "GnomaSAnDTrolaS System Monitor 1.0 by chichovoto" "GnomaSAnDTrolaS System Monitor 1.1 by chichovoto" "GnomaSAnDTrolaS System Monitor Oxygen Editon for KDE 4 by chichovoto" "miminon 0.3 by Piotr Jankowski" "MyMon 0.2b by Faust Zanardi" "Tiny MyMon 0.2b by Faust Zanardi" "SuperMonitor Mod by Ivan Bobrov" "CrystalPingo" >> skin
	  kdialog --passivepopup "You selected: `cat skin`"
	  SKIN=`cat skin`
	  TEXT="Congratulations! \n Enjoy $SKIN."
	  case $SKIN in
		  CrystalMonitorGroup*)
			  $CMEXTDIR/CrystalMonitorGroup/instal;;
		  EasyMonitor*)
			  $CMEXTDIR/EasyMonitor/install.sh;;
		  "GnomaSAnDTrolaS System Monitor 1.0"*)
			  cd $CMEXTDIR/GT1
			  superkaramba G&TMonitor.theme;;
		  "GnomaSAnDTrolaS System Monitor 1.1"*)
			  cd $CMEXTDIR/GT11
			  superkaramba GATNOE.theme;;
		  "GnomaSAnDTrolaS System Monitor Oxygen"*)
			  cd $CMEXTDIR/GTOE
			  superkaramba G&TMonitor.theme;;
		  miminon*)
			  cd $CMEXTDIR/minimon
			  superkaramba minimon.theme;;
		  MyMon*)
			  cd $CMEXTDIR/MyMon
			  superkaramba MyMon.theme;;
		  Tiny*)
			  cd $CMEXTDIR/MyMon
			  superkaramba MyMon-tiny.theme;;
		  SuperMonitor*)
			  cd $CMEXTDIR/SuperMonitor_mod
			  superkaramba supermonitor_mod.theme;;
		  CrystalPingo*)
			  cd $CMEXTDIR/CrystalPingo
			  superkaramba Crystal.theme;;
		  *)
			  TEXT="Error! \n For help send log.txt file to smihael@gmail.com.";;
	  esac
	  kdialog --title "$SCRIPT_ID" --msgbox "$TEXT"
	  rm skin
}

step_2 () {
	kdialog --title "$SCRIPT_ID" --yesno "Do you want to switch to older version (select Yes) or to switch between skins (select No)?"
	    if [ $? = 0 ]; then
			select_cm_version
	    else
			select_cm_skin
	    fi
}

backup () {
	rm -Rf $CMEXTDIR.old
	mv $CMEXTDIR $CMEXTDIR.old
}

kdialog --title "$SCRIPT_ID" --msgbox "Welcome to $SCRIPT_ID! \n\n CrystalMonitor utility for selecting skins!" #--icon "preferences-system"
kdialog --title "$SCRIPT_ID" --yesnocancel "Do you want to install extra packages for CrystalMonitor from the Internet? \n Select No if you've already downloaded file $TAR."; a=$?;
	if [ $a = "0" ]; then
		backup
		kdialog --passivepopup "Downloading ..."
		wget $EXTPATH
		kdialog --passivepopup "Extracting ..."
		mkdir $CMEXTDIR
		cp $TAR $CMEXTDIR
		rm $TAR
		cd $CMEXTDIR
		tar -zxvf $TAR
		kdialog --passivepopup "Cleaning temporary files ..."
		kdialog --title "$SCRIPT_ID" --msgbox 'Congratulations! Downloading, extracting and cleaning finished successfully! Continue with step 2!'
		step_2
	elif [ $a = "1" ]; then
		backup
		kdialog --title "Select where $TAR is saved" --getopenfilename . "*.tar.gz |*.TAR.GZ" >> tar.txt
		TAR2=`cat tar.txt`
		rm tar.txt
		mkdir $CMEXTDIR
		cd $CMEXTDIR
		kdialog --passivepopup "Extracting ..."
		tar -zxvf $TAR2
		kdialog --title "$SCRIPT_ID" --msgbox 'Congratulations! Extracting finished successfully! Continue with step 2!'
		step_2
	else
		exit
	fi