Patch title: Release 85 bulk changes
Abstract:
File: /pliant/linux/storage/cdrom.page
Key:
    Removed line
    Added line
   
module "cdrom.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/language/unsafe.pli"
module "/pliant/admin/file.pli"

requires "administrator"

title "CDROM engraver simple user interface"

note "Define CD engraver settings for this computer"
  title "CD engraver settings"
  var (Data Set:Str) p :> this_computer:env:"hardware":"engraver"
  table columns 3 border 0
    cell [Engraver interface:]
    cell
      var Str interface := p "interface"
      select "" interface
        option "IDE" "ide"
        option "SCSI" "scsi"
    cell
      [With what kind of interface is your CD engraver connected to the computer.] ; eol
      [USB is not supported yet.]
    cell [Device:]
    cell
      var Str device := p "device"
      input "" device
    cell
      [If you have an IDE CD engraver, the device is probably device:/hdc if you have a single IDE hard disk, and device:/hdd if you have two of them.] ; eol
      [Should you have an SCSI engraver, then the device is probably device:/scd0]
    cell [SCSI ID:]
    cell
      var Str scsi_id := p "scsi_id"
      input "" scsi_id length 2
    cell
      []
    cell [Speed:]
    cell
      var Str speed := p "speed"
      input "" speed length 2
    cell
      [Most modern engravers will work nicely at speed 4.]
    cell [Cache:]
    cell
      var Str cache_mb := p "cache_mb"
      input "" cache_mb length 2 noeol ; [ MB]
    cell
      [How many megabytes should we assign to engraving cache. If you don't know what to assign, just leave it blank.]
    cell [Options:]
    cell
      var Str extra_options := p "options"
      input "" extra_options length 40
    cell
      [Supported options are 'pio' or 'dma' in order to force the IDE mode, 'keyboard 30' in order to give the user 30 seconds to manually close the CD tray if the drive cannot do it automatically.]
    cell [Export:]
    cell
      var Str export := p "export"
      input "" export length 40
    cell
      [List of other computers allowed to use this engraver.]
  button "update"
    this_computer "hardware" "engraver" "interface" := interface
    this_computer "hardware" "engraver" "device" := device
    this_computer "hardware" "engraver" "scsi_id" := scsi_id
    this_computer "hardware" "engraver" "speed" := speed
    this_computer "hardware" "engraver" "cache_mb" := cache_mb
    this_computer "hardware" "engraver" "options" := extra_options
    this_computer "hardware" "engraver" "export" := export
    goto_backward


table columns 1
  cell header [Engrave a directory]
  cell
    input "Path to engrave: " (var Str path) length 40
    select "CD is " (var Str path_rw)
      option "recordable" ""
      option "rewritable" " rw"
    input "CD title: " (var Str path_title)
    select "Engraving format " (var Str path_format)
      option "ISO9660 only" ""
      option "Macintosh" " macintosh"
      option "Windows" " windows"
      option "Macintosh + Windows" " macintosh windows"
    select "Engraving mode " (var Str path_mode)
      option "on the fly" ""
      option "build CD image, then engrave" " indirect"
      option "just simulate" " indirect dummy"
    page button "engrave"
      var ExtendedStatus status := cdrom_engrave (var List:FileInfo empty_list) "path "+string:path+" title "+string:path_title+path_format+path_rw+path_mode
      if status=success
        reload_page
      else
        text "Failed to engrave the CD" ; eol
        text status:message

table columns 1
  cell header [Engrave an ISO image]
  cell
    input "File to engrave: " (var Str file) length 40
    select "CD is " (var Str file_rw)
      option "recordable" ""
      option "rewritable" " rw"
    select "Engraving mode " (var Str file_mode)
      option "do real shot" ""
      option "just simulate" " dummy"
    page button "engrave"
      var ExtendedStatus status := cdrom_record file file_rw+file_mode
      if status=success
        reload_page
      else
        text "Failed to engrave the ISO image" ; eol
        text status:message