diff options
| author | 2010-12-25 03:14:10 +0000 | |
|---|---|---|
| committer | 2010-12-25 03:14:10 +0000 | |
| commit | fc30c3ea279b53b2c0e2a3b71f9811ff1033076c (patch) | |
| tree | 8da709e2160e50abd2e4b355f3b795fdbbd5aa56 /data/defscript | |
| parent | Update str.grep short doc: avoid mentioning GNU regexp as we don't emulate it (diff) | |
| download | KVIrc-fc30c3ea279b53b2c0e2a3b71f9811ff1033076c.tar.gz KVIrc-fc30c3ea279b53b2c0e2a3b71f9811ff1033076c.tar.bz2 KVIrc-fc30c3ea279b53b2c0e2a3b71f9811ff1033076c.zip | |
Added the very first shy 'auto-join this channel' feature to the window popup. .serverJoinChannels and .networkJoinChannels now return arrays. Reworked a bit the 'network name' mess in the IrcConnection... possibly needs more reorganizing. Some small tweaks in the server dialog.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5226 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'data/defscript')
| -rw-r--r-- | data/defscript/default.kvc | 4 | ||||
| -rw-r--r-- | data/defscript/popups.kvs | 117 |
2 files changed, 109 insertions, 12 deletions
diff --git a/data/defscript/default.kvc b/data/defscript/default.kvc index c31adc40f..9ea89ba62 100644 --- a/data/defscript/default.kvc +++ b/data/defscript/default.kvc @@ -1,12 +1,12 @@ # KVIrc configuration file [KVIrc] Version=4.1.1 -Date=2010-12-22 +Date=2010-12-25 ActionVersion=4.1.1 AddonVersion=4.1.1 AliasVersion=4.1.1.5184 EventVersion=4.1.1.5219 -PopupVersion=4.1.1 +PopupVersion=4.1.1.5223 ClassVersion=4.1.1 RawVersion=4.1.1 PopupVersion=4.1.1.5159 diff --git a/data/defscript/popups.kvs b/data/defscript/popups.kvs index a6d883964..e2c924ff7 100644 --- a/data/defscript/popups.kvs +++ b/data/defscript/popups.kvs @@ -1329,6 +1329,55 @@ file.addimagepath %mypath/pics/ defpopup(windowpopup) { + prologue + { + %:bIsConnectedConsole = $(($window.type == "console") && ($context.state == "connected")); + + if($window.type == "channel") + { + %:bIsChannel = $true; + %:szNetwork = $context.serverdbNetworkName() + %:szServer = $context.serverdbServerHostName() + %:bIsAutoJoinedOnNetwork = $false; + %:bIsAutoJoinedOnServer = $false; + + if($serverdb.networkExists(%:szNetwork)) + { + foreach(%szChanAndPass,$serverdb.networkJoinChannels(%:szNetwork)) + { + %aChanAndPass = $str.split(":",%szChanAndPass) + + if(%aChanAndPass[0] == $chan.name) + { + %:bIsAutoJoinedOnNetwork = $true; + break; + } + } + if($serverdb.serverExists(%:szServer,%:szNetwork)) + { + foreach(%szChanAndPass,$serverdb.serverJoinChannels(%:szNetwork,%:szServer)) + { + %aChanAndPass = $str.split(":",%szChanAndPass) + + if(%aChanAndPass[0] == $chan.name) + { + %:bIsAutoJoinedOnServer = $true; + break; + } + } + } else { + %:szServer = "" + } + } else { + %:szNetwork = "" + } + %:bIsAutoJoined = $(%:bIsAutoJoinedOnNetwork || %:bIsAutoJoinedOnServer) + } else { + %:bIsChannel = $false; + } + } + + item($tr("Dock","defscript"), 6) (!$window.isDocked()) window.dock item($tr("Undock","defscript"), 7) ($window.isDocked()) window.undock @@ -1348,49 +1397,97 @@ defpopup(windowpopup) item($tr("Set window props as default","defscript"), 10) window.savePropertiesAsDefault - separator + # channel-specific items + + separator(%:bIsChannel) + + popup($tr("Automatically Join Channel","defscript"),$icon("join"))(%:bIsChannel && (!%:bIsAutoJoined) && ((%:szServer != "") || (%:szNetwork != ""))) + { -# start: console-specific items + item($str.printf($tr("When Connecting to Server '?s'","defscript"),%:szServer),$icon("server"))(%:szServer != "") + { + %aChans = $serverdb.serverJoinChannels(%:szNetwork,%:szServer) + %aChans <+ $chan.name + serverdb.setServerJoinChannels %:szNetwork %:szServer %aChans + } + + item($str.printf($tr("When Connecting to Network '?s'","defscript"),%:szNetwork),$icon("world"))(%:szNetwork != "") + { + %aChans = $serverdb.networkJoinChannels(%:szNetwork) + %aChans <+ $chan.name + serverdb.setNetworkJoinChannels %:szNetwork %aChans + } + } - item($tr("Part All Channels","defscript"), 31) ($window.type=="console" && $context.state=="connected") + item($str.printf($tr("Stop Joining Channel on Server '?s'","defscript"),%:szServer),$icon("part"))(%:bIsChannel && %:bIsAutoJoinedOnServer) + { + %aChans = $array() + foreach(%szChanAndPass,$serverdb.serverJoinChannels(%:szNetwork,%:szServer)) + { + %aChanAndPass = $str.split(":",%szChanAndPass) + + if(%aChanAndPass[0] != $chan.name) + %aChans <+ %szChanAndPass; + } + serverdb.setServerJoinChannels %:szNetwork %:szServer %aChans + } + + item($str.printf($tr("Stop Joining Channel on Network '?s'","defscript"),%:szNetwork),$icon("part"))(%:bIsChannel && %:bIsAutoJoinedOnNetwork) + { + %aChans = $array() + foreach(%szChanAndPass,$serverdb.networkJoinChannels(%:szNetwork)) + { + %aChanAndPass = $str.split(":",%szChanAndPass) + + if(%aChanAndPass[0] != $chan.name) + %aChans <+ %szChanAndPass; + } + serverdb.setNetworkJoinChannels %:szNetwork %aChans + } + + # console-specific items + + separator(%:bIsConnectedConsole) + + item($tr("Part All Channels","defscript"), 31) (%:bIsConnectedConsole) { foreach(%x,$window.list(channel)) window.close %x } - item($tr("Close All Queries","defscript"), 47) ($window.type=="console" && $context.state=="connected") + item($tr("Close All Queries","defscript"), 47) (%:bIsConnectedConsole) { foreach(%x,$window.list(query)) window.close %x } - item($tr("Close All Dead Channels" ,"defscript"), 232) ($window.type=="console" && $context.state=="connected") + item($tr("Close All Dead Channels" ,"defscript"), 232) (%:bIsConnectedConsole) { foreach(%x,$window.list(deadchannel)) window.close %x } - item($tr("Close All Dead Queries" ,"defscript"), 233) ($window.type=="console" && $context.state=="connected") + item($tr("Close All Dead Queries" ,"defscript"), 233) (%:bIsConnectedConsole) { foreach(%x,$window.list(deadquery)) window.close %x } - separator + separator(%:bIsConnectedConsole) - item($tr("Unhighlight All Windows" ,"defscript")) ($window.type=="console" && $context.state=="connected") + item($tr("Unhighlight All Windows" ,"defscript")) (%:bIsConnectedConsole) { foreach(%x,$window.list(all)) window.highlight 0 %x } - item($tr("Unhighlight All Channels" ,"defscript")) ($window.type=="console" && $context.state=="connected") + item($tr("Unhighlight All Channels" ,"defscript")) (%:bIsConnectedConsole) { foreach(%x,$window.list(channel)) window.highlight 0 %x } - item($tr("Unhighlight All Queries" ,"defscript")) ($window.type=="console" && $context.state=="connected") + item($tr("Unhighlight All Queries" ,"defscript")) (%:bIsConnectedConsole) { foreach(%x,$window.list(query)) window.highlight 0 %x |
