
(complete 0)

(set vernum (getversion ))
(set ver (/ vernum 65536))
(if (> 37 ver)
   ;then
(exit "YoWB 1.0 a besoin d'un système 2.0 ou plus : Installation impossible" (quiet))
   ;else
(welcome("Bienvenue dans le programme d'installation de YoWB 1.0"))
)

;======================================================= APPLICATION : YoWB 1.0
(
 (set partname "SYS:WbStartup")

  (set Anydir (askdir
        (prompt "Choisissez la partition ou le répertoire dans lequel \"YoWB\" sera copié :")
        (help "Sélectionnez en cliquant ou en tapant au clavier la partition ou le répertoire dans lequel vous désirez que \"YoWB\" soit copié.\n")
        (default partname)
        (disk)
        )
  )
)

(message ("\nEtes-vous d'accord pour que YoWB soit installé dans le répertoire %ls ?\n" Anydir)
)

(if (= (exists "env:magicwb" (noreq)) 0)
 ; then le fichier n'existe pas
   (
    (copyfiles (source "YoWB") (dest Anydir) (infos))
    (working "Copie du programme de Préférence...")
    (copyfiles (source "YoPrefs") (dest "SYS:Prefs") (infos))
   )
 ; else on a trouve magicwb
   (
    (copyfiles (source "YoWB") (dest Anydir))
    (copyfiles (source "MagicIcon/YoWB.info") (dest Anydir))

    (working "Copie du programme de Préférence...")
    (copyfiles (source "YoPrefs") (dest "SYS:Prefs"))
    (copyfiles (source "MagicIcon/YoPrefs.info") (dest "SYS:Prefs"))
   )
)  ;end-if
(complete 20)


(set SoundDir (askdir
        (prompt "Choisissez la partition ou le répertoire dans lequel les sons seront copiés (un nouveau répertoire sera créé) :")
        (help "Sélectionnez en cliquant ou en tapant au clavier la partition ou le répertoire dans lequel vous désirez que les sont soient copiés.\n")
        (default AnyDir)
        (disk)
        )
 )
(set OutDir (tackon SoundDir "YoSounds"))
(makedir OutDir)

;======= Copie des sons ==================
(Working "Installation des sons")
 (foreach "YoSounds" "#?"
    (copyfiles
        (source (tackon "YoSounds" @each-name))
        (dest OutDir)
        (optional nofail)
    )
 )

;======= Copie des sons ==================
(Working "Installation des préférences")
(copyfiles (source "YoWB.Prefs") (dest "ENV:"))
(copyfiles (source "YoWB.Prefs") (dest "ENVARC:"))

(if (= (exists OutDir (noreq)) 2)          ; OutDir est un répertoire existant ?
; then
 (
  (makeassign "YoSounds" OutDir)
     (startup "YoWB"
        (prompt ("\nLa commande \"Assign YoSounds: %ls\" va être insérée dans la procédure de démarrage..." OutDir))
        (help "Cet Assign va être nécessaire pour que YoWB puisse toujours retrouver ses fichiers de son par défaut.")
        (command ("Assign YoSounds: %ls" OutDir))
     )
 )
)
(complete 25)

(copylib
    (source "decollage.library")
    (dest "libs:")
    (optional nofail)
)

;======================================================= UIK

; Ce script d'installation a besoin d'être dans le même répertoire que
; "uik.library", "UIKPrefs", et un sous-répertoire "UIK" qui contient
; lui-même les objets dans un sous-sous-répertoire "Objects".
; Cette configuration permet aussi à l'utilisateur (si l'application
; est dans le même répertoire que ce script) d'essayer directement
; l'application depuis la disquette sans qu'il soit nécessaire de
; l'installer au préalable.

;------------------------------------ Librairie

(message  "\nMaintenant le script d'installation va examiner si sa version de uik.library "
          "est supérieure à celle installée dans votre Système. Si c'est le cas, la nouvelle "
          "version va remplacer l'ancienne."
    (help "UIK est un ensemble de fichiers utilisés par YoWB. Cette étape vous permet"
          "d'installer la dernière version de UIK.\n"
          "Il est donc avantageux de continuer l'installation, car elle est sans danger : si "
          "votre version est plus récente, le script d'installation va se terminer ici."
          )
)

