;
; $PROJECT: UniView
;
; $VER: Install 40.1 (08.12.96)
;
; $AUTHOR: Stefan Ruppert , Windthorststraße 5 , 65439 Flörsheim , GERMANY
;
; $COPYRIGHT: (C) Copyright 1996-1997 by Stefan Ruppert, All Rights Reserved!
;
; $EMAIL: ruppert@amigaworld.com
;
; $HISTORY:
;
; 08.12.96 : 040.001 : initial
;

(set #project       "UniView")
(set #dirname       "UniView")

(set #cpu (database "cpu"))

(set #loc-english  (cat "english"))
(set #loc-german   (cat "deutsch"))
(set #loc-danish   (cat "dansk"))
(set #loc-frensh   (cat "français"))
(set #loc-greek    (cat "greek"))
(set #loc-italiano (cat "italiano"))
(set #loc-norsk    (cat "norsk"))
(set #loc-suomi    (cat "suomi"))
(set #loc-swedish  (cat "svenska"))

;
; V43 installer only
;
(procedure p_version name
	(/ (getversion name) 65536)
)

(procedure p_revision name
	(set #p_ver (getversion name))
	(- #p_ver (* (/ #p_ver 65536) 65536))
)

;
; german texts
;

(set #lang-default 0)

(if (= @language "deutsch")
    (
	(set #lang-default 2)
	(set #txt-english "Englisch")
	(set #txt-german  "Deutsch")

	(set #txt-classdir-prompt "Wo liegen die System Klassen?")

	(set #txt-dest-dir-prompt (cat
	     "Wohin soll " @app-name " installiert werden?\n"
	     "(Es wird ein Verzeichnis " #dirname " angelegt)"
	     )
	)
	(set #txt-dest-dir-help (cat
	     "Wählen Sie hier ein Verzeichnis, indem alle Dateien abgelegt "
	     "werden.\n"
	     )
	)

	(set #txt-copy-class "Kopiere Klassen")
	(set #txt-copy-menu-files "Kopiere Menü Dateien")

	(set #txt-language-prompt "Welche Sprachen sollen installiert werden?")
	(set #txt-language-help   (cat ""))

	(set #txt-replace-multiview (cat
	     "Soll MultiView durch UniView ersetzt werden (HardLink)?\n\n"
	     "Wenn Sie für alle Dateien lieber UniView als Standard verwenden "
	     "wollen, dann ist es sinnvoll MultiView in z.B. MultiView.old "
	     "umzubennen und einen Link von MultiView auf UniView zeigen zu "
	     "lassen. Dies wird durch einen Hardlink erreicht, so daß UniView "
	     "auf der gleichen Partition installiert sein muß wie MultiView "
	     "(Sys:). Wenn Sie dies wünschen, dann beanworten Sie die Frage "
	     "mit Ja."
	))
    )
)

;
; english texts (default)
;

(if (OR (= @language "english") (= #lang-default 0))
    (
	(set #lang-default 1)

	(set #txt-english "English")
	(set #txt-german  "German")

	(set #txt-classdir-prompt "Where do the system classes belong?")

	(set #txt-dest-dir-prompt (cat
	     "Where do you want to install the " @app-name "?\n"
	     "(A drawer called " #dirname " will be created there)"
	     )
	)
	(set #txt-dest-dir-help (cat
	     "Please select here a drawer, in which all files are copied. "
	     )
	)

	(set #txt-copy-class "Copy classes")
	(set #txt-copy-menu-files "Copy menu files")

	(set #txt-language-prompt "Which languages should be installed?")
	(set #txt-language-help   (cat ""))

	(set #txt-replace-multiview (cat
	     "Do you want to replace MultiView with UniView (HardLink)?\n\n"
	     "If you want to view all files by default with UniView instead "
	     "with MultiView, you can do this by renaming MultiView to MultiView.old, "
	     "for example and to create a link from MultiView to UniView. "
	     "This will be made with an hard link, if you choose yes. But note, "
	     "therefore UniView have to be installed on the same partition as "
	     "MultiView resides (Sys:)."
	))
    )
)


; get classes dir
(set #classdir
	(askdir
		(prompt #txt-classdir-prompt)
		(help @askdir-help)
		(default "SYS:Classes")
	)
)

(complete 0)

(set @default-dest "Sys:Utilities")
(set #dest-dir-raw
     (askdir
	    (prompt #txt-dest-dir-prompt)
	    (help #txt-dest-dir-help @askdir-help)
	    (default @default-dest)
     )
)
(set #dest-dir (tackon #dest-dir-raw #dirname))
(if (= (exists #dest-dir) 0)
    (makedir #dest-dir (infos))
)
(set @default-dest #dest-dir)

(set #languages
     (askoptions
	 (prompt #txt-language-prompt)
	 (choices #loc-english #loc-german "") ; (#loc-frensh #loc-danish #loc-greek #loc-italiano #loc-norsk #loc-suomi #loc-swedish "")
	 (help #txt-language-help @askoptions-help)
	 (default #lang-default)
     )
)

(complete 10)

(if (= (exists "classes" (noreq)) 2)
    (
	 (copylib
		 (prompt #txt-copy-class)
		 (help @copylib-help)
		 (source "classes/dtwindow.class")
		 (dest #classdir)
	 )
	 (copylib
		 (prompt #txt-copy-class)
		 (help @copylib-help)
		 (source "classes/startup.class")
		 (dest #classdir)
	 )
    )
)

(complete 10)

(if (= (exists "locale" (noreq)) 2)
    (
	(set l 0)

	(while (set #lang (select l #loc-english #loc-german "")) ; (( #loc-frensh #loc-danish #loc-greek #loc-italiano #loc-norsk #loc-suomi #loc-swedish ""))
	     (if (in #languages l)
		 (
		     (set c 0)
		     (while (set #catalog (select c "startup" "dtwindow" ""))
			 (if (= (exists (cat "locale/catalogs/" #lang "/" #catalog ".catalog")) 1)
			     (copyfiles
				 (prompt (cat #txt-copy-catalog-prompt ": " #lang))
				 (source (cat "locale/catalogs/" #lang "/" #catalog ".catalog"))
				 (dest   (cat "Locale:catalogs/" #lang))
			     )
			 )
			 (set c (+ c 1))
		     )
		     (makedir (tackon #dest-dir "Menu"))
		     (copyfiles
			 (prompt #txt-copy-menu-files)
			 (source "Menu.info")
			 (dest   #dest-dir)
		     )
		     (makedir (tackon (tackon #dest-dir "Menu") #lang))
		     (copyfiles
			 (prompt #txt-copy-menu-files)
			 (source (tackon "Menu" #lang))
			 (pattern "#?")
			 (dest (tackon (tackon #dest-dir "Menu") #lang))
			 (infos)
		     )
		 )
	     )
	     (set l (+ l 1))
	)
    )
)

(complete 30)

(copyfiles
    (prompt #txt-copy-all)
    (source "")
    (dest   #dest-dir)
    (pattern "~(locale#?|menu#?|install#?|classes#?)")
    (help @copyfiles-help)
    (infos)
)

(complete 80)
(copyfiles
    (prompt #txt-copy-all)
    (help @copyfiles-help)
    (source "/UniView.info")
    (dest   (cat #dest-dir-raw))
)

(complete 90)
(if (NOT (exists "Sys:Utilities/MultiView.old"))
    (if (askbool (prompt #txt-replace-multiview) (help @askbool-help))
	(
	    (if (exists "Sys:Utilities/MultiView")
		(rename "Sys:Utilities/MultiView" "Sys:Utilities/MultiView.old")
	    )
	    (run "MakeLink" (cat "From Sys:Utilities/MultiView TO " (tackon #dest-dir "UniView") " HARD FORCE"))
	)
    )
)
(complete 95)

(run "Sys:Utilities/MultiView" "ReadMe")

(complete 100)

