--- a/pidgin/gtkaccount.c Sat Oct 08 21:24:14 2011 +0000
+++ b/pidgin/gtkaccount.c Sat Oct 08 21:48:38 2011 +0000
@@ -829,8 +829,11 @@
gtk_label_new_with_mnemonic(_("Ad_vanced")), 1);
+/* FIXME: Facebook forced-options hack */ menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu));
item = gtk_menu_get_active(GTK_MENU(menu));
for (l = dialog->prpl_info->protocol_options; l != NULL; l = l->next)
@@ -946,9 +949,12 @@
model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_POINTER);
opt_entry->widget = combo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(model));
+/* FIXME: Facebook forced-options hack */ if (g_object_get_data(G_OBJECT(item), "fakefacebook") &&
!strcmp(opt_entry->setting, "connection_security"))
str_value = "opportunistic_tls";
/* Loop through list of PurpleKeyValuePair items */
for (node = list; node != NULL; node = node->next) {
--- a/pidgin/gtkconv.c Sat Oct 08 21:24:14 2011 +0000
+++ b/pidgin/gtkconv.c Sat Oct 08 21:48:38 2011 +0000
@@ -3132,7 +3132,7 @@
{ "MediaMenu", NULL, N_("M_edia"), NULL, NULL, NULL },
{ "AudioCall", PIDGIN_STOCK_TOOLBAR_AUDIO_CALL, N_("_Audio Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
{ "VideoCall", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, N_("_Video Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
- { "AudioVideoCall", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, N_("Audio\\/Video _Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
+ { "AudioVideoCall", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, N_("Audio/Video _Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) }, { "SendFile", PIDGIN_STOCK_TOOLBAR_SEND_FILE, N_("Se_nd File..."), NULL, NULL, G_CALLBACK(menu_send_file_cb) },
@@ -3464,14 +3464,21 @@
regenerate_options_items(PidginWindow *win)
-#if GTK_CHECK_VERSION(2,6,0)
PidginConversation *gtkconv;
+#if GTK_CHECK_VERSION(2,6,0) gtkconv = pidgin_conv_window_get_active_gtkconv(win);
+ more_menu = gtk_ui_manager_get_widget(win->menu.ui, + "/Conversation/ConversationMenu/MoreMenu"); + gtk_widget_show(more_menu); + menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(more_menu)); + gtkconv = pidgin_conv_window_get_active_gtkconv(win); menu = gtk_item_factory_get_widget(win->menu.item_factory, N_("/Conversation/More"));
/* Remove the previous entries */
for (list = gtk_container_get_children(GTK_CONTAINER(menu)); list; )
@@ -3489,7 +3496,6 @@
gtk_widget_show_all(menu);
@@ -3503,8 +3509,6 @@
regenerate_plugins_items(PidginWindow *win)
-#if GTK_CHECK_VERSION(2,6,0)
@@ -3530,7 +3534,12 @@
action_items = g_list_delete_link(action_items, action_items);
+#if GTK_CHECK_VERSION(2,6,0) + item = gtk_ui_manager_get_widget(win->menu.ui, "/Conversation/OptionsMenu"); + menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(item)); menu = gtk_item_factory_get_widget(win->menu.item_factory, N_("/Options"));
list = purple_conversation_get_extended_menu(conv);
@@ -3546,10 +3555,8 @@
g_signal_connect(G_OBJECT(item), "destroy", G_CALLBACK(remove_from_list), win);
g_object_set_data(G_OBJECT(win->window), "plugin-actions", action_items);
static void menubar_activated(GtkWidget *item, gpointer data)
PidginWindow *win = data;
@@ -3568,12 +3575,11 @@
/* The menubar has been deactivated. Make sure the 'More' submenu is regenerated next time
* the 'Conversation' menu pops up. */
- GtkWidget *menuitem = gtk_item_factory_get_item(win->menu.item_factory, N_("/Conversation"));
+ GtkWidget *menuitem = gtk_ui_manager_get_widget(win->menu.ui, "/Conversation/ConversationMenu"); g_signal_handlers_unblock_by_func(G_OBJECT(menuitem), G_CALLBACK(menubar_activated), win);
g_signal_handlers_disconnect_by_func(G_OBJECT(win->menu.menubar),
G_CALLBACK(focus_out_from_menubar), win);
setup_menubar(PidginWindow *win)
@@ -3582,6 +3588,7 @@
GtkActionGroup *action_group;
action_group = gtk_action_group_new("ConversationActions");
gtk_action_group_add_actions(action_group,
@@ -3616,6 +3623,9 @@
gtk_ui_manager_get_widget(win->menu.ui, "/Conversation");
+ menuitem = gtk_ui_manager_get_widget(win->menu.ui, "/Conversation/ConversationMenu"); + g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(menubar_activated), win); gtk_ui_manager_get_action(win->menu.ui,
"/Conversation/ConversationMenu/ViewLog");
@@ -10773,4 +10783,4 @@
\ No newline at end of file