This is my key manager. I used MDX and Popups. comments are in Italian.
Aliases to include:
pop { tokenize 32 $dll($shortfn(dll\popups.dll),Popup,$1-) | if ($isid) return $1- | $iif($4- != did not select a menu item,$4-) }
popups { return dll " $+ $mircdir $+ dll\POPUPS.DLL $+ " }
alias mdx { return DLL/mdx.dll }
alias ctl { return DLL/ctl_gen.mdx }
alias bars { return DLL/bars.mdx }
alias views { return DLL/views.mdx }
alias dmu { return DLL/dmu.dll }
alias mdx.load { dll $mdx SetMircVersion $version | dll $mdx MarkDialog $dname }
I placed my dll in the folder $mircdir/dll
this is my prokey.txt file
F1 - csetup
F2 - nick kibo
F3 - nick kibo_awy
F4 - server irc.azzurra.org
F5 - msg Nickserv identify [your-password]
F6 - alt r
F7 -
F8 -
F9 -
F10 -
F11 -
F12 -
;autore kibo
;Proscript ver 0.1
alias prokey { dialog -m skey skey }
alias cprokey { dialog -c skey skey }
dialog skey {
title "ProScript - Key Manager"
size -1 -1 129 153
option dbu
box "ProKey", 1, 2 3 125 135
list 3, 4 10 121 125, size
button "&Esci", 2, 36 140 55 12, ok
text "Ok", 5, 1 1 0 0
text "Ok", 6, 1 1 0 0
}
on *:dialog:skey:*:*: {
if ($devent == init) {
$mdx.load
$mdx SetControlMDX $dname 3 listview report grid > DLL\views.mdx
did -i $dname 3 1 headerdims 1000:1
did -i $dname 3 1 headertext + 0 Tasto - Comando
load_fkey
}
if ($devent == sclick) {
if ($gettok($did($dname,3,1),1,32) = rclick) {
if ($did == 3) {
$popups New per 16 16
$popups LoadImg per icon small 0,Images\Add.ico
$iif(($did(3).sel),$popups AddItem per end 1 1 Modifica $cr command_edit $did(3).sel)
Pop per $mouse.dx $mouse.dy
}
}
}
}
alias dir_data { return $mircdir\prokey.txt }
//Lettura del comando associato al tasto
alias akey {
var %a = $gettok($read($dir_data,$1),3-,32)
if (%a != <vuoto>) { return %a }
else { return $null }
}
//Assegnazione del comando associato al tasto
alias F1 $akey(1)
alias F2 $akey(2)
alias F3 $akey(3)
alias F4 $akey(4)
alias F5 $akey(5)
alias F6 $akey(6)
alias F7 $akey(7)
alias F8 $akey(8)
alias F9 $akey(9)
alias F10 $akey(10)
alias F11 $akey(11)
alias F12 $akey(12)
;Scrittura nella dialog
alias load_fkey {
var %z = $lines($dir_data)
var %x = 1
while (%x <= %z) {
.did -i $dname 3 $calc(1+%x) $read($dir_data,%x)
inc %x
}
}
;Popups di modifica o aggiunta comando
alias command_edit {
var %z = $calc($1 - 1)
var %tok = $gettok($read($dir_data,%z),1,32)
var %cmd $$?="Inserisci comando $crlf $+ Es: /comando oppure comando (senza /)"
write -l $+(%z) $dir_data %tok $+ $chr(32) $+ $chr(45) $+ $chr(32) $+ %cmd
cprokey | prokey
}