zIRCk Final Project — File Browser

zIRCkFinalProjectv2.5 / zIRCkFinalProjectv2.5 / System / script4.mrc

script4.mrc — 4.16 KB — Download this file

[SCRIPT]
NAME=Module manager/engine
VERSION=2.5

; ## Module Manager
; ## [AFX] 2005 

; ## Call Module Manager

alias mods { dodialog mods }

; ## Module handling aliases

alias findmod {
  write -c $shortfn($scriptdirModules.cfg) 
  var %x = $findfile($shortfn($scriptdir),*.mod,0,write $shortfn($scriptdirModules.cfg) $1-)
} 

alias addmodcfg {
  var %i = $readini($1-,Module,Icon),%t = $readini($1-,Module,Name)
  did -i mods 1 1 seticon normal 0 %i
  did -a mods 1 0 + %_i 0 0 %t 
  inc %_i
}

; ## Module Manager dialog table/events

dialog mods {
  title "Module Manager"
  size -1 -1 202 163
  option dbu
  icon $icl, 3
  tab "Load/unload", 16, 2 31 197 112
  list 1, 5 49 49 77, tab 16 size
  text "Name:", 6, 60 50 22 8, tab 16
  text "Author:", 8, 60 62 25 8, tab 16
  text "E-mail:", 9, 60 74 23 8, tab 16
  link "-", 10, 86 74 96 8, tab 16
  text "Info:", 11, 60 88 18 8, tab 16
  edit "", 12, 86 87 110 39, tab 16 multi return autovs vsbar
  text "Select a module", 13, 86 50 99 8, tab 16
  text "-", 14, 86 62 97 8, tab 16
  button "Load", 15, 5 128 49 12, disable tab 16
  tab "Download/update", 17
  list 18, 5 49 191 73, tab 17 size
  button "Get selected", 19, 159 127 37 12, tab 17
  box "", 20, 156 124 1 15, tab 17
  button "Refresh", 21, 117 127 37 12, tab 17
  text The module download directory is $modsize full., 22, 5 125 98 15, tab 17
  text "", 2, 2 3 198 26
  text " - load and unload modules here. You can also download new        modules or update your existing ones", 7, 3 13 152 13
  text " Module Manager", 3, 3 5 59 7
  list 4, 176 6 21 18, disable size
  button "Done", 5, 163 149 37 12, ok
}

on *:dialog:mods:init:0: {
  mdx MarkDialog $dname
  mdx SetFont $dname 3,6,8,9,10,11 -11 700 Tahoma
  mdx SetFont $dname 1,4,5,7,10,12,13,14,15 -11 400 Tahoma
  mdx SetColor $dname 3 text $rgb(255,255,255)
  mdx SetColor $dname 2,3,7 background $rgb(154,154,154)
  mdx SetColor $dname 2,3,7 textbg $rgb(154,154,154)
  mdx SetBorderStyle $dname 2 staticedge
  mdx SetControlMDX $dname 1 listview icon single > $views
  mdx SetControlMDX $dname 4 Toolbar flat wrap noheader nodivider list > $bars
  mdx SetControlMDX $dname 18 Listview report single rowselect > $views
  mdx SetBorderStyle $dname 4
  mdx SetColor $dname 4 background $rgb(154,154,154)
  did -i $dname 4 1 bmpsize 32 32
  did -i $dname 4 1 setimage icon large 3, $+ $icl
  did -a $dname 4 1 $chr(9) $+ Nothing
  did -i $dname 18 1 headerdims 110 100 240
  did -i $dname 18 1 headertext Module name $chr(9) Filename $chr(9) Description
  mdxbutton mods 5,15,19,21
  findmod
  set %_i 1
  filter -k $shortfn($scriptdirModules.cfg) addmodcfg
  unset %_i
}

on *:dialog:mods:sclick:1: {
  if ($did($dname,1).sel) {
    did -e $dname 15
    var %s = $calc($did($dname,1).sel -1),%n = $readini($read($shortfn($scriptdirModules.cfg),%s),Module,Name),%a = $readini($read($shortfn($scriptdirModules.cfg),%s),Module,Author),%e = $readini($read($shortfn($scriptdirModules.cfg),%s),Module,Email),%d = $readini($read($shortfn($scriptdirModules.cfg),%s),Module,Desc)
    if (%n) && (%a) && (%e) {
      did -ra $dname 13 %n
      did -ra $dname 14 %a
      did -ra $dname 10 %e
      did -ra $dname 12 %d
      did -ra $dname 15 $iif($script($read($shortfn($scriptdirModules.cfg),%s)),Unload,Load)
    }
  }
  else { did -b $dname 15 }
}

on *:dialog:mods:sclick:15: {
  var %s = $did($dname,15).text,%l = $calc($did($dname,1).sel -1)
  if (%s = unload) {
    .unload -rs $+(",$read($shortfn($scriptdirModules.cfg),%l),")
  }
  elseif (%s = load) {
    .load -rs $+(",$read($shortfn($scriptdirModules.cfg),%l),")
  }
  did -ra $dname 15 $iif($script($read($shortfn($scriptdirModules.cfg),%l)),Unload,Load)
}

on *:dialog:mods:sclick:18: { 
  if ($did($dname,18).sel) {
    did -e $dname 19
  }
  else { 
    did -b $dname 19
  }
}

on *:dialog:mods:sclick:19: {
  if ($did($dname,18).sel) {
    set %modfile $cell(mods,18,$v1,2) $+ * $+ $cell(mods,18,$v1,1)
    download -o m $+(http://www.coderscore.org/afx/zIRCk/,$gettok(%modfile,1,42)) $+(",$scriptdir,")
    did -b mods 18,19
  }
}

on *:dialog:mods:sclick:21: { mupdates | did -b mods 18,19 }