aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2008-07-06 19:52:07 +0000
committerGravatar Fabio Bas2008-07-06 19:52:07 +0000
commitdaba4fc1c3e42fdcdd0455532c50f3bab8662f44 (patch)
tree50effc846fd8ea22d535435b8c37a00ac0b87921 /src
parentfeature request #164 (diff)
downloadKVIrc-daba4fc1c3e42fdcdd0455532c50f3bab8662f44.tar.gz
KVIrc-daba4fc1c3e42fdcdd0455532c50f3bab8662f44.tar.bz2
KVIrc-daba4fc1c3e42fdcdd0455532c50f3bab8662f44.zip
feature request #25
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2025 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/kvs/kvi_kvs_coresimplecommands.cpp2
-rw-r--r--src/kvirc/kvs/kvi_kvs_coresimplecommands.h1
-rw-r--r--src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp33
3 files changed, 33 insertions, 3 deletions
diff --git a/src/kvirc/kvs/kvi_kvs_coresimplecommands.cpp b/src/kvirc/kvs/kvi_kvs_coresimplecommands.cpp
index d511bbede..b24b85907 100644
--- a/src/kvirc/kvs/kvi_kvs_coresimplecommands.cpp
+++ b/src/kvirc/kvs/kvi_kvs_coresimplecommands.cpp
@@ -130,7 +130,7 @@ namespace KviKvsCoreSimpleCommands
_REGCMD("version",rfc2812wrapper)
_REGCMD("voice",voice)
_REGCMD("warning",warning)
- _REGCMD("who",rfc2812wrapper)
+ _REGCMD("who",who)
_REGCMD("whois",whois)
_REGCMD("whowas",whowas)
diff --git a/src/kvirc/kvs/kvi_kvs_coresimplecommands.h b/src/kvirc/kvs/kvi_kvs_coresimplecommands.h
index d218f37d5..e5885921a 100644
--- a/src/kvirc/kvs/kvi_kvs_coresimplecommands.h
+++ b/src/kvirc/kvs/kvi_kvs_coresimplecommands.h
@@ -115,6 +115,7 @@ namespace KviKvsCoreSimpleCommands
KVSCSC(unban);
KVSCSC(voice);
KVSCSC(warning);
+ KVSCSC(who);
KVSCSC(whois);
KVSCSC(whowas);
diff --git a/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp b/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp
index cc4bb3c03..9f66902c0 100644
--- a/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp
+++ b/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp
@@ -883,9 +883,38 @@ namespace KviKvsCoreSimpleCommands
Requests WHO information
@description:
Requests WHO information about the specified user or channel.[br]
- This command is a [doc:rfc2821wrappers]RFC2821 command wrapper[/doc]; see that document for more information.[br]
+ If no parameter is specified, requests a WHO information about the current channel.
+ This command is [doc:connection_dependant_commands]connection dependant[/doc].
+ @seealso:
+ [cmd]names[/cmd]
*/
- // RFC2821 wrapper
+
+ KVSCSC(who)
+ {
+ QString szChannel;
+ KVSCSC_PARAMETERS_BEGIN
+ KVSCSC_PARAMETER("channel",KVS_PT_NONEMPTYSTRING,KVS_PF_OPTIONAL,szChannel)
+ KVSCSC_PARAMETERS_END
+
+ KVSCSC_REQUIRE_CONNECTION
+
+ if(szChannel.isEmpty())
+ {
+ if(KVSCSC_pWindow->type() == KVI_WINDOW_TYPE_CHANNEL)
+ szChannel = KVSCSC_pWindow->target();
+ else {
+ KVSCSC_pContext->error(__tr2qs("No target mask/channel specified and the current window is not a channel"));
+ return false;
+ }
+ }
+
+ KviQCString szC = KVSCSC_pConnection->encodeText(szChannel);
+
+ if(!KVSCSC_pConnection->sendFmtData("WHO %s",szC.data()))
+ return KVSCSC_pContext->warningNoIrcConnection();
+
+ return true;
+ }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////