diff options
| author | 2016-09-19 10:26:06 +0100 | |
|---|---|---|
| committer | 2016-10-02 15:03:33 -0400 | |
| commit | 1d336d6629137b48d81a029b2dfce743495c22f7 (patch) | |
| tree | caf2ecf46a470bf4bc2e0d8cee8dae94fbe03f07 /data/defscript | |
| parent | KviSelectors: Allow for alternate locale numbers in a KviUIntSelector (diff) | |
| download | KVIrc-1d336d6629137b48d81a029b2dfce743495c22f7.tar.gz KVIrc-1d336d6629137b48d81a029b2dfce743495c22f7.tar.bz2 KVIrc-1d336d6629137b48d81a029b2dfce743495c22f7.zip | |
popups: move user control prologue and options to own popup
This separates the channel popup prologue at
https://github.com/kvirc/KVIrc/blob/master/data/defscript/popups.kvs#L1614-L1661
and the control popup at
https://github.com/kvirc/KVIrc/blob/master/data/defscript/popups.kvs#L1702-L1808
into a its own usercontrol popup.
this allows:
1) Calling the usercontrol as a external menu instead from existing channel popup
2) Allows extending user control in future easily and reusing by calling as externalpopup
and avoid duplicating code.
Diffstat (limited to 'data/defscript')
| -rw-r--r-- | data/defscript/popups.kvs | 310 |
1 files changed, 156 insertions, 154 deletions
diff --git a/data/defscript/popups.kvs b/data/defscript/popups.kvs index a1eb81fe2..61d31b0ba 100644 --- a/data/defscript/popups.kvs +++ b/data/defscript/popups.kvs @@ -1050,6 +1050,161 @@ defpopup(dcc) } } +defpopup(usercontrol) +{ + prologue + { + # we use the extended scope variables: they are visible in the entire defpopup scope + # %:visible is the string that we will "show to the user" in the popup widget + # for multiple users the string might become long so we are going to change it in "multiple users" + %:visible = $0 + # %:multiple is an internal flag: set to 1 if the parameter passed to the popup contains a list + # of multiple nicknames rather than a single nick + %:multiple = 0 + # finally , set these variables + %:itemBanName = $tr("Ban") + if($str.findfirst(%:visible,",") != -1) + { + # found a comma in the $0 parameter...we have multiple nicknames + %:visible = "("$tr("Multiple Users","defscript")")" + %:multiple = 1 + %:itemBanMask = "*!user@*.host.tld" + %:itemBanNick = "nick" + } + else + { + %:itemBanMask = $mask(%:visible,$option(uintDefaultBanType)) + if("%:itemBanMask" == "*!*@*") + %:itemBanName = $tr("&Ban") + %:itemBanNick = %:visible + } + # speed it up + + %:isMeHalfOp = $chan.isMeHalfOp() + %:isMeOp = $chan.isMeOp() + %:isMeOwner = $chan.isMeOwner() + %:isMeAdmin = $chan.isMeAdmin() + %:bCanKB = 0; + + if(%:isMeHalfOp) + { + foreach(%nick,$str.split(",",$0)) + { + if($chan.usermodelevel(%nick) <= $chan.usermodelevel($me)) + { + %:bCanKB = 1; + break; + } + } + } + } + + label($usermodename($me())) + + item($tr("O&wner","defscript") %:visible,$icon("chanowner")) (%:isMeOwner) + { + chanowner $0 + } + + item($tr("&Deowner","defscript") %:visible,$icon("chanunowner")) (%:isMeOwner) + { + dechanowner $0 + } + + item($tr("&Administrator","defscript") %:visible,$icon("chanadmin")) (%:isMeAdmin) + { + chanadmin $0 + } + + item($tr("&Deadministrator","defscript") %:visible,$icon("chanunadmin")) (%:isMeAdmin) + { + dechanadmin $0 + } + + item($tr("&Op","defscript") %:visible,$icon("op")) (%:isMeOp) + { + op $0 + } + + item($tr("&Deop","defscript") %:visible,$icon("deop")) (%:isMeOp) + { + deop $0 + } + + item($tr("&Halfop","defscript") %:visible,$icon("halfop")) (%:isMeOp) + { + halfop $0 + } + + item($tr("&Dehalfop","defscript") %:visible,$icon("halfdeop")) (%:isMeOp) + { + dehalfop $0 + } + + item($tr("&Voice","defscript") %:visible,$icon("voice")) (%:isMeHalfOp) + { + voice $0 + } + + item($tr("D&evoice","defscript") %:visible,$icon("devoice")) (%:isMeHalfOp) + { + devoice $0 + } + + separator + + item($tr("&Kick","defscript") %:visible,$icon("kick")) (%:bCanKB) + { + foreach(%i,$str.split(",",$0)) + kick %i + } + + item($tr("K&ick","defscript") %:visible $tr("With...","defscript"),$icon("kick")) (%:bCanKB) + { + dialog.textinput -d="$me" -i=110 ($tr("Kick Reason","defscript"),$tr("Enter a kick reason","defscript"),$tr("&Kick","defscript"),$tr("Cancel","defscript"),,$0) + { + if($0 == 0) + { + foreach(%i,$str.split(",",$2)) + kick %i $1 + } + } + } + + item($tr("&Ban","defscript") %:visible "("%:itemBanMask")",$icon("kick")) (("%:itemBanMask" != "*!*@*") && %:bCanKB) + { + ban $mask($0,$option(uintDefaultBanType)) + } + + item(%:itemBanName %:visible "("%:itemBanNick!*@*")",$icon("kick")) (%:bCanKB) + { + ban $0 + } + + item($tr("Kick/Ban","defscript") %:visible,$icon("kick")) (%:bCanKB) + { + kb $0 + } + + item($tr("Kick/Ban","defscript") %:visible $tr("with...","defscript"),$icon("kick")) (%:bCanKB) + { + dialog.textinput -d="$me" -i=110 ($tr("Kick/Ban Reason","defscript"),$tr("Enter a kick/ban reason","defscript"),$tr("&Kick/Ban","defscript"),$tr("Cancel","defscript"),,$0) + { + if($0 == 0) + { + kb $2 $1 + } + } + } + + separator + + item($tr("Configure Ban Mask...","defscript"),$icon("options")) + { + options.edit OptionsWidget_channelAdvanced + } +} + defpopup(channeltextview) { label($tr("You're not connected to a server","defscript")) (!$server) @@ -1613,53 +1768,6 @@ defpopup(registration) defpopup(channel) { - prologue - { - # we use the extended scope variables: they are visible in the entire defpopup scope - # %:visible is the string that we will "show to the user" in the popup widget - # for multiple users the string might become long so we are going to change it in "multiple users" - %:visible = $0 - # %:multiple is an internal flag: set to 1 if the parameter passed to the popup contains a list - # of multiple nicknames rather than a single nick - %:multiple = 0 - # finally , set these variables - %:itemBanName = $tr("Ban") - if($str.findfirst(%:visible,",") != -1) - { - # found a comma in the $0 parameter...we have multiple nicknames - %:visible = "("$tr("Multiple Users","defscript")")" - %:multiple = 1 - %:itemBanMask = "*!user@*.host.tld" - %:itemBanNick = "nick" - } - else - { - %:itemBanMask = $mask(%:visible,$option(uintDefaultBanType)) - if("%:itemBanMask" == "*!*@*") - %:itemBanName = $tr("&Ban") - %:itemBanNick = %:visible - } - # speed it up - - %:isMeHalfOp = $chan.isMeHalfOp() - %:isMeOp = $chan.isMeOp() - %:isMeOwner = $chan.isMeOwner() - %:isMeAdmin = $chan.isMeAdmin() - %:bCanKB = 0; - - if(%:isMeHalfOp) - { - foreach(%nick,$str.split(",",$0)) - { - if($chan.usermodelevel(%nick) <= $chan.usermodelevel($me)) - { - %:bCanKB = 1; - break; - } - } - } - } - item($str.printf($tr("/WHOIS ?s (idle time)","defscript"),%:visible),$icon("whoisuser")) (!%:multiple && $server) { foreach(%i,$str.split(",",$0)) @@ -1699,113 +1807,7 @@ defpopup(channel) } } - popup($tr("&Control","defscript"),$icon("options")) (%:isMeHalfOp) - { - label($usermodename($me())) - - item($tr("O&wner","defscript") %:visible,$icon("chanowner")) (%:isMeOwner) - { - chanowner $0 - } - - item($tr("&Deowner","defscript") %:visible,$icon("chanunowner")) (%:isMeOwner) - { - dechanowner $0 - } - - item($tr("&Administrator","defscript") %:visible,$icon("chanadmin")) (%:isMeAdmin) - { - chanadmin $0 - } - - item($tr("&Deadministrator","defscript") %:visible,$icon("chanunadmin")) (%:isMeAdmin) - { - dechanadmin $0 - } - - item($tr("&Op","defscript") %:visible,$icon("op")) (%:isMeOp) - { - op $0 - } - - item($tr("&Deop","defscript") %:visible,$icon("deop")) (%:isMeOp) - { - deop $0 - } - - item($tr("&Halfop","defscript") %:visible,$icon("halfop")) (%:isMeOp) - { - halfop $0 - } - - item($tr("&Dehalfop","defscript") %:visible,$icon("halfdeop")) (%:isMeOp) - { - dehalfop $0 - } - - item($tr("&Voice","defscript") %:visible,$icon("voice")) (%:isMeHalfOp) - { - voice $0 - } - - item($tr("D&evoice","defscript") %:visible,$icon("devoice")) (%:isMeHalfOp) - { - devoice $0 - } - - separator - - item($tr("&Kick","defscript") %:visible,$icon("kick")) (%:bCanKB) - { - foreach(%i,$str.split(",",$0)) - kick %i - } - - item($tr("K&ick","defscript") %:visible $tr("With...","defscript"),$icon("kick")) (%:bCanKB) - { - dialog.textinput -d="$me" -i=110 ($tr("Kick Reason","defscript"),$tr("Enter a kick reason","defscript"),$tr("&Kick","defscript"),$tr("Cancel","defscript"),,$0) - { - if($0 == 0) - { - foreach(%i,$str.split(",",$2)) - kick %i $1 - } - } - } - - item($tr("&Ban","defscript") %:visible "("%:itemBanMask")",$icon("kick")) (("%:itemBanMask" != "*!*@*") && %:bCanKB) - { - ban $mask($0,$option(uintDefaultBanType)) - } - - item(%:itemBanName %:visible "("%:itemBanNick!*@*")",$icon("kick")) (%:bCanKB) - { - ban $0 - } - - item($tr("Kick/Ban","defscript") %:visible,$icon("kick")) (%:bCanKB) - { - kb $0 - } - - item($tr("Kick/Ban","defscript") %:visible $tr("with...","defscript"),$icon("kick")) (%:bCanKB) - { - dialog.textinput -d="$me" -i=110 ($tr("Kick/Ban Reason","defscript"),$tr("Enter a kick/ban reason","defscript"),$tr("&Kick/Ban","defscript"),$tr("Cancel","defscript"),,$0) - { - if($0 == 0) - { - kb $2 $1 - } - } - } - - separator - - item($tr("Configure Ban Mask...","defscript"),$icon("options")) - { - options.edit OptionsWidget_channelAdvanced - } - } + extpopup($tr("&User Control","defscript"),usercontrol,$icon("options")) separator |
