All pastes #410315 Raw Edit

Unnamed

public text v1 · immutable
#410315 ·published 2007-03-26 08:46 UTC
rendered paste body
dialog AddNickHost.info {
  title "WiseS"
  size -1 -1 82 51
  option dbu
  text "Add by:", 1, 1 1 25 8
  radio "Nick", 2, 1 10 23 10
  radio "Ident", 3, 25 14 23 10
  radio "Host", 4, 1 18 23 10
  edit "", 6, 1 29 77 10
  button "Ok", 7, 1 39 34 11
  button "Cancel", 8, 44 39 34 11, cancel
}
on *:dialog:AddNickHost.info:*:*: {
  if ($devent == init) {
    if (!$dialog(infoline)) {
      dialog -x $dname
    }
  }
  if ($devent == sclick) && ($did == 7) {
    if ($did(6).text) {
      if ($did(AddNickHost.info,2,0).state == 1) {
        set %x $chr(127) $+ Nick
      }
      if ($did(AddNickHost.info,3,0).state == 1) {
        set %x $chr(127) $+ Ident
      }
      if ($did(AddNickHost.info,4,0).state == 1) {
        set %x $chr(127) $+ Host
      }
      if ($did(AddNickHost.info,5,0).state == 1) {
        set %x $chr(127) $+ Full
      }
      writeini Data\InfoLine.ws $+($ini.encode($did(6).text),%x) on true
      unset %x
      info.refreshnicks
      dialog -x $dname
    }
    else {
      noop $input(Please input text,w,Warning,w)
    }
  }
}
dialog AddInfo.info {
  title "Add Info [WiseScript]"
  size -1 -1 137 37
  option dbu
  button "Ok", 5, 3 21 34 11, ok
  button "Cancel", 6, 40 21 36 11, cancel
  text "Info:", 1, 2 1 25 8
}
on *:dialog:AddInfo.info:*:*: {
  if ($devent == init) {
    if (!$dialog(infoline)) {
      dialog -x $dname
    }
    dcx Mark $dname AddInfo.info_cb
    xdialog -c $dname 2 richedit 4 18 260 20
  }
  if ($devent == sclick) {
    if ($did == 5) {
      set %x $calc($remove($ini(Data\InfoLine.ws,$info.getselected,$ini(Data\InfoLine.ws,$info.getselected,0)),info) + 1)
      writeini Data\InfoLine.ws $info.getselected $+(info,%x) $xdid($dname,2).text
      info.refreshinfos %Info.ToAdd
      unset %Info.ToAdd
      unset %x
    }
    if ($did == 6) {
      unset %Info.ToAdd
    }
  }
  if ($devent == close) {
    if (%Info.ToAdd) { unset %Info.ToAdd }
  }
}
alias AddInfo.info_cb {
}
dialog infoline {
  title "Info Line [WiseScript]"
  size -1 -1 454 250
  option pixels
  button "", 12, -1 -1 1 1, ok
}

