diff plugins/signals-test.c @ 9051:826013efffcb

[gaim-migrate @ 9827] " - Makes (gaim_gtk_)append_blist_node_extended_menu and (gaim_gtk_)append_blist_node_proto_menu public so that plugins can use them to duplicate the right-click menus (Guifications needs this for right-clicking on the notification) - Adds extended menu support for Contacts - Removes the "drawing-menu" signal (It was UI specific, and no-one except the gevolution plugin used it) - Updates the gevolution plugin to use the new blist-node-extended-menu signal (I can't compile the gevolution plugin here, so my changes should be checked by someone who can :) ) - Updates the blist signals documentation with the new blist-node-extended-menu signal - Updates the signals-test.c plugin to handle blist-node-extended-menu, wrote/writing-im/chat-msg and fixes displayed-im/chat-msg handling" --Stu Tomlinson this moves a string but doesn't change it. committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Mon, 24 May 2004 15:17:49 +0000
parents 8f838ae3e710
children 1fac0336890c
line wrap: on
line diff
--- a/plugins/signals-test.c	Mon May 24 15:15:09 2004 +0000
+++ b/plugins/signals-test.c	Mon May 24 15:17:49 2004 +0000
@@ -109,15 +109,24 @@
 }
 
 static void
-buddy_extended_menu_cb(GaimBuddy *buddy, void *data)
+blist_node_extended_menu_cb(GaimBlistNode *node, void *data)
 {
-	gaim_debug_misc("signals test", "buddy-extended-menu (%s)\n", buddy->name);
-}
+	GaimContact *p = (GaimContact *)node;
+	GaimBuddy *b = (GaimBuddy *)node;
+	GaimChat *c = (GaimChat *)node;
+	GaimGroup *g = (GaimGroup *)node;
 
-static void
-group_extended_menu_cb(GaimGroup *group, void *data)
-{
-	gaim_debug_misc("signals test", "group-extended-menu (%s)\n", group->name);
+	if (GAIM_BLIST_NODE_IS_CONTACT(node))
+		gaim_debug_misc("signals test", "blist-node-extended-menu (Contact: %s)\n", p->alias);
+	else if (GAIM_BLIST_NODE_IS_BUDDY(node))
+		gaim_debug_misc("signals test", "blist-node-extended-menu (Buddy: %s)\n", b->name);
+	else if (GAIM_BLIST_NODE_IS_CHAT(node))
+		gaim_debug_misc("signals test", "blist-node-extended-menu (Chat: %s)\n", c->alias);
+	else if (GAIM_BLIST_NODE_IS_GROUP(node))
+		gaim_debug_misc("signals test", "blist-node-extended-menu (Group: %s)\n", g->name);
+	else
+		gaim_debug_misc("signals test", "blist-node-extended-menu (UNKNOWN: %d)\n", node->type);
+
 }
 
 
@@ -166,12 +175,29 @@
 }
 
 static void
-displayed_im_msg_cb(GaimConversation *conv, const char *buffer, void *data)
+displayed_im_msg_cb(GaimAccount *account, GaimConversation *conv, const char *buffer, void *data)
 {
 	gaim_debug_misc("signals test", "displayed-im-msg (%s, %s)\n",
 					gaim_conversation_get_name(conv), buffer);
 }
 
+static gboolean
+writing_im_msg_cb(GaimAccount *account, GaimConversation  *conv, char **buffer, void *data)
+{
+	gaim_debug_misc("signals test", "writing-im-msg (%s, %s, %s)\n",
+					gaim_account_get_username(account), gaim_conversation_get_name(conv), *buffer);
+
+	return FALSE;
+
+}
+
+static void
+wrote_im_msg_cb(GaimAccount *account, GaimConversation *conv, const char *buffer, void *data)
+{
+	gaim_debug_misc("signals test", "wrote-im-msg (%s, %s, %s)\n",
+					gaim_account_get_username(account), gaim_conversation_get_name(conv), buffer);
+}
+
 static void
 sending_im_msg_cb(GaimAccount *account, char *recipient, char **buffer, void *data)
 {
@@ -218,13 +244,30 @@
 }
 
 static void
