Index: blist.c =================================================================== RCS file: /cvsroot/gaim-encryption/encrypt/blist.c,v retrieving revision 1.13 diff -u -p -u -r1.13 blist.c --- blist.c 11 May 2004 02:30:32 -0000 1.13 +++ blist.c 26 May 2004 14:09:43 -0000 @@ -1,5 +1,4 @@ #include "src/blist.h" -#include "src/multi.h" #include "src/debug.h" #include "src/gtkutils.h" @@ -38,36 +37,40 @@ gboolean GE_get_buddy_default_autoencryp return FALSE; } -static void buddy_autoencrypt_callback(GaimConnection* gc, const char* name) { +static void buddy_autoencrypt_callback(GaimBlistNode *node, gpointer data) { gboolean setting; GaimBuddy* buddy; - buddy = gaim_find_buddy(gc->account, name); + buddy = (GaimBuddy *)node; - gaim_debug(GAIM_DEBUG_INFO, "gaim-encryption", "encrypt callback hit %p %s\n", gc, name); + gaim_debug(GAIM_DEBUG_INFO, "gaim-encryption", "encrypt callback hit %s\n", buddy->name); - setting = gaim_blist_node_get_bool(&buddy->node, "GE_Auto_Encrypt"); - gaim_blist_node_set_bool(&buddy->node, "GE_Auto_Encrypt", !setting); + setting = gaim_blist_node_get_bool(node, "GE_Auto_Encrypt"); + gaim_blist_node_set_bool(node, "GE_Auto_Encrypt", !setting); GE_set_tx_encryption(buddy->account, buddy->name, !setting); gaim_blist_save(); } -void GE_buddy_menu(GaimBuddy* buddy, GList **menu, void* data) { - struct proto_buddy_menu *pbm; +void GE_buddy_menu(GaimBlistNode* node, GList **menu, void* data) { + + GaimBlistNodeAction *act; + GaimBuddy *buddy; + + if(!GAIM_BLIST_NODE_IS_BUDDY(node)) + return; + gboolean setting; + buddy = (GaimBuddy *)node; + gaim_debug(GAIM_DEBUG_MISC, "gaim-encryption", "Draw menu callback for %s\n", buddy->name); setting = gaim_blist_node_get_bool(&buddy->node, "GE_Auto_Encrypt"); - pbm = g_new0(struct proto_buddy_menu, 1); - if (setting) { - pbm->label = _("Auto-Encrypt On"); + act = gaim_blist_node_action_new(_("Auto-Encrypt On"), (gpointer)buddy_autoencrypt_callback, buddy->account->gc); } else { - pbm->label = _("Auto-Encrypt Off"); + act = gaim_blist_node_action_new(_("Auto-Encrypt Off"), (gpointer)buddy_autoencrypt_callback, buddy->account->gc); } - pbm->callback = buddy_autoencrypt_callback; - pbm->gc = buddy->account->gc; - *menu = g_list_append(*menu, pbm); + *menu = g_list_append(*menu, act); } Index: blist.h =================================================================== RCS file: /cvsroot/gaim-encryption/encrypt/blist.h,v retrieving revision 1.6 diff -u -p -u -r1.6 blist.h --- blist.h 11 May 2004 02:30:32 -0000 1.6 +++ blist.h 26 May 2004 14:09:43 -0000 @@ -11,7 +11,7 @@ #include "gaim-encryption-config.h" -void GE_buddy_menu(GaimBuddy* buddy, GList **menu, void* data); +void GE_buddy_menu(GaimBlistNode *node, GList **menu, void* data); gboolean GE_get_buddy_default_autoencrypt(const GaimAccount* account, const char* buddyname); Index: encrypt.c =================================================================== RCS file: /cvsroot/gaim-encryption/encrypt/encrypt.c,v retrieving revision 1.108 diff -u -p -u -r1.108 encrypt.c --- encrypt.c 11 May 2004 02:42:38 -0000 1.108 +++ encrypt.c 26 May 2004 14:09:43 -0000 @@ -1066,7 +1066,7 @@ static gboolean GE_plugin_load(GaimPlugi GE_headers_init(); - gaim_signal_connect(conv_handle, "received-im-msg", h, + gaim_signal_connect(conv_handle, "receiving-im-msg", h, GAIM_CALLBACK(GE_got_msg), NULL); gaim_signal_connect(conv_handle, "sending-im-msg", h, GAIM_CALLBACK(GE_send_msg), NULL); @@ -1075,7 +1075,7 @@ static gboolean GE_plugin_load(GaimPlugi gaim_signal_connect(conv_handle, "deleting-conversation", h, GAIM_CALLBACK(GE_del_conv), NULL); - gaim_signal_connect(gaim_blist_get_handle(), "buddy-extended-menu", h, + gaim_signal_connect(gaim_blist_get_handle(), "blist-node-extended-menu", h, GAIM_CALLBACK(GE_buddy_menu), NULL); gaim_debug(GAIM_DEBUG_MISC, "gaim-encryption", "done loading\n", gaim_get_blist()); @@ -1127,7 +1127,9 @@ static GaimPluginInfo info = NULL, /**< destroy */ &ui_info, /**< ui_info */ - NULL /**< extra_info */ + NULL, /**< extra_info */ + NULL, /**< prefs_info */ + NULL /**< actions */ }; static void