SMF Script 8 — File Browser
SMFScript8v8.13 / SMFScript8v8.13 / system / qmenu.mrc
qmenu.mrc — 11.01 KB — Download this file
alias qm.actv.chk if ($window(@quick) = $null) { .timerQM.ACTV.CHK off | halt } | if ($appactive != $true) && (%qm.minimized = $null) { set %qm.minimized - | window -h @Quick } | elseif ($appactive) && (%qm.minimized) { set %qm.actv.tmp $active | window -a @Quick | window -a $qts(%qm.actv.tmp) | unset %qm.minimized %qm.actv.tmp }
alias wrap.qmenu {
if ($window(@quick).h = $qms(skin,titleh)) {
window @Quick $qms(file,loc) $qms(skin,W) $calc($qms(skin,buttonH) * $qms(file,buttons) + $qms(skin,TitleH)) | drawpic -c @Quick 0 0 0 0 $qms(skin,W) $qms(skin,TitleH) " $+ $skindir $+ $qms(skin,Title) $+ "
if ($getdot(@quick,2,$calc($window(@quick).h - 1)) = 16777215) { drawpic -c @Quick 0 $calc($qms(skin,ButtonH) * ($qms(file,buttons) - 1) + $qms(skin,TitleH)) 0 0 $qms(skin,W) $qms(skin,ButtonH) " $+ $skindir $+ $qms(skin,Lastbutton) $+ " | if ($QMS($qms(file,buttons),Text) != 0) drawtext @Quick $qms(skin,TextC) " $+ $qms(skin,TextF) $+ " $qms(skin,TextFS) $qms(skin,TextX) $calc($qms(skin,ButtonH) * ($qms(file,buttons) - 1) + $qms(skin,TitleH) + $qms(skin,TextY)) $QMS($qms(file,buttons),Text) | if ($QMS($qms(file,buttons),Icon) != 0) drawpic -tsc @Quick 5243135 $qms(skin,IconX) $calc($qms(skin,ButtonH) * ($qms(file,buttons) - 1) + $qms(skin,TitleH) + $qms(skin,IconY)) $qms(skin,IconW) $qms(skin,IconH) 0 0 $qms(skin,IconW) $qms(skin,IconH) " $+ $qms($qms(file,buttons),Icon) $+ " }
}
else { window @Quick $qms(file,loc) $qms(skin,W) $qms(skin,TitleH) | drawpic -c @Quick 0 0 0 0 $qms(skin,W) $qms(skin,TitleH) " $+ $skindir $+ $qms(skin,TitleRolled) $+ " }
}
alias qmenu {
if ($window(@quick) = $null) || ($window(@quick).h = $qms(skin,titleh)) { window -pkdoh +dbtL @Quick $qms(file,loc) $qms(skin,W) $calc($qms(skin,ButtonH) * $qms(file,buttons) + $qms(skin,TitleH)) | .timerQM.ACTV.CHK 0 1 qm.actv.chk } | drawpic -c @Quick 0 0 0 0 $qms(skin,W) $qms(skin,TitleH) " $+ $skindir $+ $qms(skin,Title) $+ " | :loop | inc %qm.numinc | if (%qm.numinc > 1) && ($QMS(%qm.numinc,active) = $null) goto next | if (%qm.numinc = $qms(file,buttons)) { drawpic -c @Quick 0 $calc($qms(skin,ButtonH) * ( %qm.numinc - 1 ) + $qms(skin,TitleH)) 0 0 $qms(skin,W) $qms(skin,ButtonH) " $+ $skindir $+ $qms(skin,Lastbutton) $+ " | goto next }
drawpic -c @Quick 0 $calc($qms(skin,ButtonH) * ( %qm.numinc - 1 ) + $qms(skin,TitleH)) 0 0 $qms(skin,W) $qms(skin,ButtonH) " $+ $skindir $+ $qms(skin,Button) $+ " | goto loop | :next | inc %qm.othrinc | if (%qm.othrinc > 1) && ($QMS(%qm.othrinc,active) = $null) goto end | if ($QMS(%qm.othrinc,Text) != 0) drawtext @Quick $qms(skin,TextC) $qts($qms(skin,TextF)) $qms(skin,TextFS) $qms(skin,TextX) $calc($qms(skin,ButtonH) * ( %qm.othrinc - 1 ) + $qms(skin,TitleH) + $qms(skin,TextY)) $QMS(%qm.othrinc,Text) | if ($QMS(%qm.othrinc,Icon) != 0) drawpic -tsc @Quick 5243135 $qms(skin,IconX) $calc($qms(skin,ButtonH) * ( %qm.othrinc - 1 ) + $qms(skin,TitleH) + $qms(skin,IconY)) $qms(skin,IconW) $qms(skin,IconH) 0 0 $qms(skin,IconW) $qms(skin,IconH) $qts($qms(%qm.othrinc,Icon)) | goto next | :end | unset %qm.numinc %qm.othrinc
}
menu @Quick {
dclick if ($inrect($mouse.x,$mouse.y,0,0,$qms(Skin,W),$qms(Skin,TitleH))) wrap.qmenu
sclick if ($inrect($mouse.x,$mouse.y,0,0,$qms(Skin,W),$qms(Skin,TitleH))) { .timerQM.MOV -m 0 1 window @Quick $!calc( $!mouse.mx - $mouse.x + 2) $!calc( $!mouse.my - $mouse.y + 69 ) $!window(@quick).w $!window(@quick).h | goto end } | set %QM.numbuts $qms(file,buttons) | :loop | inc %qm.numinc | if (%qm.numinc > %QM.numbuts) goto end | if ($inrect($mouse.x,$mouse.y,0,$calc($qms(Skin,buttonH) * (%qm.numinc - 1) + $qms(Skin,TitleH)),$qms(Skin,W),$qms(Skin,buttonH))) { qm.run $qms(%qm.numinc,file) | goto end } | goto loop | :end | unset %qm.n*
uclick if ($mouse.key != 1) { .timerQM.MOV off | writeini $qts($scriptdirsettings.ini) file loc $window(@quick).x $window(@quick).y }
Load Skin:qm.run ^load.skin
Edit Buttons:qm.run ^edit.menu
Refresh:qm.run ^refresh
Close:qm.run ^quit
}
alias qm.run if ($1 = 0) return | if ($left($1-,1) = ^) { if ($1 = ^quit) { writeini $qts($scriptdirsettings.ini) file loc $window(@quick).x $window(@quick).y | window -c @quick } | if ($1 = ^load.skin) qm.load.skin - | if ($1 = ^refresh) { drawpic -c | .timer -m 1 100 clear @quick $chr(124) qmenu } | if ($1 = ^reload) { drawpic -c | .timer -m 1 150 window -c @quick $chr(124) qmenu } | if ($1 = ^edit.menu) qm.menu } | else { write -c "tmp.tmp" $1- | set -u0 %qm.tmp $read "tmp.tmp" | write -c "tmp.tmp" $replace(%qm.tmp,†,$chr(123),‡,$chr(124),‰,$chr(125)) | $read "tmp.tmp" | .remove "tmp.tmp" }
alias qmss return $qms(file,skin)
alias QMS if ($1 = Skin) && ($3) return $readini -n $qts($qmss) File $2 | if ($1 = file) && ($3) return $readini -n $qts($scriptdirsettings.ini) file $2 | if ($1 isnum) && ($3) return $readini -n $qts($scriptdirsettings.ini) b $+ $1 $2 | if ($1 = Skin) && ($3 = $null) return $readini $qts($qmss) File $2 | if ($1 = file) && ($3 = $null) return $readini $qts($scriptdirsettings.ini) file $2 | if ($1 isnum) && ($3 = $null) return $readini $qts($scriptdirsettings.ini) b $+ $1 $2 | return $remove($gettok(%qm.tmp,2,32),sf)
alias skindir return $mircdirskins\
alias qm.menu if ($dialog(qmenu) = $null) dialog -mn qmenu qmenu | did -r qmenu 2 | set %qm.ttl $qmss | did -a qmenu 7 $nopath(%qm.ttl) | set %qm.ttl $qms(file,buttons) | :loop | inc %qm.inc | if (%qm.inc > %qm.ttl) goto end | did -a qmenu 2 Button $+ %qm.inc | goto loop | :end | unset %qm.inc %qm.ttl
dialog qmenu {
title "Quick Menu Settings"
size -1 -1 179 251
text "Buttons",1,9 5 100 12,center
list 2,9 19 100 200
button "Add",3,115 20 53 26
button "Edit",4,115 51 53 26
button "Delete",5,115 82 53 26
button "Close",6,115 180 53 26,cancel
button "/\",9,128 113 27 26
button "\/",10,128 144 27 26
button "",7,10 214 159 22
}
on *:dialog:qmenu:dclick:2: set %qm.refresh - | set %qm.num $did(2).sel | dialog -mn qmbtn qmbtn | did -a qmbtn 2 $replace($qms($did(2).sel,file,-n),†,$chr(123),‡,$chr(124),‰,$chr(125)) | did -a qmbtn 6 $qms($did(2).sel,icon) | did -a qmbtn 9 $qms($did(2).sel,text)
on *:dialog:qmenu:sclick:*:{
if ($did = 6) { if ($dialog(qmbtn)) dialog -c qmbtn | if (%qm.refresh) qm.run ^reload | unset %qm.num %qm.refresh } | if ($did = 5) && ($did(2).sel) { set %qm.num $did(2).sel | set %qm.ttl $qms(file,buttons) | remini $qts($scriptdirsettings.ini) b [ $+ [ %qm.num ] ] | set %qm.get $calc(%qm.num - 1) | :loop | inc %qm.get | inc %qm.num | if ($qms(%qm.num,active)) { writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.get ] ] file $qms(%qm.num,file,-n) | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.get ] ] icon $qms(%qm.num,icon) | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.get ] ] text $qms(%qm.num,text) | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.get ] ] active 1 | remini $qts($scriptdirsettings.ini) b [ $+ [ %qm.num ] ] | goto loop } | writeini $qts($scriptdirsettings.ini) file buttons $calc(%qm.ttl - 1) | unset %qm.get %qm.num %qm.ttl | qm.menu }
if ($did = 7) .timer 1 0 qm.load.skin | if ($did = 3) { set -u0 %qm.ttl $calc($qms(file,buttons) + 1) | writeini $qts($scriptdirsettings.ini) file buttons %qm.ttl | writeini $qts($scriptdirsettings.ini) B $+ %qm.ttl file 0 | writeini $qts($scriptdirsettings.ini) B $+ %qm.ttl icon 0 | writeini $qts($scriptdirsettings.ini) B $+ %qm.ttl text Button %qm.ttl | writeini $qts($scriptdirsettings.ini) B $+ %qm.ttl active 1 | set %qm.num %qm.ttl | dialog -mn qmbtn qmbtn | did -a qmbtn 2 $replace($qms(%qm.ttl,file,-n),†,$chr(123),‡,$chr(124),‰,$chr(125)) | did -a qmbtn 6 $qms(%qm.ttl,icon) | did -a qmbtn 9 $qms(%qm.ttl,text) | did -a qmenu 2 Button $+ %qm.ttl } | if ($did = 4) && ($did(2).sel) { set %qm.num $did(2).sel | dialog -mn qmbtn qmbtn | did -a qmbtn 2 $replace($qms($did(2).sel,file,-n),†,$chr(123),‡,$chr(124),‰,$chr(125)) | did -a qmbtn 6 $qms($did(2).sel,icon) | did -a qmbtn 9 $qms($did(2).sel,text) }
if ($did = 10) && ($did(2).sel) qm.move -d $did(2).sel | if ($did = 9) && ($did(2).sel) qm.move -u $did(2).sel | if ($did != 6) set %qm.refresh - | if ($did = 11) .timer 1 0 qm.fset
}
alias sf11 .timerQM.MOV off
alias qm.move {
if ($1 = -d) set -u0 %qm.trgt $calc($2 + 1) | if ($1 = -u) set -u0 %qm.trgt $calc($2 - 1) | if ($qms(%qm.trgt,active) = $null) goto end | set -u0 %qm.btn $2 | set -u0 %qm.Text $qms(%qm.btn,Text) | set -u0 %qm.Icon $qms(%qm.btn,Icon) | set -u0 %qm.File $qms(%qm.btn,File,-n) | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.btn ] ] file $qms(%qm.trgt,file,-n) | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.btn ] ] icon $qms(%qm.trgt,icon)
writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.btn ] ] text $qms(%qm.trgt,text) | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.btn ] ] active 1 | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.trgt ] ] file %qm.File | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.trgt ] ] icon %qm.Icon | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.trgt ] ] text %qm.Text | writeini $qts($scriptdirsettings.ini) b [ $+ [ %qm.trgt ] ] active 1 | did -c qmenu 2 %qm.trgt | :end
}
alias qm.load.askin writeini $qts($scriptdirsettings.ini) file skin $1- | qm.run ^reload | set -u0 %qm.ttl $qmss | did -a qmenu 7 $nopath($1) | did -a qmenu 8 $nofile($1)
alias qm.load.skin set -u0 %qm.muhu $skindir $+ *.qms | writeini $qts($scriptdirsettings.ini) file skin $$file="Quick Menu Skin" %qm.muhu | qm.run ^reload | set -u0 %qm.ttl $readini $qts($scriptdirsettings.ini) file skin | if ($1 = $null) did -a qmenu 7 $nopath(%qm.ttl)
dialog qmbtn {
title "Quick Menu Settings"
size -1 -1 210 200
text "Command",1,5 5 200 12,center
edit "",2,5 19 200 23,autohs
button "File..",3,6 47 96 21
button "Directory..",4,108 47 96 21
text "Icon",5,5 73 200 12,center
edit "",6,5 91 141 23,autohs
button "File..",7,150 92 54 21
text "Title",8,5 118 200 12,center
edit "",9,5 135 200 23,autohs
button "Close",10,78 169 54 26,ok
}
on *:dialog:qmbtn:sclick:*: if ($did = 10) unset %qm.num | if ($did = 7) .timer 1 0 qm.get.ico | if ($did = 3) .timer 1 0 qm.get.file | if ($did = 4) .timer 1 0 qm.get.dir
on *:dialog:qmbtn:edit:*: if ($did = 2) { if ($did(2)) writeini $qts($scriptdirsettings.ini) B $+ %qm.num file $replace($did(2),$chr(123),†,$chr(124),‡,$chr(125),‰) | else writeini $qts($scriptdirsettings.ini) B $+ %qm.num file 0 } | if ($did = 6) { if ($isfile($did(6))) writeini $qts($scriptdirsettings.ini) B $+ %qm.num icon $did(6) | else writeini $qts($scriptdirsettings.ini) B $+ %qm.num icon 0 } | if ($did = 9) { if ($did(9) = $null) writeini $qts($scriptdirsettings.ini) B $+ %qm.num text 0 | else writeini $qts($scriptdirsettings.ini) B $+ %qm.num text $did(9) }
alias qm.get.ico set -u0 %qm.tmp.fle $$dir="BMP File" *.bmp | writeini $qts($scriptdirsettings.ini) B $+ %qm.num icon %qm.tmp.fle | did -ra qmbtn 6 %qm.tmp.fle
alias qm.get.file set -u0 %qm.tmp.fle $$dir="File" *.* | writeini $qts($scriptdirsettings.ini) B $+ %qm.num file /run %qm.tmp.fle | did -ra qmbtn 2 /run %qm.tmp.fle
alias qm.get.dir set -u0 %qm.tmp.fle $$sdir="Directory" *.* | writeini $qts($scriptdirsettings.ini) B $+ %qm.num file /run explorer %qm.tmp.fle | did -ra qmbtn 2 /run explorer %qm.tmp.fle