merge of 'ad339cd679d170be3b7805b0dccefec2c0d8816b'

Sun, 07 Mar 2010 19:56:38 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Sun, 07 Mar 2010 19:56:38 +0000
changeset 29831
f0941cfe9b3a
parent 29830
ad339cd679d1 (current diff)
parent 29827
324821bfa1af (diff)
child 29832
7dffd69edacb
child 29840
8792e8fbaa18

merge of 'ad339cd679d170be3b7805b0dccefec2c0d8816b'
and '324821bfa1afefcf15b9bb7b8c4f1880b96c54f2'

--- a/libpurple/protocols/jabber/jabber.c	Sun Mar 07 18:47:09 2010 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Sun Mar 07 19:56:38 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)

mercurial