aIRC — File Browser
aIRCv0.8.69 / aIRCv0.8.69 / script / dialog.mrc
dialog.mrc — 10.39 KB — Download this file
;/**********************************************************************
; *
; * aIRC
; * Dialogs
; *
; **********************************************************************/
alias _dialog {
if ($dialog($2)) { dialog -v $2 }
else { dialog $1-3 }
}
alias _dialog-x {
if ($dialog($1)) { dialog -x $1 }
}
alias _dida {
if ($dialog($1) != $null) { did -a $1- $+ $crlf }
}
alias _did.inc {
if ($dialog($1) != $null) { did -o $1 $2 $3 $calc($did($1,$2,$3) + $iif($4 isnum,$4,1)) }
}
alias _did.dec {
if ($dialog($1) != $null) { did -o $1 $2 $3 $calc($did($1,$2,$3) - $iif($4 isnum,$4,1)) }
}
alias _dialog.addandselectmatch {
if ($3 === $4) {
did -ac $1 $2 $3
if ($5 isnum) { did -o $1 $5 1 $3 }
}
else { did -a $1 $2 $3 }
}
alias _dialog.loadlist {
var %lt,%i = 1,%lines = $_list.total($5)
if ($6) { %lt = $len($iif(%lines,%lines,1)) }
if ($7) { did -r $1 $2 }
while ($_list.get($5,%i) != $null) {
if ($gettok($ifmatch,$3,$4)) { did -a $1 $2 $iif($6,$base(%i,10,10,%lt)) $gettok($_list.get($5,%i),$3,$4) }
inc %i
}
}
alias _dialog.savelist {
var %i,%r
if ($dialog($1) == $null) { return }
%i = $did($1,$2).lines
._list.flush $3
while (%i) {
_list.add $3 $iif($4,$gettok($did($1,$2,%i).text,2-,32),$did($1,$2,%i).text)
dec %i
}
}
; /_dialog.loadbuf dialog id file
alias _dialog.loadbuf {
if ($dialog($1) == $null) { return }
if ($isfile($3-)) { loadbuf -o $1 $2 $"($3-) }
dialog -v $1
}
; /_dialog.loadbufsection section dialog id file
alias _dialog.loadbufsection {
if ($dialog($2) == $null) { return }
if ($isfile($4-)) { loadbuf -ot $+ $1 $2 $3 $"($4-) }
dialog -v $2
}
alias _dialog.savebuf {
if ($dialog($1) == $null) { return }
if ($3- == $null) {
dialog -v $1
return
}
if ($isfile($3-)) {
if ($_filexists(1,$null,$3-)) { .remove " $+ $3- $+ " }
else { write -a " $+ $3- $+ " $lf }
}
var %l = $did($1,$2).lines,%i = 1
while (%i <= %l) {
if ($did($1,$2,%i).text != $null) { write -a " $+ $3- $+ " $ifmatch }
else { write -a " $+ $3- $+ " $lf }
inc %i
}
dialog -v $1
}
; /_dialog.up dialog seldid dids
alias _dialog.up {
if ($dialog($1) == $null) { return }
var %i = 1,%m,%t
while ($did($1,$2,%i).sel != $null) {
%m = $ifmatch
; if (%m > %f) && ($_not($did($1,$2,$calc(%m - 1)).state)) {
if (%m > 1) {
%t = $did($1,$2,%m)
did -d $1 $3 %m
dec %m
did -i $1 $3 %m %t
did -ck $1 $3 %m
}
inc %i
}
}
; /_dialog.down dialog seldid dids
alias _dialog.down {
if ($dialog($1) == $null) { return }
var %l = $did($1,$2).lines,%i = $did($1,$2,0).sel,%m,%t
while (%i) && ($did($1,$2,%i).sel != $null) {
%m = $ifmatch
; if (%m < %l) && ($_not($did($1,$2,$calc(%m + 1)).state)) {
if (%m < %l) {
%t = $did($1,$2,%m)
did -d $1 $3 %m
inc %m
did -i $1 $3 %m %t
did -ck $1 $3 %m
}
dec %i
}
}
; /_dialog.MDXVIEWLISTup dialog seldid dids
alias _dialog.MDXVIEWLISTup {
if ($dialog($1) == $null) { return }
var %i = 1,%m,%t,%win = @__dialogMDXVIEWLISTup,%z = 0
_openwins %win
;;; while ($did($1,$2,%i).sel != $null) {
while ($did($1,$2,1).sel != $null) {
%m = $ifmatch
if (%m > 2) {
%t = $did($1,$2,%m)
did -d $1 $3 %m
dec %m
did -i $1 $3 %m %t
;;; did -ck $1 $3 %m
aline %win %m
}
elseif (%z <= 2) {
did -uk $1 $3 %m
aline %win %m
inc %z
}
else { break }
inc %i
}
var %i = $line(%win,0)
while (%i) {
did -ck $1 $3 $line(%win,%i)
dec %i
}
close -@ %win
}
; /_dialog.MDXVIEWLISTdown dialog seldid dids
alias _dialog.MDXVIEWLISTdown {
if ($dialog($1) == $null) { return }
var %l = $did($1,$2).lines,%i = $did($1,$2,0).sel,%m,%t
;;; while (%i) && ($did($1,$2,%i).sel != $null) {
if ($did($1,$2,1).sel != $null) {
%m = $ifmatch
; if (%m < %l) && ($_not($did($1,$2,$calc(%m + 1)).state)) {
if (%m < %l) {
%t = $did($1,$2,%m)
did -d $1 $3 %m
inc %m
did -i $1 $3 %m %t
did -ck $1 $3 %m
}
dec %i
}
}
alias _dialog.move {
if ($dialog($1) == $null) { return }
if ($did($1,$2,1).sel) {
did -u $1 $3
while ($did($1,$2,1).sel) {
did -ack $1 $3 $did($1,$2,$ifmatch)
did -d $1 $2 $ifmatch
}
}
}
; /_dialog.file dialog did dir$chr(9)action desc
alias _dialog.file {
if ($dialog($1) == $null) { return }
var %t = $$dir=" $gettok($3-,2,9) " $gettok($3-,1,9)
if ($dialog($1) == $null) { return }
if (%t != $null) { did -o $1 $2 1 %t }
dialog -v $1
}
alias _dialog.dir {
if ($dialog($1) == $null) { return }
var %t = $$sdir=" $gettok($3-,2,9) " $gettok($3-,1,9)
if ($dialog($1) == $null) { return }
if (%t != $null) { did -o $1 $2 1 %t }
dialog -v $1
}
alias _dialog.addir {
if ($dialog($1) == $null) { return }
var %m = $$sdir=" $gettok($3-,2,9) " $gettok($3-,1,9),%i
if ($isdir(%m)) && ($dialog($1) != $null) {
if ($didwm($1,$2,%m)) { did -c $1 $2 $ifmatch }
else { did -ac $1 $2 %m }
}
}
alias _dialog.delsels {
if ($dialog($1) == $null) { return }
var %r = 0
while ($did($1,$2,1).sel) {
did -d $1 $2 $ifmatch
inc %r
}
return %r
}
alias _dialog.delsel {
if ($dialog($1) == $null) { return }
var %t = $did($1,$2,1).sel
if (%t) {
did -d $1 $2 $ifmatch
if ($did($1,$2,%t)) { did -c $1 $2 %t }
elseif ($did($1,$2,$calc(%t - 1))) { did -c $1 $2 $calc(%t - 1) }
}
}
alias _dialog.add {
if ($dialog($1) == $null) { return }
var %i = 1,%l
while ($didwm($1,$2,$3-,%i)) {
%l = $ifmatch
if ($did($1,$2,%l).text == $3-) {
did -c $1 $2 %l
return
}
inc %i
}
did -ac $1 $2 $3-
}
alias _dialog.add1 {
if ($dialog($1) == $null) { return }
var %i = 1,%l
while ($didwm($1,$2,$3-,%i)) {
%l = $ifmatch
if ($did($1,$2,%l).text == $3-) {
did -d $1 $2 %l
break
}
inc %i
}
did -ic $1 $2 1 $3-
}
alias _dialog.del {
if ($dialog($1) == $null) { return }
var %i = 1,%l
while ($didwm($1,$2,$3-,%i)) {
%l = $ifmatch
if ($did($1,$2,%l).text == $3-) {
did -d $1 $2 %l
return
}
inc %i
}
}
; /_dialog.lsfsi2lid <initopic> <inisetting> <dialog> <did> <did> <pre|$null> <settings...>
alias _dialog.lsfsi2lid {
if ($dialog($3) == $null) { return }
var %t = $_getsetup($1,$2),%i = 1,%n = $numtok($7-,32),%c,%m
if ($6 != $null) { %m = $6 }
while (%i <= %n) {
%c = $gettok($7-,%i,32)
if ($istok(%t,%c,32)) { did -a $3 $5 %m %c }
else { did -a $3 $4 %m %c }
inc %i
}
}
; /_dialog.sslid2fsi <initopic> <inisetting> <dialog> <did> <did> <pre|$null> <settings...>
alias _dialog.sslid2fsi {
if ($dialog($3) == $null) { return }
var %t,%i = 1,%n = $did($3,$5).lines,%c,%m,%r
if ($6 != $null) { %m = $6 }
while (%i <= %n) {
%c = $did($3,$5,%i)
if (%m == $null) {
if ($numtok(%c,32) == 1) { %r = %r %c }
}
else {
if ($numtok(%c,32) == 2) && ($gettok(%c,1,32) == %m) { %r = %r $gettok(%c,2,32) }
}
inc %i
}
_setsetup $1 $2 %r
}
; /_win2dialog <window> <dialog> <did> [match]
alias _win2dialog {
if ($window($1) == $null) || ($dialog($2) == $null) { return }
filter -wo $1 $2 $3 $iif($4- != $null,$4-,*)
}
; /_dialog2win <dialog> <did> <window> [match]
alias _dialog2win {
if ($window($3) == $null) || ($dialog($1) == $null) { return }
filter -iw $1 $2 $3 $iif($4- != $null,$4-,*)
}
; $_did2filesection(dname,did,file,section)
alias _did2filesection {
var %dname = $1,%did = $2,%file = $_fixfilename($3),%section = $gettok($4,1,32),%win = @__did2filesection,%i,%t
if ($dialog(%dname) == $null) || (%file == $null) { return }
%file = $_chfile(%file)
_openwins %win
_dialog2win %dname %did %win *
%i = $line(%win,0)
while (%i) {
%t = $_text($line(%win,%i))
if (%t == $null) { rline %win %i $chr(160) }
if ([*] iswm %t) { rline %win %i ( $+ $left($right(%t,-1),-1) $+ ) }
dec %i
}
remini $"(%file) %section
flushini $"(%file)
write $"(%file) [[ $+ %section $+ ]]
while ($_text($line(%win,$line(%win,0))) == $chr(160)) { dline %win $line(%win,0) }
savebuf -a %win $"(%file)
close -@ %win
}
;
;
dialog _simplelist {
size -1 -1 172 170
option dbu
list 1,5 10 125 145,sort extsel size
list 2,5 10 125 145,sort size hide
list 3,5 10 125 145,sort extsel size hide
list 4,5 10 125 145,sort size hide
combo 20,5 11 125 9999,drop hide
button "",21,5 10 125 15,hide
text "",22,5 5 125 20,hide
list 40,5 25 125 130,sort extsel size hide
list 41,5 25 125 130,sort extsel size hide
list 42,5 25 125 130,sort extsel size hide
list 43,5 25 125 130,sort extsel size hide
list 44,5 25 125 130,sort extsel size hide
list 45,5 25 125 130,sort extsel size hide
list 46,5 25 125 130,sort extsel size hide
list 47,5 25 125 130,sort extsel size hide
list 48,5 25 125 130,sort extsel size hide
list 49,5 25 125 130,sort extsel size hide
list 50,5 25 125 130,sort extsel size hide
list 60,5 25 125 130,sort size hide
list 61,5 25 125 130,sort size hide
list 62,5 25 125 130,sort size hide
list 63,5 25 125 130,sort size hide
list 64,5 25 125 130,sort size hide
list 65,5 25 125 130,sort size hide
list 66,5 25 125 130,sort size hide
list 67,5 25 125 130,sort size hide
list 68,5 25 125 130,sort size hide
list 69,5 25 125 130,sort size hide
list 70,5 25 125 130,sort size hide
list 80,5 30 125 125,sort size hide
button "&New...",101,135 10 33 15
button "&Delete",102,135 30 33 15
button "",103,135 50 33 15,hide
button "",104,135 70 33 15,hide
button "",105,135 90 33 15,hide
button "",106,135 110 33 15,hide
button "&OK",201,135 120 33 15,ok
button "&Cancel",202,135 140 33 15,cancel
check "",220,5 156 170 15,hide
text "",221,5 156 170 15,hide
list 246,1 1 1 1,hide
list 247,1 1 1 1,hide
list 248,1 1 1 1,hide
list 249,1 1 1 1,hide
list 250,1 1 1 1,hide
}
dialog _simplesockd {
size -1 -1 250 200
option dbu
text "",49,10 8 230 8
combo 50,5 18 100 75,drop edit
button "",51,115 18 30 11,ok
button "",52,150 18 30 11
button "",53,185 18 30 11
button "",60,185 18 30 11,cancel hide
text "",90,10 35 230 8
edit "",100,10 50 230 140,read multi vsbar hsbar
edit "",250,1 1 1 1,hide
}