on *:dialog:infoline:*:*: {
  if ($devent == init) {
    dcx Mark $dname InfoLine_cb

    xdialog -c $dname 1 listview 8 29 110 146 report grid showsel singlesel
    xdialog -c $dname 2 listview 128 29 308 146 report grid noheader showsel singlesel
    xdid -t $dname 1 +c 0 60 Nick/host $chr(9) +c 0 47 type
    xdid -t $dname 2 +c 0 304 Info Lines

    xdialog -c $dname 3 button 8 176 46 20
    xdid -t $dname 3 Add

    xdialog -c $dname 4 button 60 176 46 20
    xdid -t $dname 4 Delete

    xdialog -c $dname 5 button 338 176 46 20
    xdid -t $dname 5 Add

    xdialog -c $dname 6 button 390 176 46 20
    xdid -t $dname 6 Delete

    xdialog -c $dname 7 text 8 12 50 16
    xdid -t $dname 7 Nick/Host:

    xdialog -c $dname 8 text 130 12 50 16
    xdid -t $dname 8 Info Line:

    xdialog -c $dname 9 text 8 202 50 16
    xdid -t $dname 9 Preview:

    xdialog -c $dname 10 @info.win 6 224 364 20

    xdialog -c $dname 11 button 372 222 74 24
    xdid -t $dname 11 Ok

    info.refreshnicks
  }
  if ($devent = close) {
    if ($dialog(AddNickHost.info)) {
      dialog -x AddNickHost.info
    }
    if ($dialog(AddInfo.info)) {
      dialog -x AddInfo.info
    }
  }
}
alias infoline_cb {
  if ($2 == sclick) {
    if ($3 == 1) {
      info.refreshinfos $info.getselected
    }
    if ($3 == 2) {

    }
    if ($3 == 3) {
      if ($dialog(AddNickHost.info)) {
        dialog -v AddNickHost.info
      }
      else {
        dialog -m AddNickHost.info AddNickHost.info
      }
    }
    if ($3 == 4) {
      var %x
      if ($xdid(infoline,1).selnum > 0) {
        remini Data\InfoLine.ws $info.getselected
        info.refreshnicks
      }
    }
    if ($3 == 5) {
      set %Info.ToAdd $info.getselected
      if ($dialog(AddInfo.info)) {
        dialog -v AddInfo.info
      }
      else {
        dialog -m AddInfo.info AddInfo.info
      }
    }
    if ($3 == 6) {
      remini Data\InfoLine.ws $info.getselected $ini(Data\InfoLine.ws,$info.getselected,$calc($xdid(infoline,2).sel + 1))
      info.refreshinfos $info.getselected
    }
    if ($3 == 11) {
      dialog -k infoline
    }
  }
}
alias info.refreshnicks {
  xdid -r infoline 1
  var %y 1
  while ($ini(Data\InfoLine.ws,%y)) {
    var %x $v1
    xdid -a infoline 1 0 0 0 0 0 0 0 0 0 $replace(%x,$gettok(%x,1,127),$ini.decode($gettok(%x,1,127)),$chr(127),$tab $+ 0 0 $+ $chr(32),Full,Full Name)
    inc %y
  }
}
alias info.refreshinfos {
  xdid -r infoline 2
  var %x 2
  while ($ini(Data\InfoLine.ws,$1,%x)) {
    xdid -a infoline 2 0 0 0 0 0 0 0 0 0 $readini(Data\InfoLine.ws,$1,$v1)
    inc %x
  }
  unset %1
}
alias info.getselected {
  return $+($ini.encode($xdid(infoline,1,0).seltext),$chr(127),$replace($xdid(infoline,1,1).seltext,Full Name,Full))
}
alias info.design {
  return Random InfoLine for $+(,$left($1,1),,$right($1,-1)) 
}

on *:join:#: {
  var %info.nick $ini.encode($nick)
  var %info.ident $ini.encode($ident($nick))
  var %info.host $ini.encode($address($nick,5))
  if ($ini(Data\InfoLine.ws,$+(%info.nick,$chr(127),nick),0) > 1) {
    set %x $rand(2,$v1)
    msg $chan $info.design $+ $nick $+($([),$calc(%x - 1),/,$calc($v1 - 1),$(])) : $readini(Data\InfoLine.ws,$+(%info.nick,$chr(127),nick),$ini(Data\InfoLine.ws,$+(%info.nick,$chr(127),nick),%x))
    unset %x
  }
  elseif ($ini(Data\InfoLine.ws,$+(%info.ident,$chr(127),ident),0) > 1) {
    set %x $rand(2,$v1)
    msg $chan $info.design $+ $nick $+($([),$calc(%x - 1),/,$calc($v1 - 1),$(])) : $readini(Data\InfoLine.ws,$+(%info.ident,$chr(127),ident),$ini(Data\InfoLine.ws,$+(%info.ident,$chr(127),ident),%x))
    unset %x
  }
  else {
    var %x 1
    while ($ini(Data\InfoLine.ws,%x)) {
      set %z $v1
      if ($gettok($v1,2,127) == host) {
        set %y $deltok(%z,2,127)
        echo %y
        echo %info.host
        if (%y iswm %info.host) {
          if ($ini(Data\InfoLine.ws,$+(%y,$chr(127),host),0) > 1) {
            set %a $rand(2,$v1)
            msg $chan $info.design $+ $nick $+($([),$calc(%a - 1),/,$calc($v1 - 1),$(])) : $readini(Data\InfoLine.ws,$+(%y,$chr(127),host,$ini(Data\InfoLine.ws,$+(%y,$chr(127),host),host)),$ini(Data\InfoLine.ws,$+(%y,$chr(127),host,$ini(Data\InfoLine.ws,$+(%y,$chr(127),host),host)),%a))
            unset %a
          }
        }
        unset %y
      }
      inc %x
    }
    unset %z
  }
}