rendered paste body
;//Away System
alias aways { dialog -m away_s away_s }
dialog away_s {
title "Away"
size -1 -1 118 150
option dbu
box "", 1, 3 0 112 32
box "", 2, 3 34 112 60
edit "כינוי", 3, 5 19 28 10, read center
edit "", 4, 33 5 79 10, autohs
edit "סיבה", 5, 5 5 28 10, read center
edit "", 6, 33 19 79 10
check "הצג הודעת אווי כל", 11, 56 40 56 10, flat left
edit "", 13, 36 41 17 10, autohs
text "דקות", 14, 15 41 16 8
button "אווי", 16, 2 135 35 12, flat
button "חזור", 17, 40 135 34 12, flat
button "אישור", 18, 77 135 37 12, flat ok
check "חזור מאווי בעת שליחת הודעה לערוץ", 7, 11 50 101 10, flat left
check "העדר כשאני לא על המחשב במשך", 8, 12 102 100 11, flat left
edit "", 9, 83 113 17 10, autohs
text "דקות", 10, 67 114 15 8
check "העדר בכל השרתים בהם אני נמצא", 12, 14 60 98 10, flat left
check "מזער מירק לטראי בעת העדרות", 15, 21 70 91 10, flat left
box "Auto Away", 19, 3 95 112 33
check "כשאומרים את שמי שלח סיבת אווי", 20, 15 80 97 10, flat left
text "(להפעלה לחץ אישור)", 21, 9 114 57 8
}
alias isaway var %i = 1 | while $scon(%i) { if $scon(%i).away { return $true } | inc %i } | return $false
on *:dialog:away_s:init:0: {
if ($isaway) { did -b away_s 16 | did -e away_s 17 }
else { did -b away_s 17 | did -e away_s 16 }
did -ra away_s 13 30
did -ra away_s 9 60
$iif($timer(auto),did -c $dname 8,did -u $dname 8)
}
on *:dialog:away_s:sclick:11: { $iif($did($dname,$did).state,set %away.every $did($dname,13),unset %away.every) }
on *:dialog:away_s:sclick:12: { $iif($did($dname,$did).state,set %allscon 1,unset %allscon) }
on *:dialog:away_s:sclick:7: { $iif($did($dname,$did).state,set %away.input 1,unset %away.input) }
on *:dialog:away_s:sclick:15:{ $iif($did($dname,$did).state,set %away.tray 1,unset %away.tray) }
on *:dialog:away_s:sclick:20:{ $iif($did($dname,$did).state,set %away.myname 1,unset %away.myname) }
on *:dialog:away_s:sclick:8:{ $iif($did($dname,$did).state,set %away.auto 1,unset %away.auto) }
on *:dialog:away_s:sclick:16: {
if ($did($dname,4)) {
set %reason $did(away_s,4).text
set %mynick $me
set %time $time
set %away_time $ctime
set %scon $activecid
if ($did(away_s,6)) $iif($did($dname,12).state,scon -a nick $did(away_s,6).text,scid %scon nick $did(away_s,6).text)
if ($did($dname,7).state) set %away.input 1
else unset %away.input
$iif($did($dname,15).state,showmirc -t)
$iif($did($dname,20).state,.enable #away.text,.disable #away.text)
if ($did(away_s,11).state) timerx 0 $calc($did(away_s,13).text *60) $iif($did($dname,12).state,scon -a ame,scid %scon ame) 12[1«12-warwicK-1 12I14s 12S14till 12A14way, 12R14eason :4 %reason 12S14ince10: %time 14 1«12-warwicK-1»12]
$iif($did($dname,12).state,scon -a ame,scid $activecid ame) 12[1«12-warwicK-1» 12I14s 12G14oing 12A14way, 12R14eason :4 %reason 14 1«12-warwicK-1»12]
.timerauto off
writeini away.ini Away Time $iif($did($dname,9),$ifmatch,60)
if ($did($dname,8).state) { .timerauto 0 $calc($readini(away.ini,Away,Time) *60) Aaway }
dialog -c away_s away_s
$iif($did($dname,12).state,scon -a away %reason,scid %scon away %reason)
}
else echo -a * לא הכנסת סיבה לאווי
}
on *:dialog:away_s:sclick:17: {
if ($did(away_s,11).enabled) .timerx off
$iif(%allscon,scon -a,scid %scon) ame 12[1«12-warwicK-1» 12I14s 12B14ack 12F14rom :4 %reason ,12S14ince 12 %time 14( $+ 10 $+ $duration($calc($ctime - %away_time)) 14) 14 1«12-warwicK-1»12]
if (%mynick) $iif(%allscon,scon -a,scid %scon) .nick %mynick
.unset %mynick
.unset %reason
.unset %time
dialog -c away_s away_s
$iif(%allscon,scon -a,scid %scon) away
}
on *:dialog:away_s:sclick:8: {
did $iif($did($dname,$did).state,-e,-b) $dname 9
writeini away.ini Away Idle $iif($did($dname,$did).state,1,0)
$iif($did($dname,$did).state,.enable,.disable) #Aaway
}
#Aaway off
on *:connect: { $iif(!$timer(auto).type,.timerauto 0 $calc($readini(away.ini,Away,Time) *60) Aaway) | set %away.auto 1 }
#Aaway end
alias aaway { $iif($isaway == $false,dialog -m aaway aaway) }
dialog aaway {
title "Autoaway"
size -1 -1 200 90
text "יוצא לאווי בעוד 10 שניות",1, 20 20 160 15, center
text "0 0 100",3, 20 40 160 10
box "",2, 4 0 190 85
button "ביטול",4, 70 60 55 20,cancel,default
}
on *:dialog:aaway:init:0:{
dll $mdx MarkDialog $dname
dll $mdx SetControlMDX 3 progressbar smooth > dlls\mdx\ctl_gen.mdx
set %aaway.temp 100
.timeraaway -m 101 100 autoaway
beep 2
}
on *:dialog:aaway:sclick:4:.timeraaway off
alias -l autoaway {
if ($dialog(aaway) == $null) { unset %aaway.temp | halt }
if (%aaway.temp > 0) { did -a aaway 3 $calc(100 - %aaway.temp) | dec %aaway.temp | did -ra aaway 1 יוצא לאווי בעוד $int($calc(%aaway.temp /10)) שניות }
else {
if ($isaway == $false) {
.timeraaway off
unset %aaway.temp
set %reason 12A14uto 12A14way 12A14fter10 $readini(away.ini,Away,Time) 12M14in's
set %mynick $me
set %time $time
set %away_time $ctime
set %scon $activecid
$iif(%allscon,scon -a away %reason,scid $activecid away %reason)
if (%away.changenick) $iif(%allscon,scon -a nick %away.changenick,scid %scon nick %away.changenick)
if (%away.every) .timerx 0 $calc(%away.every *60) $iif(%allscon,scon -a ame,scid %scon ame) 12[1«12-warwicK-1» 12I14s 12S14till 12A14way, 12R14eason :4 %reason 12S14ince10: %time 14 1«12-warwicK-1»12]
$iif(%allscon,scon -a ame,scid $activecid ame) 12[1«12-warwicK-1» 12I14s 12G14oing 12A14way, 12R14eason :4 %reason 14 1«12-warwicK-1»12]
$iif(%away.input,set %away.input2 1,unset %away.input2)
$iif(%away.tray,showmirc -t)
$iif(%away.myname,.enable #away.text,.disable #away.text)
dialog -x aaway aaway
}
}
}
on *:dialog:away_s:sclick:18: {
$iif($did($dname,11).state,set %away.every $did($dname,13),unset %away.every)
$iif($did($dname,12).state,set %allscon 1,unset %allscon)
$iif($did($dname,7).state,set %away.input 1,unset %away.input)
$iif($did($dname,15).state,set %away.tray 1,unset %away.tray)
$iif($did($dname,20).state,set %away.myname 1,unset %away.myname)
$iif($did($dname,8).state,set %away.auto 1,unset %away.auto)
$iif($did($dname,6).text,set %away.changenick $ifmatch,unset %away.changenick)
.timerauto off
writeini away.ini Away Time $iif($did($dname,9),$ifmatch,60)
if ($did($dname,8).state) { .timerauto 0 $calc($readini(away.ini,Away,Time) *60) aaway | set %away.auto 1 }
dialog -x $dname $dname
}
on *:input:#:{
if (/* != $left($1,1)) {
if (%away.auto) {
.timerauto off
.timerauto 0 $calc($readini(away.ini,Away,Time) *60) aaway
}
if (%away.input) || (%away.input2) {
if ($scid($activecid).away) {
.timerx off
$iif(%allscon,scon -a,scid %scon) ame 12[1«12-warwicK-1» 12 I14s 12B14ack 12F14rom: 4 %reason , 12S14ince10 %time 14( $+ 10 $+ $duration($calc($ctime - %away_time)) $+ 14) 1«12-warwicK-1»12]
$iif(%allscon,scon -a,scid %scon) .nick %mynick
.unset %mynick
.unset %reason
.unset %time
$iif(%allscon,scon -a,scid %scon) away
}
}
}
}
#away.text on
on *:text:*:#:{
if ($isaway) {
if ($me isin $1-) describe # 12[1«12-warwicK-1» 12I14s 12S14till 12A14way, 12R14eason :10 %reason 12S14ince10: %time 1«12-warwicK-1»12]
}
}
#away.text end