| 997 list = g_list_delete_link(list, list)) |
997 list = g_list_delete_link(list, list)) |
| 998 { |
998 { |
| 999 PurpleActionMenu *act = (PurpleActionMenu *) list->data; |
999 PurpleActionMenu *act = (PurpleActionMenu *) list->data; |
| 1000 if (!act) |
1000 if (!act) |
| 1001 continue; |
1001 continue; |
| 1002 purple_menu_action_set_data(act, node); |
1002 purple_action_menu_set_data(act, node); |
| 1003 finch_append_menu_action(menu, act, node); |
1003 finch_append_menu_action(menu, act, node); |
| 1004 } |
1004 } |
| 1005 } |
1005 } |
| 1006 |
1006 |
| 1007 static void |
1007 static void |
| 1008 add_custom_action(GntMenu *menu, const char *label, PurpleCallback callback, |
1008 add_custom_action(GntMenu *menu, const char *label, PurpleCallback callback, |
| 1009 gpointer data) |
1009 gpointer data) |
| 1010 { |
1010 { |
| 1011 PurpleActionMenu *action = purple_menu_action_new(label, callback, data, NULL); |
1011 PurpleActionMenu *action = purple_action_menu_new(label, callback, data, NULL); |
| 1012 finch_append_menu_action(menu, action, NULL); |
1012 finch_append_menu_action(menu, action, NULL); |
| 1013 } |
1013 } |
| 1014 |
1014 |
| 1015 static void |
1015 static void |
| 1016 chat_components_edit_ok(PurpleChat *chat, PurpleRequestFields *allfields) |
1016 chat_components_edit_ok(PurpleChat *chat, PurpleRequestFields *allfields) |
| 1085 |
1085 |
| 1086 static void |
1086 static void |
| 1087 autojoin_toggled(GntMenuItem *item, gpointer data) |
1087 autojoin_toggled(GntMenuItem *item, gpointer data) |
| 1088 { |
1088 { |
| 1089 PurpleActionMenu *action = data; |
1089 PurpleActionMenu *action = data; |
| 1090 purple_blist_node_set_bool(purple_menu_action_get_data(action), "gnt-autojoin", |
1090 purple_blist_node_set_bool(purple_action_menu_get_data(action), "gnt-autojoin", |
| 1091 gnt_menuitem_check_get_checked(GNT_MENU_ITEM_CHECK(item))); |
1091 gnt_menuitem_check_get_checked(GNT_MENU_ITEM_CHECK(item))); |
| 1092 } |
1092 } |
| 1093 |
1093 |
| 1094 static void |
1094 static void |
| 1095 create_chat_menu(GntMenu *menu, PurpleChat *chat) |
1095 create_chat_menu(GntMenu *menu, PurpleChat *chat) |
| 1096 { |
1096 { |
| 1097 PurpleActionMenu *action = purple_menu_action_new(_("Auto-join"), NULL, chat, NULL); |
1097 PurpleActionMenu *action = purple_action_menu_new(_("Auto-join"), NULL, chat, NULL); |
| 1098 GntMenuItem *check = gnt_menuitem_check_new( |
1098 GntMenuItem *check = gnt_menuitem_check_new( |
| 1099 purple_menu_action_get_label(action)); |
1099 purple_action_menu_get_label(action)); |
| 1100 gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(check), |
1100 gnt_menuitem_check_set_checked(GNT_MENU_ITEM_CHECK(check), |
| 1101 purple_blist_node_get_bool((PurpleBlistNode*)chat, "gnt-autojoin")); |
1101 purple_blist_node_get_bool((PurpleBlistNode*)chat, "gnt-autojoin")); |
| 1102 gnt_menu_add_item(menu, check); |
1102 gnt_menu_add_item(menu, check); |
| 1103 gnt_menuitem_set_callback(check, autojoin_toggled, action); |
1103 gnt_menuitem_set_callback(check, autojoin_toggled, action); |
| 1104 g_signal_connect_swapped(G_OBJECT(menu), "destroy", |
1104 g_signal_connect_swapped(G_OBJECT(menu), "destroy", |
| 1105 G_CALLBACK(purple_menu_action_free), action); |
1105 G_CALLBACK(purple_action_menu_free), action); |
| 1106 |
1106 |
| 1107 /* Protocol actions */ |
1107 /* Protocol actions */ |
| 1108 append_proto_menu(menu, |
1108 append_proto_menu(menu, |
| 1109 purple_account_get_connection(purple_chat_get_account(chat)), |
1109 purple_account_get_connection(purple_chat_get_account(chat)), |
| 1110 (PurpleBlistNode*)chat); |
1110 (PurpleBlistNode*)chat); |