;IRcap8 ce18693cbb94098c6a058d005ab16b5b

on 1:load: ulista %tmp.ss1

alias ulista {
  if (!$s(1)) { .hmake -s tool | .hload tool "lng\ $+ %idioma $+ \tool.lnh" }
  var %a = $1- | if (!%a) || (%a !isnum) { %a = 1 }
  guiwin @uLista c c 600 330 $s(45)
  %ulista.otro = 68
  %ulista.pñ1 = 30 56 %a ulista.tab $s(46) $+  $+ $s(47) $+  $+ $s(48) $+  $+ $s(49) $+  $+ $s(50) $+  $+ $s(51) $+  $+ $s(52)
  ulista.tab %a
  window -wa @ulista
  sss wina
}
alias -l S return $hget(tool,$1)

alias ulista.tab {
  cuag @ulista 20 56 560 254 $gettok(%gui.cc,1,32) | pestana @ulista ulista.pñ1
  unset %ulista.1 %ulista.2 %ulista.3 %ulista.ed %ulista.op %ulista.ig.*
  %ulista.bt = 330 238 72 ulista.act $s(53) |330 276 20 ulista.ana +|382 276 20 ulista.bor -

  if $1 == 1 {
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,340
    %ulista.tx = 120 240 200 ulista.1 $s(54) |120 260 200 ulista.2 $s(55) |120 280 140 ulista.3 $s(56)
    %ulista.bt = %ulista.bt $+ |436 245 50 ulistacom_w $s(57) |502 245 50 ulistacom_bot $s(58) |436 270 50 ulistacom_memo $s(59) |264 276 8 ulistacom_elige \|290 276 8 ulistacom_oir >
    cuagi @ulista 430 238 142 60 gui
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(55)  $s(56)
    ulistan
    guilista @ulista ulista.ls1
  }
  if $1 == 2 {
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,290
    %ulista.tx = 120 240 200 ulista.1 $s(60)
    %ulista.op = 40 264 ulista.ig.1 $s(61) |110 264 ulista.ig.2 $s(62) |180 264 ulista.ig.3 $s(63) |250 264 ulista.ig.4 $s(64) |40 284 ulista.ig.5 $s(65) |110 284 ulista.ig.6 $s(66) |180 284 ulista.ig.7 $s(67)
    %ulista.bt = %ulista.bt $+  |466 276 90 ulistacom_bignore $s(68)
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(69)  $s(70)
    ulistai
    guilista @ulista ulista.ls1
  }
  if $1 == 3 {
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,290
    %ulista.tx = 120 240 200 ulista.1 $s(60) |120 260 200 ulista.2 $s(71)
    %ulista.op = 480 240 au.op $s(48) |480 256 au.ba $s(72)
    %ulista.bt = %ulista.bt $+  |436 276 120 ulistacom_aonline_10 $s(73)
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(69)  $s(71)
    ulistal 10
    guilista @ulista ulista.ls1
  }
  if $1 == 4 {
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,290
    %ulista.tx = 120 240 200 ulista.1 $s(60) |120 260 200 ulista.2 $s(71)
    %ulista.op = 480 240 au.vo $s(49)
    %ulista.bt = %ulista.bt $+  |436 276 120 ulistacom_aonline_7 $s(73)
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(69)  $s(71)
    ulistal 7
    guilista @ulista ulista.ls1
  }
  if $1 == 5 {
    %ulista.tx = 120 240 200 ulista.1 $s(60) |120 260 200 ulista.2 $s(71) |120 280 200 ulista.3 $s(74)
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,230,370
    %ulista.op = 480 240 au.sh $s(50)
    %ulista.bt = %ulista.bt $+  |436 276 120 ulistacom_aonline_5 $s(73)
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(69)  $s(71)  $s(74)
    ulistal 5
    guilista @ulista ulista.ls1
  }
  if $1 == 6 {
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,300
    %ulista.tx = 120 240 200 ulista.1 $s(60) |120 260 200 ulista.2 $s(55)
    %ulista.bt = %ulista.bt $+  |436 276 120 ulistacom_aonline_69 $s(73)
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(69)  $s(55)
    ulistal 69
    guilista @ulista ulista.ls1
  }

  if $1 == 7 {
    %ulista.ls1 = 32 86 520 10 1 0 ulista.click @ulista1 0,90,300
    %ulista.tx = 120 240 200 ulista.1 $s(60) |120 260 200 ulista.2 $s(55) |520 240 32 ulista.otro $s(75)
    window -c @ulista1 | window -hls @ulista1 
    guitgrid @ulista %ulista.ls1 $s(54)  $s(69)  $s(55)
    ulistal %ulista.otro
    guilista @ulista ulista.ls1
  }
  guidib @ulista
  titula @ulista $s(45) : $line(@ulista1,0) $s(76)
}


alias ULISTAL {
  clear @ulista1 | var %i = 1
  %ulista.l = $1
  :L1
  var %a = $ulist(*,$1,%i) | if %a == $null return
  aline @ulista1 $gettok(%a,1,33) $+ $chr(8) $+ $gettok(%a,2,33) $+ $chr(8) $+ $ulist(*,$1,%i).info
  inc %i | goto L1
}

alias ULISTAN {
  clear @ulista1 | var %i = 1
  unset %ulista.l
  :L1
  var %a = $notify(%i) | if (!%a) return
  var %m = $readini %perfil notifywav %a
  aline @ulista1 %a $+ $chr(8) $+ $iif($notify(%i).note,$ifmatch,-) $+ $chr(8) $+ %m
  inc %i | goto L1
}

