; Installation script for TurboPrint Professional 6
; (C) 1997,98 IrseeSoft
;
;
; $VER: TurboPrint Professional 6.02 (16.03.98), wersja polska 1.0 (98.04.17) 
;
;
;   "Install TurboPrint"         operationMode = 0
;   "Update TurboPrint"          operationMode = 1
;   "Remove TurboPrint"          operationMode = 2
;   "Install on Disk"            operationMode = 3
;   "Query TurboPrint Version"   operationMode = 4
;

; String constants section. All messages and strings appear in this section
; for easier translation into foreign languages.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; LANGUAGE SECTION
;
; to support more than only one language, there is a special section for
; each supported language.
;

   (set #language "polski")
   (set #graphics-publisher "GraphicsPublisher")
   (set #print-manager "PrintManager")
   (set #read-me "ReadMe")
   (set #extra-personalization "personalization")

   (set #tp-version "TurboPrint Professional 6.02 (16.03.98) " )

   (set #wrongversion
      (cat "Uwaga: Uûywasz aktualnie starej wersji programu 'Installer'. "
           "Ten skrypt instalacyjny wymaga przynajmniej Installer'a V43.3. "
           "Installer V43.3 jest na dysku instalacyjnym TP.\n\n"
           "Jeûeli uûywasz programu MCP, równieû musisz nagraê nowâ wersjë Installer'a"
           "na Twój dysk twardy lub wyîâczyê MCP."
      )
   )




   (set #introduction
      (cat "\nInstalacja programu TURBOprint Professional 6\n"
             "   Copyright © 1997,98 IrseeSoft SPCS\n\n"
           "Proszë wybraê:\n\n"
      )
   )

   (set #introduction-help
      (cat "\n"
      )
   )

   (set #need-os2
      (cat "\nTurboPrint Professional 6 wymaga Kickstart'u 2.04 lub wyûszego\n"
           "Aby uûywaê TurboPrint Professional 6 musisz dokonaê wymiany systemu na wymagany "
           "(Kickstart ROM + dyski). Zapytaj dealera AMIGI o szczegóîy. "
      )
   )

   (set #install "Pierwsza instalacja TURBOprint'a")
   (set #update  "Instalacja aktualniejszej wersji")
   (set #remove  "Usuï z dysku")
   (set #instdisk "Instalacja na dyskietkach")
   (set #version "Pokaû numer wersji")


   (set #askfordisk (cat "Proszë wîoûyê pustâ dyskietkë, która zostanie dyskiem instalacyjnym "
                         "programu TurboPrint 6. Nastëpnie, kliknij "
                         "na ikonkë stacji dysków do której jâ wîoûyîeô."
           )
   )

   (set #format-disk (cat "Dysk zostanie teraz sformatowany. Wszystkie dane na dysku "
                         "zostanâ skasowane.\n\n"
                         "Komputer poprosi o dyskietkë Workbench - "
                         "proszë wîoûyê dysk Workbench do dodatkowej stacji dysków "
                         "lub zabezpieczyê ten dysk przed zapisem. Po ukazaniu sië komunikatu "
                         "\"Dysk jest zabezpieczony przed zapisem\" wîóû "
                         "uprzednio przygotowanâ dyskietkë. "
                     )
   )



   (set #path-prompt0 (cat "Proszë wybraê miejsce, gdzie bëdzie zainstalowany TURBOprint\n"
			  "(katalog zostanie zaîoûony)."
   )
     )

   (set #path-prompt1 (cat "Proszë wskazaê katalog gdzie ma zostaê "
			  "zainstalowana aktualniejsza wersja TP")
   )

   (set #path-prompt2 (cat "Proszë wskazaê katalog TURBOprint "
			  "przenaczony do usuniëcia")
   )
   (set #formating-disk (cat "Formatujë dyskietkë...")
   )

   (set #unpacking-files (cat "Rozpakowujë pliki...")
   )

   (set #disk-ready (cat "Dysk instalacyjny jest gotowy.")
   )

; additional help to the built-in one
   (set #generic-help
      (cat "Proszë przeczytaê plik ReadMe!"
      )
   )

   (set #which-printer
      (cat "Proszë wybraê drukarkë "
           "lub 'Pomóû',\n jeûeli Twoja drukarka nie znajdujë sië na liôcie"
      )
   )
   (set #help-printer
      (cat "Jeûeli Twoja drukarka nie znajdujë sië na liôcie "
           "zajrzyj do instrukcji drukarki aby dowiedzieê sië jaki typ emulacji "
           "jest moûliwy i wybraê odpowiedni sterownik TurboPrint'a.\n "
           "Dla drukarek kompatybilnych z Epson ESC/p 9-igîowych wybierz "
           "'.9-pin', dla 24-igîowych wybierz '.24-pin', dla "
           "drukarek laserowych kompatybilnych z HP PCL wybierz '.laser'\n\n"
      )
   )

   (set #another-printer
      (cat "Czy chcesz zainstalowaê inny sterownik drukarki?\n"
           "Zainstalowane sterowniki to:\n\n"
      )
   )
   (set #ask-pryes
      (cat "Tak")
   )
   (set #ask-prno
      (cat "Nie")
   )

   (set #remove-drivers
      (cat "\nWybraîeô opcjë 'Usuï z dysku '.\n"
           "Katalog TURBOprint zostanie skasowany. "
           "Proszë sië upewniê, ûe nie ma w nim ûadnych innych programów "
           "lub innych plików na których Ci zaleûy!!\n"
      )
   )

   (set #update-drivers
      (cat "\nAktualizacja usunie wszystkie pliki z katalogów "
           "'Printers', 'Configs' i 'Turbo' w katalogu TURBOprint. "
           "(n.p. stare sterowniki drukarek i pliki konfiguracyjne).\n" 
           "Jeûeli nie chcesz ich usunâê, wybierz "
           "'Przerwij instalacjë'."
      )
   )

   (set #removing-drivers
      (cat "\nTURBOprint jest kasowany..."
      )
   )
   (set #removing-turboprefs
      (cat "Jeûeli Twój startup-sequence/user-startup zostaî zmieniony "
           "przez skrypt instalacyjny, zmiany zostanâ usuniëte. "
      )
   )
   (set #adding-turboprefs
      (cat "Nastëpujâce linie zostanâ dodane do "
	   "pliku 's:user-startup': \n"
           "'Assign TURBOprint: <pfad>:TURBOprint'\n"
           "'TURBOprint:TURBOprefs -q'"
      )
   )
   (set #removing-startup
      (cat "Jeûeli zmieniîeô Swój startup-sequence "
       "dla TURBOprint's 1.0/2.0: \n"
       "Komendy 'assign TURBOprint: ...' i 'TURBOprint:Turboprefs -q' "
       "nie sa dîuûej potrzebne i powinny zostaê usuniëte.\n"
      )
   )

   (set #ask-wbstart20
    (cat "TURBOprint moûe uruchamiaê sië automatycznie podczas startu komputera. "
         "W tym celu naleûy skopiowaê plik 'TURBOstart' "
         "do katalogu WBStartup. \n")
   )

   (set #wbstart-help
    (cat "\n"
    )
   )

   (set #ask-wbyes "Instaluj autostart" )

   (set #ask-wbno "Bez autostart'u" )

   (set #ask-printmanager 
    (cat "Czy chcesz zainstalowaê program "
         "GraphicsPublisher?" 
    )
   )

   (set #ask-pmyes "Instaluj " )

   (set #ask-pmno "Nie instaluj " )



   (set #ask-turbospool
    (cat "Czy chcesz aby TurboSpool byî uruchamiany "
         "przy wczytywaniu systemu?" 
    )
   )

   (set #ask-tsyes "Tak " )

   (set #ask-tsno "Nie " )



   (set #ask-pictures 
    (cat "Czy chcesz skopiowaê przykîadowe obrazki na dysk twardy?" )
   )

   (set #ask-piyes "Skopiuj obrazki" )

   (set #ask-pino "Nie kopiuj obrazków" )

   (set #version-info "\nInformacje na temat systemu:\n")
   (set #system-version-info "Kickstart %ld.%ld, Workbench %ld.%ld\n")


   (set #installation-done
      (cat "\nInstalacja TurboPrint'a zakoïczona.\n "
           "Proszë wyjâê dyskietkë i zresetowaê komputer.\n"
      )
   )


; General initialisation of internal states, options and pre-defined
; variables go here.

(delopts askuser)

; Check whether this system is operating with at least Workbench 2.04 (V37).
; This is needed for the WBStartup feature and the Printmanager

(set kickVersion (shiftright (getversion) 16))

(set wbVersion (shiftright (getversion "LIBS:version.library") 16))

; set source directory

(set sourcedir (pathonly @icon))

;
(if (< kickVersion 37)
  (
   (message #need-os2)
   (exit (quiet))
  )
)
;

;Installer-Version prüfen...

(if (< @installer-version 2818051)
 (
  (user 2)
  (message #wrongversion)
  (exit (quiet))
 )
)

(welcome)

; remember current user level

(set old-level @user-level)

; Introduce ourself to the user. Query whether the software shall be
; installed/updated or removed altogether.

(set operationMode
   (askchoice
      (prompt #introduction)
      (choices #install #update #remove #instdisk #version)
      (help #generic-help #introduction-help @askchoice-help)
   )
)

; Install on Disk

(if (= operationMode 3)
   (
     ;Personalisierung

     (run (cat (tackon sourcedir #extra-personalization) " -q"))
	
     (set diskNumber
      (askchoice
       (prompt #askfordisk)
       (choices "DF0:" "DF1:" "DF2:" "DF3:" )
       (help #generic-help #introduction-help @askchoice-help)
      )
     )

     (message #format-disk)

     (set format-command (cat "sys:system/format drive df" diskNumber ": name TurboPrint ffs noicons"))
     (working (#formating-disk))
     (run format-command)

     (set lha-command (cat (tackon sourcedir "LHA") " x Turboprint6.lha TurboPrint:"))
     (working (#unpacking-files))
     (run lha-command)

     ;copy turboprefs from disk to hd

     (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon sourcedir "Turboprefs"))
   	      (dest   "TurboPrint:")
     )

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon sourcedir #read-me))
   	      (dest   "TurboPrint:")
              (infos)
   )
     
     (message #disk-ready)
     (exit (quiet))
   )
)

; Show version number

(if (= operationMode 4)
   (
   ; Find out the version of the Kickstart and Workbench and append it to the
   ; version information string.

   (set #version-info 
     (cat #version-info 
      (#system-version-info 

	(shiftright (getversion) 16)
	(bitand (getversion) 65535)
	(shiftright (getversion "LIBS:version.library") 16)
	(bitand (getversion "LIBS:version.library") 65535)
      )
     )
   )
     

   ; Get the version string from this installer script itself!

   (set #version-info (cat #version-info #tp-version))

   (message #version-info)
   (exit (quiet))
   )
)

; Get path of TurboPrint
; Set the prompt depending on operationMode

(if (= operationMode 0)

   (set #path-prompt #path-prompt0)
)

(if (= operationMode 1)

   (set #path-prompt #path-prompt1)
)

(if (= operationMode 2)

   (set #path-prompt #path-prompt2)
)


; ask for the destination directory

(if (not (exists "Work:"))
   (user 1)
)

(set target
   (askdir (prompt #path-prompt)
   (help #generic-help @askdir-help)
   (default "Work:") )
)

(user old-level)

; Update TurboPrint => remove contents of Printers, Configs and Turbo drawers

(if (= operationMode 1)
 (
   (message #update-drivers)
   
      (delete (tackon target (cat "TurboPrint/" #print-manager)))
      (delete (tackon target (cat "TurboPrint/" #print-manager ".info")))
      (delete (tackon target "TurboPrint/TurboPrefs"))
      (delete (tackon target "TurboPrint/TurboPrefs.info"))
      (delete (tackon target "TurboPrint/NoTurbo"))
      (delete (tackon target "TurboPrint/NoTurbo.info"))

      (delete (tackon target "TurboPrint/Printers") (all))
      (delete (tackon target "TurboPrint/Configs") (all))
      (delete (tackon target "TurboPrint/Turbo") (all))
      (delete (tackon target "TurboPrint/Colors") (all))
      (delete (tackon target "TurboPrint/Drivers") (all))
 )
)

; Remove TurboPrint => remove TurboPrint drawer completely

(if (= operationMode 2)
 (
   (message #remove-drivers)
   (working #removing-drivers)

   (run (cat (tackon target "Turboprint/NoTurbo") " -q"))

   (delete (tackon target "TurboPrint") (all) )

   ;Remove TurboStart in WBStartup

   (delete "sys:WBStartup/TurboStart.info")

   ;Remove TurboSpool in WBStartup

   (delete "sys:WBStartup/TurboSpool.info")

   ;Remove TurboPrefs in Prefs

   (delete "sys:Prefs/TurboPrefs.info")

   ;Inform user

   (startup "TurboPrint"
         (prompt #removing-TurboPrefs)
         (help #generic-help @startup-help)
   )
 )
)

;if install or update

(if (or (= operationMode 0) (= operationMode 1) )
  (

;Personalisierung

   (run (cat (tackon sourcedir #extra-personalization) " -q"))
	

;Make TurboPrint drawer
   (makedir   (tackon target "TurboPrint") (infos))

;expand the whole Turboprint archive to the Turboprint drawer

   (set lha-command (cat (tackon sourcedir "LHA") " x Turboprint6.lha \"" (tackon target "TurboPrint") "/\""))
   (run lha-command)

   (set lha-command (cat (tackon sourcedir "LHA") " x Turboprint6HD.lha \"" (tackon target "TurboPrint") "/\""))
   (run lha-command)

   (run (cat (tackon target "Turboprint/NoTurbo") " -q"))

;Choose default printer(s)

(set printer-copy 1)

(user 1)

(while (= 1 printer-copy)
 (

  (set printer-name
   (askfile (prompt #which-printer)
   (help #help-printer @askfile-help)
   (default (tackon target "TurboPrint/Printers"))
   )
  )

  (if ( = (tackon target "TurboPrint/Printers") (pathonly printer-name) )
(
  (set printer-name (fileonly printer-name))

  (set printer-name (substr printer-name 0 ( - (strlen printer-name) 4) ))

  (copyfiles
   (help   #generic-help @copyfiles-help)
   (source (tackon target "Turboprint/Configs/_Dummy_"))
   (dest   (tackon target "TurboPrint/Configs" ))
   (newname (cat printer-name ".tpc") )
  )

  (set printer-list (cat printer-list printer-name "\n"))

  (set printer-copy (askbool (prompt (cat #another-printer printer-list) )
	     (help @askchoice-help)
))
   )
  )

 )
)

(user old-level)

;user-startup
;the installer creates a user-startup if it doesn't already exist
;dont ask user

 ;Add assign to user-startup

      (startup "TurboPrint"
         (command 
            (cat "Assign TurboPrint: \"" (tackon target "TurboPrint") "\"")
         )
         (prompt #adding-TurboPrefs)
         (help #generic-help @startup-help)
      )

;Execute assign NOW

(makeassign ("TurboPrint") (tackon target "TurboPrint") )


;install one of the two autostart options

   ;OS 2.x/3.0 => wbstartup drawer
   ;ask user if he/she wants to have the autostart option installed

(if (= 0 (askchoice (prompt #ask-wbstart20)
	     (help #wbstart-help @askchoice-help)
	     (choices #ask-wbyes #ask-wbno)
	     (default 0)
       )    )
 (
 ;Copy TurboStart icon to WBStartup-drawer

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon target "Turboprint/extra/TurboStart.info"))
   	      (dest   "sys:WBStartup" )
   )

   ;Put correct paths into TurboStart icon

   (tooltype
	  (dest "sys:WBStartup/TurboStart")
          (setdefaulttool "TurboPrint:TurboPrefs" )
          (settooltype "QUICK" "")
          (settooltype "DONOTWAIT" "")
	  (noposition)
   )

 )
)

;Put the Turbospool icon into the WBStartup-drawer if desired

(if (= 0 (askchoice (prompt #ask-turbospool)
	     (help #wbstart-help @askchoice-help)
	     (choices #ask-tsyes #ask-tsno)
	     (default 0)
       )    )
 (
 ;Copy TurboStart icon to WBStartup-drawer

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon target "Turboprint/extra/TurboSpool.info"))
   	      (dest   "sys:WBStartup" )
   )

   ;Put correct paths into TurboSpool icon

   (tooltype
	  (dest "sys:WBStartup/TurboSpool")
          (setdefaulttool "TurboPrint:TurboSpool")
          (settooltype "DONOTWAIT" "")
	  (noposition)
   )

 )
)

;install the necessary libraries

(copylib
      (source (tackon target "Turboprint/libs/multipic.library"))
      (dest   "LIBS:")
)

(copylib
      (source (tackon target "Turboprint/libs/wizard.library"))
      (dest   "LIBS:")
)

;Do the other stuff

 ;Copy TurboPrefs icon to sys:prefs

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon target "Turboprint/extra/TurboStart.info"))
   	      (dest   "sys:Prefs" )
	      (newname "TurboPrefs.info" )
   )

   ;Put correct paths into TurboStart icon

   (tooltype
	  (dest "sys:Prefs/TurboPrefs")
          (setdefaulttool "TurboPrint:TurboPrefs" )
          (settooltype "(QUICK)" "" )
	  (noposition)
   )

 ;make a copy of the GraphicsPublisher named Printmanager

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon target (cat "Turboprint/" #graphics-publisher)))
   	      (dest   (tackon target "TurboPrint") )
	      (newname #print-manager)
   )

 ;copy turboprefs from disk to hd

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon sourcedir "TurboPrefs"))
   	      (dest   (tackon target "TurboPrint"))
   )

   (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon sourcedir #read-me))
   	      (dest   (tackon target "TurboPrint"))
              (infos)
   )


   (if (exists (tackon "locale:catalogs" #language))
     (copyfiles
	      (help   #generic-help @copyfiles-help)
	      (source (tackon target "Turboprint/locale"))
   	      (dest   (tackon "locale:catalogs" #language) )
              (all)
     )
   )

   (delete (tackon target "TurboPrint/Configs/24-Pin.tpc") )

))
(user 1)
(message #installation-done)
(exit (quiet))