(copylib
    (source "uik.library")
    (dest "libs:")
    (optional nofail)
)

(complete 30)

;------------------------------------ UIKPrefs

(message  "\nEtes-vous d'accord pour que UIKPrefs soit installé dans le répertoire \"SYS:Prefs\" ?\n"
          "\n(tapez Help pour quelques explications)"
    (help "UIKPrefs vous servira à régler les préférences de UIK et par conséquent de "
          "cette application qui repose sur UIK.\n"
          "Les différents réglages à votre disposition sont :\n"
          "- Les couleurs\n"
          "- La police de caractères\n"
          "- L'écran par défaut\n"
          "- L'aspect \"Système\" ou bien l'aspect \"UIK\"\n"
          "Le réglage des couleurs est important pour que l'interface utilisateur ait un aspect attractif et en relief. "
          "Si vous placez un gris foncé dans le carré \"Surligne\", allumez le petit bouton qui "
          "se trouve juste à sa droite."
          )
)

(copyfiles (source "UIKPrefs.info") (dest "SYS:Prefs"))
(copylib
    (source "UIKPrefs")
    (dest "SYS:Prefs")
    (optional nofail)
)
(tooltype (dest (tackon "SYS:Prefs" "UIKPrefs")) (noposition) (swapcolors))

(complete 50)

;=============== Choix des couleurs ===========================
(makedir "env:UIK")
(makedir "envarc:UIK")


;------------------------------------ Objets

;---------------------- Création répertoire

(if (= (exists "UIK:" (noreq)) 2)          ; "UIK: est un répertoire existant ?
; then
    (set uikdirname "UIK:")
; else
    (
    (if (= (exists "WORK:" (noreq)) 2)
    ; then
        (set partname "WORK:")
    ; else
        (set partname "SYS:")
    )
    (set uikdir (askdir
        (prompt "Choisissez la partition ou le répertoire dans lequel un sous-répertoire \"UIK\" sera créé :")
        (help "Sélectionnez en cliquant ou en tapant au clavier la partition ou le répertoire dans lequel vous désirez qu'un sous-répertoire \"UIK\" soit créé.\n"
              "Ce même répertoire servira à toutes les applications qui sont développées sous UIK."
              )
        (default partname)
        (disk)
        )
    )
    (set uikdirname (tackon uikdir "UIK"))
    (set uikdir "abcdLSKJDMLS:") ; sécurité
    )
)

(message ("\nEtes-vous d'accord pour que UIK soit installé dans le répertoire %ls ?\n" uikdirname)
          "\nSi le répertoire UIK n'existe pas, il va être créé automatiquement."
)

(makedir uikdirname
    (infos)
)

(complete 60)

;---------------------- Copie des objets

(set uikobjdirname (tackon uikdirname "Objects"))

(foreach "UIK/Objects" "UIKObj_#?"
    (copylib
        (source (tackon "UIK/Objects" @each-name))
        (dest uikobjdirname)
        (optional nofail)
    )
)

(complete 90)

;----------------------------------------------  Startup

(if (< (exists "UIK:" (noreq)) 2)          ; "UIK: est un répertoire existant ?
; then
    (
    (makeassign "UIK" uikdirname)

    (startup "UIK"
        (prompt ("\nLa commande \"Assign UIK: %ls\" va être insérée dans la procédure de démarrage..." uikdirname))
        (help "Cet Assign va être nécessaire pour que UIK puisse toujours retrouver ses fichiers "
              "(paramètres, objets, etc...) quelque soit la façon dont les applications sont lancées."
              )
        (command ("Assign UIK: %ls" uikdirname))
    )
    )
)

(complete 100)

(exit "N'oubliez pas de lancer le programme de préférences UIKPrefs pour personnaliser YoWB.")

;======================================================= FIN

