comparison src/protocols/oscar/oscar.c @ 10662:54ac161a876e

[gaim-migrate @ 12199] Plugins can now add submenus to the right-click menu of a blist node by passing a GList of actions to gaim_blist_node_action_new. I'm thinking about making GaimBlistNodeActions more like plugin prefs so that plugins can create radio and check menu items as well. We'll see if I can do that and not make it ugly/suck. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Mon, 07 Mar 2005 02:19:09 +0000
parents f2e86683cafc
children 9aa1d4adf3e9
comparison
equal deleted inserted replaced
10661:f02873d475dc 10662:54ac161a876e
7153 7153
7154 GList *m = NULL; 7154 GList *m = NULL;
7155 GaimBlistNodeAction *act; 7155 GaimBlistNodeAction *act;
7156 7156
7157 act = gaim_blist_node_action_new(_("Edit Buddy Comment"), 7157 act = gaim_blist_node_action_new(_("Edit Buddy Comment"),
7158 oscar_buddycb_edit_comment, NULL); 7158 oscar_buddycb_edit_comment, NULL, NULL);
7159 m = g_list_append(m, act); 7159 m = g_list_append(m, act);
7160 7160
7161 if (od->icq) { 7161 if (od->icq) {
7162 #if 0 7162 #if 0
7163 act = gaim_blist_node_action_new(_("Get Status Msg"), 7163 act = gaim_blist_node_action_new(_("Get Status Msg"),
7164 oscar_get_icqstatusmsg, NULL); 7164 oscar_get_icqstatusmsg, NULL, NULL);
7165 m = g_list_append(m, act); 7165 m = g_list_append(m, act);
7166 #endif 7166 #endif
7167 } else { 7167 } else {
7168 aim_userinfo_t *userinfo; 7168 aim_userinfo_t *userinfo;
7169 userinfo = aim_locate_finduserinfo(od->sess, buddy->name); 7169 userinfo = aim_locate_finduserinfo(od->sess, buddy->name);
7171 if (userinfo && aim_sncmp(gaim_account_get_username(buddy->account), buddy->name) && 7171 if (userinfo && aim_sncmp(gaim_account_get_username(buddy->account), buddy->name) &&
7172 GAIM_BUDDY_IS_ONLINE(buddy)) { 7172 GAIM_BUDDY_IS_ONLINE(buddy)) {
7173 7173
7174 if (userinfo->capabilities & AIM_CAPS_DIRECTIM) { 7174 if (userinfo->capabilities & AIM_CAPS_DIRECTIM) {
7175 act = gaim_blist_node_action_new(_("Direct IM"), 7175 act = gaim_blist_node_action_new(_("Direct IM"),
7176 oscar_ask_direct_im, NULL); 7176 oscar_ask_direct_im, NULL, NULL);
7177 m = g_list_append(m, act); 7177 m = g_list_append(m, act);
7178 } 7178 }
7179 #if 0 7179 #if 0
7180 if (userinfo->capabilities & AIM_CAPS_GETFILE) { 7180 if (userinfo->capabilities & AIM_CAPS_GETFILE) {
7181 act = gaim_blist_node_action_new(_("Get File"), 7181 act = gaim_blist_node_action_new(_("Get File"),
7182 oscar_ask_getfile, NULL); 7182 oscar_ask_getfile, NULL, NULL);
7183 m = g_list_append(m, act); 7183 m = g_list_append(m, act);
7184 } 7184 }
7185 #endif 7185 #endif
7186 } 7186 }
7187 } 7187 }
7188 7188
7189 if (od->sess->ssi.received_data) { 7189 if (od->sess->ssi.received_data) {
7190 char *gname = aim_ssi_itemlist_findparentname(od->sess->ssi.local, buddy->name); 7190 char *gname = aim_ssi_itemlist_findparentname(od->sess->ssi.local, buddy->name);
7191 if (gname && aim_ssi_waitingforauth(od->sess->ssi.local, gname, buddy->name)) { 7191 if (gname && aim_ssi_waitingforauth(od->sess->ssi.local, gname, buddy->name)) {
7192 act = gaim_blist_node_action_new(_("Re-request Authorization"), 7192 act = gaim_blist_node_action_new(_("Re-request Authorization"),
7193 gaim_auth_sendrequest_menu, NULL); 7193 gaim_auth_sendrequest_menu, NULL, NULL);
7194 m = g_list_append(m, act); 7194 m = g_list_append(m, act);
7195 } 7195 }
7196 } 7196 }
7197 7197
7198 return m; 7198 return m;