;
; /*
; **    $VER: Installation de FileQuest 1.0
; **
; **    Scripte "Installer" pour FileQuest.
; **/

        (set UserLevel.old @user-level)

; Initialisation des messages.

        (set Language 16)

        (set #WrongKickStart "\nFileQuest ne fonctionne qu'avec un KickStart >= à 2.04.")



; S'assurer que l'on utilise un KickStart >= à 2.04.

        (if (< (/ (getversion) 65536) 37)
          (abort #WrongKickStart)
        )

; /*
; **    Textes d'aides
; **/
(set LangueHelp "Choisissez dans quelle langue vous voulez la documentation.")

(set IconHelp "Choisissez dans quel format vous-voulez vos icônes:\n\n- 4 couleurs:          Icônes standards\n- 8 couleurs MagicWB : Standard MagicWB" )

(set bguiHelp "La bgui.library est une library facilitant la création d'interface et offrant de plus belle interface\n\nbgui.library   (C) 1993-1996 Jan van den Baard" )

(set screennotifyHelp "screennotify (C) Stejan Becker.\nElle n'est pas obligatoire, elle permet de fermer FileQuest quand le workbench le demande." )

(set SaveAssign "Un assign FileQuest: sera rajouter dans la user-startup. Cette assign est necessaire au fonctionnement de FileQuest.")

(set DefConfig "Choix d'une configuration déjà faite" )


;
; Répertoire de destination
; *************************
;
(set Path.source (pathonly @icon) )

(set  Path.dest
    (askdir
        (prompt "\nSélectionner un chemin dans lequel sera installé FileQuest (un répertoire 'FileQuest' sera crée).\n")
        (help @askdir-help)
        (default "Sys:")
    )
)

; Création du répertoire
; **********************

(set Path.dest (tackon Path.dest "FileQuest"))
(makedir Path.dest (infos) )


; Copie des executables
; *********************

(copyfiles
        (prompt "Copie de FileQuest")
        (help @copyfiles-help)
        (source Path.source)
        (dest Path.dest)
        (choices "FileQuest" "FileQuest.info")
)

(set ConfigPath (tackon Path.dest "Config"))
(makedir ConfigPath (infos))

(copyfiles
        (prompt "Copie de ConfigFileQuest")
        (help @copyfiles-help)
        (source Path.source)
        (dest ConfigPath)
        (choices "Config/ConfigFileQuest" "Config/ConfigFileQuest.info")
)



; Copie du catalogs Français
; **************************
;
(set CatPath (tackon Path.dest "catalogs"))
(makedir CatPath)
(set CatPath (tackon Path.dest "catalogs/français"))
(makedir CatPath)

(copyfiles
    (prompt "Copie du catalogs de FileQuest")
    (source Path.source)
    (dest CatPath)
    (choices "catalogs/français/FileQuest.catalog")
)


(set CatPath (tackon ConfigPath "catalogs"))
(makedir CatPath)
(set CatPath (tackon ConfigPath "catalogs/français"))
(makedir CatPath)

(copyfiles
    (prompt "Copie du catalogs de ConfigFileQuest")
    (source Path.source)
    (dest CatPath)
    (choices "Config/catalogs/français/ConfigFileQuest.catalog")
)



; Copie du répertoire Extras
; **************************
(copyfiles
    (prompt "Copie des utilitaires de FileQuest")
    (source Path.source)
    (dest   (tackon Path.dest "Extras"))
    (choices "Extras/")
)

(copyfiles
    (prompt "Copie des utilitaires de FileQuest")
    (source Path.source)
    (dest   Path.dest)
    (choices "Extras.info")
)


; Copie de la Thinpaz.font
; ************************

(copyfiles
    (prompt "Copie de la Thinpaz.font")
    (source Path.source)
    (dest   "Fonts:")
    (choices "Fonts/Thinpaz" "Fonts/Thinpaz.font")
)



; Copie de la documentation
; *************************
;
(set Doc (askchoice
            (prompt "Documentation de FileQuest")
            (choices "Française" "Anglaise" )
            (help LangueHelp)
            (default 0)

    )
)


    (if (= Doc 0)
        (copyfiles
            (source "FileQuest_FR.guide")
            (dest Path.dest)
            (newname "FileQuest.guide")
            (infos)
        )
    )

    (if (= Doc 1)
        (copyfiles
            (source "FileQuest_ENG.guide")
            (dest Path.dest)
            (newname "FileQuest.guide")
            (infos)
        )
    )



; On copie les icônes
; *******************
;
(set Icon (askchoice
            (prompt "Quel type d'icône voulez-vous utiliser ?")
            (choices "4 couleurs" "MagicWB" )
            (default 1)
            (help IconHelp)
    )
)

    ; 4 couleurs ?
    ; **********
    (if (= Icon 0)
    (
        (copyfiles
            (source "Icons/FileQuest.info")
            (dest Path.dest)
            (newname "FileQuest.info")
        )

        (copyfiles
            (source "Icons/Guide.info")
            (dest Path.dest)
            (newname "FileQuest.guide.info")
        )

        (copyfiles
            (source "Icons/ConfigFileQuest.info")
            (dest ConfigPath)
            (newname "ConfigFileQuest.info")
        )

    )
    )




; Copie de la bgui.library
; ************************
(copylib
    (prompt "Copie de la bgui.library")
    (source "libs/bgui.library")
    (dest "Libs:")
    (help bguiHelp)
    (confirm)
)

; Copie de la screennotify.library
; ********************************
(copylib
    (prompt "Copie de la screennotify.library")
    (source "libs/screennotify.library")
    (dest "Libs:")
    (help screennotifyHelp)
    (confirm)
)



; Configuration par defaut
; ************************
(set Config (askchoice
                (prompt "Quel configuration préparé voulez-vous ?")
                (choices "HIRES Français" "ENTRELACEE Français" "HIRES English" "LACE English")
                (help DefConfig)
                (default 0)
        )
)

(set DestName (tackon Path.dest "Config"))

    ; /*
    ; **    Backup old file
    ; **/
    (rename (tackon DestName "FileQuest.Prefs") (tackon DestName "FileQuest.Prefs.OLD"))
    (rename (tackon DestName "FileQuest.FileTypes") (tackon DestName "FileQuest.FileTypes.OLD"))
    (rename (tackon DestName "FileQuest.PopupMenu") (tackon DestName "FileQuest.PopupMenu.OLD"))



    ; HIRES Français
    ; **************
    ;
    (if (= Config 0)
    (
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.Prefs.HIRES.FR")
            (dest DestName)
            (newname "FileQuest.Prefs")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.PopupMenu.FR")
            (dest DestName)
            (newname "FileQuest.PopupMenu")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.FileTypes.FR")
            (dest DestName)
            (newname "FileQuest.FileTypes")
        )
    )
    )

    ; HIRES LACE
    ; **********
    ;
    (if (= Config 1)
    (
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.Prefs.LACE.FR")
            (dest DestName)
            (newname "FileQuest.Prefs")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.PopupMenu.FR")
            (dest DestName)
            (newname "FileQuest.PopupMenu")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.FileTypes.FR")
            (dest DestName)
            (newname "FileQuest.FileTypes")
        )
    )
    )

    ; HIRES English
    ; *************
    ;
    (if (= Config 2)
    (
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.Prefs.HIRES.ENG")
            (dest DestName)
            (newname "FileQuest.Prefs")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.PopupMenu.ENG")
            (dest DestName)
            (newname "FileQuest.PopupMenu")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.FileTypes.ENG")
            (dest DestName)
            (newname "FileQuest.FileTypes")
        )
    )
    )

    ; HIRES Lace English
    ; ******************
    ;
    (if (= Config 3)
    (
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.Prefs.LACE.ENG")
            (dest DestName)
            (newname "FileQuest.Prefs")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.PopupMenu.ENG")
            (dest DestName)
            (newname "FileQuest.PopupMenu")
        )
        (copyfiles
            (source "Config/Prefs_Storage/FileQuest.FileTypes.ENG")
            (dest DestName)
            (newname "FileQuest.FileTypes")
        )
    )
    )





; Parametrage du programme
; ************************

; On prend le chemin de destination et le nom
(set DestName (tackon Path.dest "FileQuest"))


; ************
; * TOOLTYPE *
; ************
(set Icon (askchoice
            (prompt "Vous voulez toujours avoir un AppIcon sur le Workbench ?")
            (choices "Oui" "Non")
            (help Refresh)
    )
)

    (if (= Icon 0)
        (tooltype
            (settooltype "APPICON" "YES")
            (dest DestName)
        )
    )

    (if (= Icon 1)
        (tooltype
            (settooltype "APPICON" "NO" )
            (dest DestName)
        )
    )


; **********************
; * Assigne FileQuest: *
; **********************

(set Icon (cat "c:Assign FileQuest: " Path.dest) )

(startup "FileQuest"
    (prompt "Sauvegarde l'assignation du répertoire de FileQuest" )
    (command Icon )
    (help SaveAssign)
)

(makeassign "Filequest" Path.dest)


; /*
; **    This is THE END...
; **/
(message "Lisez la documentation pour toutes les options et possiblités.")


(set @default-dest Path.dest )
        (exit)