alias ULISTAI {
  clear @ulista1 | var %i = 1
  unset %ulista.l
  :L1
  var %a = $ignore(%i) | if %a == $null return
  aline @ulista1 $gettok(%a,1,33) $+ $chr(8) $+ $gettok(%a,2,33) $+ $chr(8) $+ $ignore(%i).type $ignore(%i).secs
  inc %i | goto L1
}

alias ULISTA.CLICK {
  var %t = $gettok(%ulista.pñ1,3,32)
  if %t == 1 { %ulista.1 = $gettok($3-,1,8) | %ulista.2 = $gettok($3-,2,8) | %ulista.3 = $gettok($3-,3,8) }
  if %t == 2 { 
    %ulista.1 = $gettok($3-,1,8) $+ ! $+ $gettok($3-,2,8) 
    var %f = $gettok($3-,3-,8) | unset %ulista.ig.*
    %ulista.ig.1 = $iif(private isin %f,on)
    %ulista.ig.2 = $iif(channel isin %f,on)
    %ulista.ig.3 = $iif(notice isin %f,on)
    %ulista.ig.4 = $iif(ctcp isin %f,on)
    %ulista.ig.5 = $iif(dcc isin %f,on)
    %ulista.ig.6 = $iif(invite isin %f,on)
    %ulista.ig.7 = $iif(codes isin %f,on)
  }
  if %t > 2 {
    %ulista.1 = $gettok($3-,1,8) $+ ! $+ $gettok($3-,2,8)
    %ulista.2 = $gettok($3-,3,8)
    %ulista.3 = $gettok($3-,4,8)
  }
  if $3- == $null { unset %ulista.1 %ulista.2 %ulista.3 %ulista.ig.* }
  %ulista.ed = %ulista.1
  guidib @ulista
}

alias ULISTA.act {
  if (%ulista.ed == $null) || (%ulista.1 == $null) return
  var %t = $gettok(%ulista.pñ1,3,32)
  if %t == 1 {
    .notify -r %ulista.ed
    .notify %ulista.1 $iif(%ulista.2 != -,$ifmatch)
    if $len(%ulista.3) > 1 { writeini %perfil notifywav %ulista.1 %ulista.3 }
    else { remini %perfil notifywav %ulista.1 }
  }
  if %t == 2 {
    .ignore -rw %ulista.ed
    .ignore $opignor %ulista.1
  }
  if %t > 2 {
    var %a = %ulista.2 | if %ulista.3 != $null { if %a == $null { %a = * } | %a = %a $+ $chr(8) $+ %ulista.3 }
    .ruser %ulista.ed
    .auser %ulista.l $fixd(%ulista.1) %a
  }
  ulista.tab %t
}

alias ULISTA.ana {
  if %ulista.1 == $null return
  var %t = $gettok(%ulista.pñ1,3,32)
  if %t == 1 {
    .notify %ulista.1 %ulista.2
    if $len(%ulista.3) > 1 { writeini %perfil notifywav %ulista.1 %ulista.3 }
  }
  if %t == 2 {
    .ignore $opignor %ulista.1
  }
  if %t > 2 {
    var %a = %ulista.2 | if %ulista.3 != $null { if %a == $null { %a = * } | %a = %a $+ $chr(8) $+ %ulista.3 }
    .auser %ulista.l $fixd(%ulista.1) %a
  }
  ulista.tab %t
}

alias ULISTA.bor {
  if %ulista.ed == $null return
  var %t = $gettok(%ulista.pñ1,3,32)
  if %t == 1 {
    .notify -r %ulista.ed
    remini %perfil mnotify %ulista.ed
  }
  if %t == 2 {
    .ignore -rw %ulista.ed
  }
  if %t > 2 {
    .ruser %ulista.ed
  }
  ulista.tab %t
}

alias opignor {
  var %a = -w
  if %ulista.ig.1 == on { %a = %a $+ p }
  if %ulista.ig.2 == on { %a = %a $+ c }
  if %ulista.ig.3 == on { %a = %a $+ n }
  if %ulista.ig.4 == on { %a = %a $+ t }
  if %ulista.ig.5 == on { %a = %a $+ d }
  if %ulista.ig.6 == on { %a = %a $+ i }
  if %ulista.ig.7 == on { %a = %a $+ k }
  return %a
}

alias fixd {
  if (! !isin $1) return $1 $+ !*@*
  return $1
}

alias ULISTACOM {
  goto $1
  :bignore | ignore -rw | ulista.tab $gettok(%ulista.pñ1,3,32) | return
  :aonline | var %a = $$?=" $s(77) " | if %a == $null return | guser $2 %a 8 * | .timer 1 1 ulista.tab $gettok(%ulista.pñ1,3,32) | return
  :w | if (%ulista.ed) w $ifmatch | return
  :bot | if (%ulista.ed) mns info $ifmatch | return
  :memo | if (%ulista.ed) { loads memosend | dmemos %ulista.ed } | return
  :oir | if (!%ulista.3) return | .timer -m 1 100 splay %ulista.3 | return
  :elige | var %b = $mircdir\ $+ %skin $+ \*.wav
  var %a = $dir=" $s(78) ' %ulista.3 ' " [ %b ] | if (!%a) return
  %ulista.3 = %a | guidib @ulista
  goto oir
}
alias onedit.@ulista {
  if $1 == ulista.otro { ulista.tab $gettok(%ulista.pñ1,3,32) }
}

on 1:CLOSE:@ulista: ulista.cierra
alias ulista.cierra unset %ulista.* | .timer 1 2 tolhfree | .unload -rs $shortfn($script)

;EOF-dt