-displayed_chat_msg_cb(GaimConversation *conv, const char *buffer, void *data)
+displayed_chat_msg_cb(GaimAccount *account, GaimConversation *conv, const char *buffer, void *data)
 {
 	gaim_debug_misc("signals test", "displayed-chat-msg (%s, %s)\n",
 					gaim_conversation_get_name(conv), buffer);
 }
 
 static gboolean
+writing_chat_msg_cb(GaimAccount *account, GaimConversation *conv,
+		       char **buffer, void *data)
+{
+	gaim_debug_misc("signals test", "writing-chat-msg (%s, %s)\n",
+					gaim_conversation_get_name(conv), *buffer);
+
+	return FALSE;
+}
+
+static void
+wrote_chat_msg_cb(GaimAccount *account, GaimConversation *conv, const char *buffer, void *data)
+{
+	gaim_debug_misc("signals test", "wrote-chat-msg (%s, %s)\n",
+					gaim_conversation_get_name(conv), buffer);
+}
+
+static gboolean
 sending_chat_msg_cb(GaimAccount *account, char **buffer, int id, void *data)
 {
 	gaim_debug_misc("signals test", "sending-chat-msg (%s, %s, %d)\n",
@@ -416,10 +459,8 @@
 						plugin, GAIM_CALLBACK(buddy_signed_on_cb), NULL);
 	gaim_signal_connect(blist_handle, "buddy-signed-off",
 						plugin, GAIM_CALLBACK(buddy_signed_off_cb), NULL);
-	gaim_signal_connect(blist_handle, "buddy-extended-menu",
-						plugin, GAIM_CALLBACK(buddy_extended_menu_cb), NULL);
-	gaim_signal_connect(blist_handle, "group-extended-menu",
-						plugin, GAIM_CALLBACK(group_extended_menu_cb), NULL);
+	gaim_signal_connect(blist_handle, "blist-node-extended-menu",
+						plugin, GAIM_CALLBACK(blist_node_extended_menu_cb), NULL);
 
 	/* Connection subsystem signals */
 	gaim_signal_connect(conn_handle, "signing-on",
@@ -436,6 +477,10 @@
 						plugin, GAIM_CALLBACK(displaying_im_msg_cb), NULL);
 	gaim_signal_connect(conv_handle, "displayed-im-msg",
 						plugin, GAIM_CALLBACK(displayed_im_msg_cb), NULL);
+	gaim_signal_connect(conv_handle, "writing-im-msg",
+						plugin, GAIM_CALLBACK(writing_im_msg_cb), NULL);
+	gaim_signal_connect(conv_handle, "wrote-im-msg",
+						plugin, GAIM_CALLBACK(wrote_im_msg_cb), NULL);
 	gaim_signal_connect(conv_handle, "sending-im-msg",
 						plugin, GAIM_CALLBACK(sending_im_msg_cb), NULL);
 	gaim_signal_connect(conv_handle, "sent-im-msg",
@@ -448,6 +493,10 @@
 						plugin, GAIM_CALLBACK(displaying_chat_msg_cb), NULL);
 	gaim_signal_connect(conv_handle, "displayed-chat-msg",
 						plugin, GAIM_CALLBACK(displayed_chat_msg_cb), NULL);
+	gaim_signal_connect(conv_handle, "writing-chat-msg",
+						plugin, GAIM_CALLBACK(writing_chat_msg_cb), NULL);
+	gaim_signal_connect(conv_handle, "wrote-chat-msg",
+						plugin, GAIM_CALLBACK(wrote_chat_msg_cb), NULL);
 	gaim_signal_connect(conv_handle, "sending-chat-msg",
 						plugin, GAIM_CALLBACK(sending_chat_msg_cb), NULL);
 	gaim_signal_connect(conv_handle, "sent-chat-msg",