;
; $VER: Installera 1.0 (17.1.98)
;
; Installationsskript för den svenska översättningen av AWeb.
;
; Magnus Holmgren (lear@algonet.se)
;

(set #language "Svenska")

(set #welcome
	(cat
		"\n\nVälkommen till Installeraren.\n\n"
		"Det här programmet låter dig installera den svenska "
		"översättningen av AWeb och AWebs manual i din Amiga.\n\n"
		"Observera att en vanlig installation av AWeb förväntas "
		"finnas, då enbart de ändrade filerna kommer att "
		"installeras.\n\n"
	)
)

(set #help-no-aweb-assign
	(cat
		"Kunde inte hitta lådan där AWeb är installerad. Normalt "
		"sett skall AWeb finnas i \"AWeb3:\", men någon sådan "
		"volym eller tilldelning kunde inte hittas.\n\n"
	)
)

(set #where-aweb "Var god välj den låda där AWeb är installerad.")

(set #help-where-aweb
	(cat
		"Var god välj den låda där AWeb är installerad. I denna "
		"låda bör åminstone filen AWeb samt lådorna \"docs\" och "
		"\"extras\" finnas."
	)
)

(set #same-dir
	(cat
		"\n"
		"Du verkar ha valt att installera översättningen i samma "
		"låda som den redan finns i. Vill du fortsätta ändå?"
	)
)

(set #help-same-dir
	(cat
		"Det verkar som om den låda du har valt att installera "
		"översättningen i är samma låda som den redan finns i. "
		"Att installera översättningen över sig själv är inte "
		"meningsfullt (och det kommer inte heller att fungera).\n\n"
		"Har du verkligen valt den låda AWeb finns i, har du "
		"förmodligen redan installerat översättningen där den "
		"skall vara. Avbryt i så fall denna installation."
	)
)

(set #really-aweb
	(cat
		"\n"
		"Lådan \"%s\" verkar inte innehålla en korrekt "
		"AWeb-installation. Vill du fortsätta ändå?"
	)
)

(set #help-really-aweb
	(cat
		"En korrekt AWeb-installation bör innehålla filen AWeb samt "
		"lådorna \"docs\" och \"extras\" (samt ett antal andra filer "
		"och lådor). Någon eller några av ovanstående fanns inte i "
		"den låda som du valt som destination. Detta kan tyda på att "
		"lådan inte innehåller en AWeb-installation."
	)
)

(set #continue "Fortsätt")

(set #cancel   "Avbryt")

(set #aborted  "\nInstalltionen avbruten av användaren.")

(set #makedir  "Skapar lådan \"%s\"... ")

(set #copy-program "Kopierar programöversättningen...")

(set #copy-manual "Kopierar manualen samt tillhörande filer...")

(message #welcome)

(welcome)

(set #dest "AWeb3:")

(if (<> 2 (exists #dest (noreq)))
	(set #dest "AWeb:")
)

(if (<> 2 (exists #dest (noreq)))
	(set #dest "AWeb-II:")
)

(if (<> 2 (exists #dest (noreq)))
	(set #dest "Sys:")
)

(if (AND (= #dest "Sys:") (= @user-level 1))
	(set #help #help-no-aweb-assign)
	(set #help "")
)

(if (OR (= #dest "Sys:") (>= @user-level 2))
	(set #dest
		(askdir
			(prompt #where-aweb)
			(help   #help #help-where-aweb "\n\n" @askdir-help)
			(default #dest)
		)
	)
)

(if (= (expandpath #dest) (expandpath ""))
	(if
		(NOT (askbool
			(prompt  #same-dir)
			(help    #help-same-dir)
			(choices #continue #cancel)
			(default 0)
		))
		(
			(exit #aborted (quiet))
		)
	)
)


(if (NOT (OR
	(= 2 (exists (tackon #dest "docs")))
	(= 2 (exists (tackon #dest "extras")))
	(= 1 (exists (tackon #dest "AWeb"))) ))
	(if
		(NOT (askbool
			(prompt	 (#really-aweb #dest))
			(help  	 #help-really-aweb)
			(choices #continue #cancel)
			(default 0)
		))
		(
			(exit #aborted (quiet))
		)
	)
)

; Maybe makedir can create several levels (in V43 only?)?
; Oh well, never hurts to be on the safe side.
(if (= 0 (exists (tackon #dest "Catalogs")))
	(makedir (tackon #dest "Catalogs")
		(prompt  (#makedir "Catalogs"))
	)
)

(set #cat-source (tackon "Catalogs" #language))
(set #cat-dest   (tackon (tackon #dest "Catalogs") #language))

(copylib
	(prompt #copy-program)
	(source (tackon #cat-source "aweb.catalog"))
	(dest   #cat-dest)
)

(copylib
	(prompt #copy-program)
	(source (tackon #cat-source "awebcfg.catalog"))
	(dest   #cat-dest)
)

(copyfiles
	(prompt #copy-manual)
	(source "docs")
	(dest   (tackon #dest "docs"))
	(all)
)

(copyfiles
	(prompt #copy-manual)
	(source "extras")
	(dest   (tackon #dest "extras"))
	(all)
)

(set @default-dest #dest)

(exit)
