Peace & Protection 4.00 — File Browser

PeaceProtection4.00v4.0 / PeaceProtection4.00v4.0 / SCRIPT / config2.mrc

config2.mrc — 13.91 KB — Download this file

; #= P&P.temp -rs
; ########################################
; Peace & Protection
; More config routines
; ########################################

alias _config2unload {
  if ($dialog(awayopt)) return
  if ($dialog(aboutpnp)) return
  if ($dialog(popupc)) return
  _unload config2
}

;
; Away options
;
dialog awayopt {
  title "Away System Options"
  size -1 -1 500 250

  edit "", 200, 1 1 1 1, hide autohs

  text "Configure:", 244, 10 14 55 20

  check "&Pager", 245, 65 9 55 25, push
  check "A&way logging", 246, 130 9 90 25, push
  check "&Auto-away", 247, 230 9 85 25, push
  check "&Messages", 248, 325 9 85 25, push
  check "&Other", 249, 420 9 55 25, push

  box "", 250, 10 36 480 170

  text "When away, defaults to:", 1, 29 91 140 16, right hide
  combo 2, 172 87 60 100, drop hide
  text "When auto-away, defaults to:", 3, 29 117 140 16, right hide
  combo 4, 172 113 60 100, drop hide
  text "When not away, defaults to:", 5, 29 143 140 16, right hide
  combo 6, 172 139 60 100, drop hide

  check "Use 'classic' pager window", 7, 270 116 200 16, hide

  check "Enable away logging on away", 8, 29 60 200 16, hide
  check "Enable away logging on auto-away", 9, 229 60 250 16, hide
  check "Clear awaylog on away", 10, 29 82 180 16, hide
  check "Close any open queries on away", 11, 229 82 220 16, hide

  box "What to log:", 12, 20 110 460 81, hide
  check "Log private messages and", 13, 29 134 145 16, hide
  combo 14, 175 131 170 100, drop hide
  check "Log channel events:", 15, 29 162 120 16, hide
  combo 16, 150 159 120 100, drop hide

  box "When you set away:", 17, 20 51 460 65, hide
  radio "Send an action", 18, 29 71 105 16, hide
  radio "Send a message", 19, 29 88 105 16, hide
  text "to all", 20, 134 80 40 16, hide
  check "channels", 21, 164 71 90 16, hide
  check "chats/queries", 22, 164 88 90 16, hide

  check "Repeat this every", 23, 280 79 105 16, hide
  text "minutes", 24, 418 80 40 16, hide
  edit "", 25, 385 76 30 22, hide

  box "Remind people that you're away if they:", 26, 20 124 460 67, hide
  check "Send you a private message", 27, 29 144 200 16, hide
  check "Use any of these words in a channel:", 28, 29 164 195 16, hide
  edit "", 29, 225 161 245 22, autohs hide

  check "Change nick on away to:", 30, 29 64 135 16, hide
  edit "", 31, 168 61 100 22, autohs hide
  text "(use &&me&& to represent old nick)", 32, 270 65 180 16, hide
  check "Disable sounds when away", 33, 29 90 160 16, hide
  check "Disable event beeps when away", 34, 29 116 180 16, hide
  check "Deop yourself in any channels when away", 35, 29 142 230 16, hide
  check "Enable dedicated query window when away", 36, 29 168 240 16, hide

  check "Automatically set away after", 37, 29 90 155 16, hide
  text "minutes idle", 38, 215 91 60 16, hide
  edit "", 39, 184 87 30 22, hide
  check "Warn you before setting auto-away", 40, 29 116 200 16, hide
  check "Perform auto-away quietly (don't inform channels / etc.)", 41, 29 142 300 16, hide

  button "OK", 241, 30 216 55 25, OK default
  button "Cancel", 242, 100 216 55 25, cancel
  button "Help", 243, 170 216 55 25, disable

  edit "", 100, 1 1 1 1, hide
}
on *:DIALOG:awayopt:init:*:{
  var %opt,%num = 2
  :loop1
  did -a $dname %num On
  did -a $dname %num Off
  did -a $dname %num Quiet
  %opt = $gettok(. away . autoaway . back,%num,32) $+ .pager
  %opt = $_cfgi(%opt)
  did -c $dname %num $iif(%opt == quiet,3,$iif(%opt,1,2))
  if (%num < 6) { inc %num 2 | goto loop1 }
  if ($_cfgi(pager.classic)) did -c $dname 7

  loadbuf -otawayopt1 $dname 14 script\dlgtext.dat
  loadbuf -otawayopt2 $dname 16 script\dlgtext.dat

  if ($_cfgi(away.log)) did -c $dname 8
  if ($_cfgi(autoaway.log)) did -c $dname 9
  if ($_cfgi(awaylog.clear)) did -c $dname 10
  if ($_cfgi(away.closeq)) did -c $dname 11
  if (%`awaylog.msg) did -c $dname 13
  else did -b $dname 14
  did -c $dname 14 $calc(1 + %`awaylog.close)
  if (%`awaylog.chan) did -c $dname 15
  else did -b $dname 16
  did -c $dname 16 $iif(%`awaylog.chan,%`awaylog.chan,1)

  did -c $dname $iif($_cfgi(away.act),18,19)
  if ($_cfgi(away.chan)) did -c $dname 21
  if ($_cfgi(away.msg)) did -c $dname 22
  if ($_cfgi(away.rep)) did -c $dname 23
  else did -b $dname 25
  did -a $dname 25 $_cfgi(away.delay)
  if (%`away.remind) did -c $dname 27
  if (%`awaywords) did -c $dname 28
  else did -b $dname 29
  did -a $dname 29 %`awaywords.words

  if ($_cfgi(away.chnick)) did -c $dname 30
  else did -b $dname 31
  did -a $dname 31 $_cfgi(away.nick)
  if ($_cfgi(away.sndoff)) did -c $dname 33
  if ($_cfgi(away.beepoff)) did -c $dname 34
  if ($_cfgi(away.deop)) did -c $dname 35
  if ($_cfgi(away.dq)) did -c $dname 36

  if (%`autoaway) did -c $dname 37
  else did -b $dname 39
  did -a $dname 39 $calc(%`autoaway.time / 60)
  if ($_cfgi(autoaway.ask)) did -c $dname 40
  if ($_cfgi(autoaway.quiet)) did -c $dname 41

  ; Select a section
  if ($pos(plamo,$left(%.section,1),1)) _acsec $ifmatch
  elseif ($_dlgi(away)) _acsec $ifmatch
  else _acsec 1

unset %.section
}
on *:DIALOG:awayopt:sclick:13:_doflip 14
on *:DIALOG:awayopt:sclick:15:_doflip 16
on *:DIALOG:awayopt:sclick:23:_doflip 25
on *:DIALOG:awayopt:sclick:28:_doflip 29
on *:DIALOG:awayopt:sclick:30:_doflip 31
on *:DIALOG:awayopt:sclick:37:_doflip 39
alias -l _doflip did $iif($did($did).state,-e,-b) $dname $1
on *:DIALOG:awayopt:sclick:241:{
  ; save settings
  var %num = 2
  :loop1
  _cfgw $gettok(. away . autoaway . back,%num,32) $+ .pager $gettok(1 0 quiet,$did(%num).sel,32)
  if (%num < 6) { inc %num 2 | goto loop1 }
  _cfgw pager.classic $did(7).state

  _cfgw away.log $did(8).state
  _cfgw autoaway.log $did(9).state
  _cfgw awaylog.clear $did(10).state
  _cfgw away.closeq $did(11).state
  `set awaylog.msg $did(13).state
  `set awaylog.close $calc($did(14).sel - 1)
  `set awaylog.chan $iif($did(15).state,$did(16).sel,0)

  _cfgw away.act $did(18).state
  _cfgw away.chan $did(21).state
  _cfgw away.msg $did(22).state
  _cfgw away.rep $did(23).state
  _cfgw away.delay $iif($did(25) isnum,$did(25),20)
  `set away.remind $did(27).state
  `set awaywords $did(28).state
  `set awaywords.words $_s2c($did(29))

  _cfgw away.chnick $did(30).state
  _cfgw away.sndoff $did(33).state
  _cfgw away.beepoff $did(34).state
  _cfgw away.deop $did(35).state
  _cfgw away.dq $did(36).state
  _cfgw away.nick $gettok($did(31),1,32)

  `set autoaway $did(37).state
  _cfgw autoaway.ask $did(40).state
  _cfgw autoaway.quiet $did(41).state
  `set autoaway.time $iif($did(39) isnum,$calc($did(39) * 60),1200)

  _dlgw away $did(100)

  .timer -o 1 0 _config2unload
}
on *:DIALOG:awayopt:sclick:242:.timer -o 1 0 _config2unload
on *:DIALOG:awayopt:sclick:*:if ($did isnum 245-249) _acsec $calc($did - 244)
alias -l _acsec {
  ; select radio btn
  if ($did(awayopt,100) isnum) did -u awayopt $calc(244 + $did(awayopt,100))
  did -o awayopt 100 1 $1
  did -c awayopt $calc(244 + $1)

  ; change the shown options
  var %range = $gettok(1-7 8-16 37-41 17-29 30-36,$1,32)
  if ($did(awayopt,200) == %range) return
  if ($did(awayopt,200)) _bulkdid -h awayopt $replace($did(awayopt,200),-,$chr(32))
  did -o awayopt 200 1 %range
  _bulkdid -v awayopt $replace(%range,-,$chr(32))
}
alias _awaycfg set %.section $1 | _dialog -am awayopt awayopt

;
; ABOUT dialog
;
dialog aboutpnp {
  title "About P&P"
  size -1 -1 250 280
  text "Peace && Protection", 2, 10 10 150 16
  text "by pai", 3, 10 26 150 16
  text "", 4, 10 42 150 16
  text "Dedicated to Awenyedd", 10, 10 58 150 16
  button "URL", 5, 10 117 48 20
  button "E-Mail", 6, 10 139 48 20
  edit "", 7, 63 116 180 22, read autohs
  edit "", 8, 63 138 180 22, read autohs
  button "Close", 1, 10 161 48 21, cancel default
  icon 9, 140 170 100 100
  button "Report a bug...", 11, 10 225 115 22
  button "Send feedback...", 12, 10 250 115 22
}
on *:DIALOG:aboutpnp:init:*:{
  unset %_cq
  did -a $dname 4 $:ver
  did -o $dname 7 1 $:www
  did -o $dname 8 1 $:email
  var %icon = $_dlgi(about)
  if (%icon !isnum) %icon = 1
  else %icon = $calc(%icon % 3 + 1)
  _dlgw about %icon
  did -g $dname 9 script\pai $+ %icon $+ .bmp
  .timer -mo 1 0 do3d
}
on *:DIALOG:aboutpnp:sclick:1:stop3d
on *:DIALOG:aboutpnp:sclick:5:http $:www | dialog -c aboutpnp
on *:DIALOG:aboutpnp:sclick:6:mailto $:email | dialog -c aboutpnp
on *:DIALOG:aboutpnp:sclick:11:.timer -o 1 0 bug | dialog -c aboutpnp
on *:DIALOG:aboutpnp:sclick:12:.timer -o 1 0 feedback | dialog -c aboutpnp
menu @PNP3D {
  sclick:fix3d
  dclick:fix3d | inc -u5 %.blah | if (%.blah > 1) %_cq = 1
  $fix3d:{ }
}
alias -l fix3d dialog -v aboutpnp
alias -l do3d window -pfdoha +dL @PNP3D $calc($dialog(aboutpnp).x + 145) $calc($dialog(aboutpnp).y + 25) 100 100 @PNP3D | %_cx = 0 | %_cy = 0 | %_cz = 0 | .timer3d -om 0 50 drawbox | dialog -v aboutpnp
alias -l draw3d { drawline -rn @PNP3D $rgb(frame) 1 $calc($1 + 50 + $calc($3 / 4)) $calc($2 + 50 - $calc($3 / 4)) $calc($4 + 50 + $calc($6 / 4)) $calc($5 + 50 - $calc($6 / 4)) }
alias -l drawbox {
  %_cx = $calc((%_cx + 4) % 256)
  %_cy = $calc((%_cy + 252.5) % 256)
  %_cz = $calc((%_cz + 2 + $sin($calc(0.02454 * %_cy))) % 256)
  dorots $cos($calc(0.02454 * %_cx)) $sin($calc(0.02454 * %_cx)) $cos($calc(0.02454 * %_cy)) $sin($calc(0.02454 * %_cy)) $cos($calc(0.02454 * %_cz)) $sin($calc(0.02454 * %_cz))
}
alias -l dodraws {
  drawrect -frn @PNP3D $rgb(face) 1 0 0 101 101
  draw3d $1-6 | draw3d $4-9 | draw3d $7-12 | draw3d $10-12 $1-3
  draw3d $13-18 | draw3d $16-21 | draw3d $19-24 | draw3d $22-24 $13-15
  draw3d $1-3 $13-15 | draw3d $4-6 $16-18 | draw3d $7-9 $19-21 | draw3d $10-12 $22-24
  drawdot @PNP3D | window @PNP3D $calc($dialog(aboutpnp).x + 145) $calc($dialog(aboutpnp).y + 25)
  if ($appactive) window -ro @PNP3D | else window -h @PNP3D
}
alias -l dorots dodraws %_cq $bitrot(-30,-30,30,$1,$2,$3,$4,$5,$6) $bitrot(30,-30,30,$1,$2,$3,$4,$5,$6) $bitrot(30,30,30,$1,$2,$3,$4,$5,$6) $bitrot(-30,30,30,$1,$2,$3,$4,$5,$6) $bitrot(-30,-30,-30,$1,$2,$3,$4,$5,$6) $bitrot(30,-30,-30,$1,$2,$3,$4,$5,$6) $bitrot(30,30,-30,$1,$2,$3,$4,$5,$6) $bitrot(-30,30,-30,$1,$2,$3,$4,$5,$6)
alias -l bitrot return $calc((($2 * $5 + $3 * $4) * $7 + $1 * $6) * $8 - ($2 * $4 - $3 * $5) * $9) $calc((($2 * $5 + $3 * $4) * $7 + $1 * $6) * $9 + ($2 * $4 - $3 * $5) * $8) $calc(($2 * $5 + $3 * $4) * $6 - $1 * $7)
alias -l stop3d .timer3d off | window -c @PNP3D | unset %_cx %_cy %_cz %_cq
alias _about $dialog(aboutpnp,aboutpnp,-2) | _config2unload

;
; popup config
;
dialog popupc {
  title "Configure Popups"
  size -1 -1 280 375

  list 10, 1 1 1 1, hide
  edit "", 11, 1 1 1 1, hide autohs

  text "Select a type of popups, and you select which items to show within those popups", 1, 10 10 260 30
  check "Menubar", 2, 10 45 80 25, push
  check "Query", 3, 100 45 80 25, push
  check "Channel", 4, 190 45 80 25, push
  check "Nicklist", 5, 10 80 80 25, push
  check "Status", 6, 100 80 80 25, push
  check "@Windows", 7, 190 80 80 25, push
  box "", 8, -10 110 300 400

  check "", 20, 10 130 170 20
  check "", 21, 10 150 170 20
  check "", 22, 10 170 170 20
  check "", 23, 10 190 170 20
  check "", 24, 10 210 170 20
  check "", 25, 10 230 170 20
  check "", 26, 10 250 170 20
  check "", 27, 10 270 170 20
  check "", 28, 10 290 170 20
  check "", 29, 10 310 170 20
  check "", 30, 10 330 170 20
  check "", 31, 10 350 170 20

  check "Hide op cmds", 50, 190 130 90 20
  text "if not opped", 51, 208 150 80 20

  button "OK", 100, 190 220 80 25, ok default
  button "Cancel", 101, 190 250 80 25, cancel
  button "Normal", 102, 190 280 80 25
  button "Condensed", 103, 190 310 80 25
  button "Help", 104, 190 340 80 25, disable
}
alias _popups _dialog -am popupc popupc
on *:DIALOG:popupc:init:*:{
  var %num = 1,%old
  :loop
  %old = %`popups. [ $+ [ %num ] ]
  %old = %old $+ $str(1,$calc(12 - $len(%old)))
  did -a popupc 10 %old
  if (%num < 6) { inc %num | goto loop }
  if (%`popups.hideop) did -c popupc 50
  if ($_dlgi(popupc) isnum 1-6) _pcsel $ifmatch | else _pcsel 1
}
on *:DIALOG:popupc:sclick:*:{
  if ($did isnum 2-7) _pcsel $calc($did - 1)
  elseif ($did isnum 20-31) {
    var %old = $did(10,$did(11))
    did -o popupc 10 $did(11) $left(%old,$calc($did - 20)) $+ $did($did).state $+ $right(%old,$calc(19 - $did))
  }
  elseif ($did == 100) {
    var %num = 1
    :loop
    `set popups. $+ %num $did(10,%num)
    if (%num < 6) { inc %num | goto loop }
    `set popups.hideop $did(50).state
    _dlgw popupc $did(11)
  }
  elseif ($did isnum 102-103) {
    did -o popupc 10 $did(11) $gettok($gettok(1010001110111 101011110100 011010101001 110011000110 011110111001 110100111111+1111001111111 010111111011 111111110111 001111111111 111111111111 111001111111,$calc(104 - $did),43),$did(11),32)
    _pcsel $did(11)
  }
  if ($did isnum 100-101) .timer -o 1 0 _config2unload
}
alias -l _pcsel {
  var %popups,%curr = $did(popupc,10,$1),%all
  did -o popupc 11 1 $1
  %all = 2,3,4,5,6,7
  goto $1
  :1 | %popups = Configure,Whois Tome / LastWhois,Lists,Away,Nickname,List channels,Channels,Favorites,Addons,Help! | goto do
  :2 | %popups = Whois,User info,Ping,CTCP,DCC,Ignore,Userlist,Notify,Window,Close,Help! | goto do
  :3 | %popups = Topic,Modes,Settings,Banlist,Bans,Ping,Scan,Favorites,Part,Window,Help! | goto do
  :4 | %popups = Quick kick,Quick ban,Kick,Bans,Op / Voice / Deop / Devoice,User info,CTCP,DCC,Query,Lists,Notices,Help!  | goto do
  :5 | %popups = List channels,Channels,Favorites,Nickname,Usermode,Quit,Server,Stats,Connect,Window,Help! | goto do
  :6 | %popups = Select all,Copy,Window,Close,Hide,Help! | goto do
  :do
  did $iif($1 isnum 3-4,-v,-h) popupc 50,51
  did -cf popupc $calc($1 + 1)
  did -u popupc $remtok(%all,$calc($1 + 1),1,44)
  var %num = 1
  :loop
  if ($gettok(%popups,%num,44)) {
    did -va popupc $calc(19 + %num) $ifmatch
    did $iif($mid(%curr,%num,1),-c,-u) popupc $calc(19 + %num)
  }
  else did -h popupc $calc(19 + %num)
  if (%num < 12) { inc %num | goto loop }
}