Mercurial > pidgin.yaz
changeset 29949:2f73b0a78f4f
jabber: Added a /mood command make up for the lost PurplePluginAction to
set moods (for UIs that doesn't yet implement the new general mood setting API)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Sun, 07 Mar 2010 19:45:12 +0000 |
parents | 537f8fd047c6 |
children | 80724c326423 |
files | libpurple/protocols/jabber/jabber.c |
diffstat | 1 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c Sat Mar 06 21:38:42 2010 +0000 +++ b/libpurple/protocols/jabber/jabber.c Sun Mar 07 19:45:12 2010 +0000 @@ -3315,6 +3315,29 @@ } } +static void +jabber_cmd_mood(PurpleConversation *conv, + const char *cmd, char **args, char **error, void *data) +{ + JabberStream *js = conv->account->gc->proto_data; + + if (js->pep) { + /* if no argument was given, unset mood */ + if (!args | !args[0]) { + jabber_mood_set(js, NULL, NULL); + } else if (!args[1]) { + jabber_mood_set(js, args[0], NULL); + } else { + jabber_mood_set(js, args[0], args[1]); + } + } else { + /* account does not support PEP, can't set a mood */ + purple_conversation_write(conv, NULL, + _("Account does not support PEP, can't set mood"), + PURPLE_MESSAGE_ERROR, time(NULL)); + } +} + void jabber_register_commands(void) { PurpleCmdId id; @@ -3428,6 +3451,13 @@ "prpl-jabber", jabber_cmd_buzz, _("buzz: Buzz a user to get their attention"), NULL); jabber_cmds = g_slist_prepend(jabber_cmds, GUINT_TO_POINTER(id)); + + id = purple_cmd_register("mood", "ws", PURPLE_CMD_P_PRPL, + PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM | + PURPLE_CMD_FLAG_PRPL_ONLY | PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS, + "prpl-jabber", jabber_cmd_mood, + _("mood: Set current user mood"), NULL); + jabber_cmds = g_slist_prepend(jabber_cmds, GUINT_TO_POINTER(id)); } void jabber_unregister_commands(void)