Reflex — File Browser
Reflexv0.1 / Reflexv0.1 / Reflex / system / scripts / extensions.mrc
extensions.mrc — 3.74 KB — Download this file
alias extensions {
if (!$dialog(extensions)) { dialog -mv extensions extensions }
else { dialog -v extensions extensions }
}
alias extinst { return $datdir $+ extinst.dat }
dialog extensions {
title "Extensions"
size -1 -1 193 120
option dbu
button "", 1, 3 2 187 102
button "Get Extensions", 2, 145 106 45 12
button "Check for Updates", 3, 3 106 55 12, disabled
}
on *:dialog:extensions:init:0: {
mdx SetMircVersion $version
mdx MarkDialog $dname
mdx SetDialog $dname Icon
mdx SetControlMDX 1 window > $mdx_dialog
window -hipB +dx @hide_extensions
did -a $dname 1 grab $window(@hide_extensions).hwnd @hide_extensions
nhtmln attach $window(@hide_extensions).hwnd
nhtmln handler extentions_handler
nhtmln navigate $htmdir $+ extensions.html
download -ho extentions_list $webstr $+ reflex/ext.rdf $longfn($datdir)
}
on *:dialog:extensions:sclick:2: {
if ($did($dname,2) == List Installed) {
did -o $dname 2 1 Get Extensions
;did -e $dname 3
nhtmln select $window(@hide_extensions).hwnd
nhtmln navigate $htmdir $+ extensions.html
}
else {
did -o $dname 2 1 List Installed
did -b $dname 3
nhtmln select $window(@hide_extensions).hwnd
nhtmln navigate $htmdir $+ extensions.html
}
extensions_add
}
alias extentions_handler {
if ($2 == document_complete) {
extensions_add
}
elseif ($2 == navigate_begin) {
if ($gettok($3-,-1,46) == mpk) {
download -o $gettok($3-,-1,47) $3- $cr extension_install $gettok($3-,-1,47)
return S_CANCEL
}
elseif ($gettok($3-,-1,46) == mrc) {
if ($isalias($deltok($gettok($3-,-1,92),-1,46))) {
$deltok($gettok($3-,-1,92),-1,46)
}
return S_CANCEL
}
elseif ($gettok($3-,-1,46) == uni) {
if ($gettok($deltok($gettok($3-,-1,92),-1,46),1,124)) {
extension_uninstall $gettok($deltok($gettok($3-,-1,92),-1,46),1,124)
}
return S_CANCEL
}
}
return S_OK
}
alias extensions_add {
nhtmln select $window(@hide_extensions).hwnd
if ($did(extensions,2) != List Installed) {
var %i = 1
while ($read($extinst,%i)) {
tokenize 124 $v1
nhtmln execScript extensionadd(' $+ $1 $+ ',' $+ $2 $+ ',' $+ $3 $+ ',' $+ $4 $+ ',' $+ $5 $+ ',' $+ $6 $+ ')
inc %i
}
}
else {
var %i = 1
while ($read($datdir $+ ext.rdf,%i)) {
tokenize 124 $v1
if (!$read($extinst,w,$1 $+ *)) { nhtmln execScript extensionnewadd(' $+ $1 $+ ',' $+ $2 $+ ',' $+ $3 $+ ',' $+ $4 $+ ',' $+ $5 $+ ',' $+ $6 $+ ',' $+ $7 $+ ') }
elseif ($2 > $gettok($read($extinst,w,$1 $+ *),2,124)) { nhtmln execScript extensionnewadd(' $+ $1 $+ ',' $+ $2 $+ ',' $+ $3 $+ ',' $+ $4 $+ ',' $+ $5 $+ ',' $+ $6 $+ ',' $+ $7 $+ ') }
inc %i
}
}
}
alias extension_install {
.munpack -l $2-
if ($read($datdir $+ ext.rdf, w, * $+ $1 $+ *)) { write $extinst $v1 }
if ($dialog(extensions)) {
did -o Extensions 2 1 Get Extensions
did -e Extensions 3
nhtmln select $window(@hide_extensions).hwnd
nhtmln navigate $htmdir $+ extensions.html
}
}
alias extension_uninstall {
tokenize 124 $1-
if ($ini($mpacklog,$1,0)) {
var %i = 1
while (%i <= $ini($mpacklog,$1,0)) {
var %f = $readini($mpacklog,$1 $+ $2,$ini($mpacklog,$1 $+ $2,%i))
if ($isfile(%f)) {
if ($right(%f,3) == mrc) { .unload -rs %f }
if ($right(%f,3) == dll) { .dll -u %f }
.remove %f
}
inc %i
}
}
if ($read($extinst, w,$1 $+ *)) { write -dl $+ $readn $extinst }
if ($dialog(extensions)) {
if ($did(extensions,2) == Get Extensions) {
nhtmln select $window(@hide_extensions).hwnd
nhtmln navigate $htmdir $+ extensions.html
}
}
}