alias dccbar {
if (!$dialog(dccbar)) { dialog -m dccbar dccbar }
else { dll system\hOS.dll UndockWindow $dname bottom }
}
dialog dccbar {
size -1 -1 5000 119
title "DCC Bar"
button "" 1, 0 0 0 0,ok
list 2, 3 3 1019 140, size
}
on *:dialog:dccbar:init:0: {
mdx SetMircVersion $version
mdx MarkDialog $dname
mdx SetDialog $dname style
mdx SetControlMDX $dname 2 listview report single rowselect > system\views.mdx
did -i $dname 2 1 headerdims 200 120 100 100 100 110 300
did -i $dname 2 1 headertext Filename $chr(9) Nickname $chr(9) Size $chr(9) $chr(37) $chr(9) Speed $chr(9) Local Filename
dll system\hOS.dll DockWindow $dname bottom
did -i $dname 2 1 seticon normal 0 7,system\syswin.icl
did -i $dname 2 1 seticon normal 0 6,system\syswin.icl
}
alias dccbar.update {
if ($dialog(dccbar)) {
var %sel = $did(dccbar,2).sel
if ($calc($send(0) + $send(0)) != $calc($did(dccbar,2).lines -1)) { goto refresh }
var %g = 1
while $send(%g) {
did -o dccbar 2 $calc(%g +1) +r 1 $chr(160) $send(%g).file $chr(9) $send(%g) $chr(9) $regsize($send(%g).size,1) $chr(9) $send(%g).pc $+ % $chr(9) $round($calc($send(%g).cps /1024),1) kb/s $chr(9) $send(%g).path $+ $send(%g).file $chr(4) Nick: $send(%g) $crlf File: $send(%g).file $crlf Progress: $send(%g).pc $+ %
inc %g
}
var %g = 1
while $send(%g) {
did -o dccbar 2 $calc(%g + $send(0) +1) +r 2 $chr(160) $send(%g).file $chr(9) $send(%g) $chr(9) $regsize($send(%g).size,1) $chr(9) $send(%g).pc $+ % $chr(9) $round($calc($send(%g).cps /1024),1) kb/s $chr(9) $send(%g).path $+ $send(%g).file $chr(4) Nick: $send(%g) $crlf File: $send(%g).file $crlf Progress: $send(%g).pc $+ %
inc %g
}
did -c dccbar 2 %sel
goto end
:refresh
did -r dccbar 2
var %g = 1
while $send(%g) {
did -a dccbar 2 +r 1 $chr(160) $send(%g).file $chr(9) $send(%g) $chr(9) $regsize($send(%g).size,1) $chr(9) $send(%g).pc $+ % $chr(9) $round($calc($send(%g).cps /1024),1) kb/s $chr(9) $send(%g).path $+ $send(%g).file $chr(4) Nick: $send(%g) $crlf File: $send(%g).file $crlf Progress: $send(%g).pc $+ %
inc %g
}
var %g = 1
while $send(%g) {
did -a dccbar 2 +r 2 $calc(%g + $send(0) +1) 2 $chr(160) $send(%g).file $chr(9) $send(%g) $chr(9) $regsize($send(%g).size,1) $chr(9) $send(%g).pc $+ % $chr(9) $round($calc($send(%g).cps /1024),1) kb/s $chr(9) $send(%g).path $+ $send(%g).file $chr(4) Nick: $send(%g) $crlf File: $send(%g).file $crlf Progress: $send(%g).pc $+ %
inc %g
}
:end
}
}
alias regsize {
var %s = $1
if ($len(%s) <= 4) { return $round($calc(%s /1024),$2) KB }
elseif ( $len(%s) > 4 && $len(%s) <= 6) { return $round($calc(%s /1024),$2) KB }
elseif ($len(%s) >= 7) { return $round($calc($calc(%s /1024) /1024),$2) MB }
}
on *:active:*: {
if (!$timer(main)) { .timermain 0 1 dccbar.update }