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

        (set UserLevel.old @user-level)

; Initialisation des messages.

        (set Language 16)

        (set #WrongKickStart "\nAppAssign need OS2.04+")



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

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


; /*
; **    Textes d'aides
; **/
(set LangueHelp
    "Select which language you want the documentation in.")

(set IconHelp
    "What kind of icons do you want:\n\n- 4 colors:          Standards icons\n- 8 colors MagicWB : Standard MagicWB")

(set bguiHelp
    "The bgui.library makes it easier to create a nice GUI.\n\nbgui.library   (C) 1993-1996 Jan van den Baard")

(set screennotifyHelp
    "screennotify (C) Stejan Becker.\nNot necessary, allow to know when the Workbench ask to close." )

(set SaveAssign
    "A FileQuest: assign will add in the user-startup. This assign is necessary.")

( set DefConfig
    "Choose a configuration-file already made." )


;
; Répertoire de destination
; *************************
;

(set Path.source (pathonly @icon) )

(set  Path.dest
        (askdir
                (prompt "\nSelect or create a directory to install AppAssign in.\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 "Copy 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 "Copy ConfigFileQuest")
        (help @copyfiles-help)
        (source Path.source)
        (dest ConfigPath)
        (choices "Config/ConfigFileQuest" "Config/ConfigFileQuest.info")
)




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

(copyfiles
    (prompt "Copy FileQuest tools")
    (source Path.source)
    (dest   Path.dest)
    (choices "Extras.info")
)


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



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

    )
)


    (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 "What kind of icon do you want ?")
            (choices "4 colors" "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 "Copy the bgui.library")
    (source "libs/bgui.library")
    (dest "Libs:")
    (help bguiHelp)
    (confirm)
)

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


; Configuration par defaut
; ************************
(set Config (askchoice
                (prompt "Which already-made configuration do you want ?")
                (choices "HIRES Français" "ENTRELACEE Français" "HIRES English" "LACE English")
                (help DefConfig)
                (default 2)
        )
)

(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 "Do you want to always have an AppIcon on the WB ?")
            (choices "Yes" "No")
            (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 "Adding a FileQuest: assign to your user-startup" )
    (command Icon )
    (help SaveAssign)
)

(makeassign "Filequest" Path.dest)


; /*
; **    This is THE END...
; **/

(message "\nPlease read documentation for other options")


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

