Mercurial > pidgin.yaz
diff pidgin/gtkimhtmltoolbar.c @ 32827:4a34689eeb33 default tip
merged from im.pidgin.pidgin
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sat, 19 Nov 2011 14:42:54 +0900 |
parents | 7281d151e492 f7072a6dc43d |
children |
line wrap: on
line diff
--- a/pidgin/gtkimhtmltoolbar.c Mon Sep 26 14:57:21 2011 +0900 +++ b/pidgin/gtkimhtmltoolbar.c Sat Nov 19 14:42:54 2011 +0900 @@ -904,7 +904,7 @@ PurpleConversation *conv = g_object_get_data(G_OBJECT(toolbar), "active_conv"); const gchar *who = purple_conversation_get_name(conv); - PurpleConnection *gc = purple_conversation_get_gc(conv); + PurpleConnection *gc = purple_conversation_get_connection(conv); toggle_button_set_active_block(GTK_TOGGLE_BUTTON(attention), FALSE, toolbar); purple_prpl_send_attention(gc, who, 0); @@ -1239,6 +1239,7 @@ {PIDGIN_STOCK_TOOLBAR_INSERT_LINK, insert_link_cb, &toolbar->link, _("Insert Link")}, {"", NULL, NULL, NULL}, {PIDGIN_STOCK_TOOLBAR_SMILEY, insert_smiley_cb, &toolbar->smiley, _("Insert Smiley")}, + {PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, send_attention_cb, &toolbar->attention, _("Send Attention")}, {NULL, NULL, NULL, NULL} }; int iter; @@ -1257,14 +1258,6 @@ button = gtk_vseparator_new(); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); } - /* create the attention button (this is a bit hacky to not break ABI) */ - button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION); - g_signal_connect(G_OBJECT(button), "button-press-event", G_CALLBACK(gtk_imhtmltoolbar_popup_menu), toolbar); - g_signal_connect(G_OBJECT(button), "clicked", - G_CALLBACK(send_attention_cb), toolbar); - g_object_set_data(G_OBJECT(toolbar), "attention", button); - gtk_tooltips_set_tip(toolbar->tooltips, button, _("Send Attention"), NULL); - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(toolbar), hbox, FALSE, FALSE, 0); g_object_set_data(G_OBJECT(toolbar), "wide-view", hbox); @@ -1327,7 +1320,6 @@ GtkWidget *insert_menu; GtkWidget *menuitem; GtkWidget *sep; - GObject *wide_attention_button; int i; struct { const char *label; @@ -1478,8 +1470,6 @@ gtk_widget_show_all(sep); /* Attention */ - wide_attention_button = g_object_get_data(G_OBJECT(toolbar), "attention"); - attention_button = gtk_button_new(); gtk_button_set_relief(GTK_BUTTON(attention_button), GTK_RELIEF_NONE); bbox = gtk_hbox_new(FALSE, 3); @@ -1491,16 +1481,16 @@ gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(box), attention_button, FALSE, FALSE, 0); g_signal_connect_swapped(G_OBJECT(attention_button), "clicked", - G_CALLBACK(gtk_button_clicked), wide_attention_button); + G_CALLBACK(gtk_button_clicked), toolbar->attention); gtk_widget_show_all(attention_button); - g_signal_connect(wide_attention_button, "notify::sensitive", + g_signal_connect(G_OBJECT(toolbar->attention), "notify::sensitive", G_CALLBACK(button_sensitiveness_changed), attention_button); - g_signal_connect(wide_attention_button, "notify::visible", + g_signal_connect(G_OBJECT(toolbar->attention), "notify::visible", G_CALLBACK(button_visibility_changed), attention_button); /* set attention button to be greyed out until we get a conversation */ - gtk_widget_set_sensitive(GTK_WIDGET(wide_attention_button), FALSE); + gtk_widget_set_sensitive(toolbar->attention, FALSE); gtk_box_pack_start(GTK_BOX(hbox), box, FALSE, FALSE, 0); g_object_set_data(G_OBJECT(hbox), "lean-view", box); @@ -1581,16 +1571,14 @@ void gtk_imhtmltoolbar_switch_active_conversation(GtkIMHtmlToolbar *toolbar, PurpleConversation *conv) { - PurpleConnection *gc = purple_conversation_get_gc(conv); + PurpleConnection *gc = purple_conversation_get_connection(conv); PurplePlugin *prpl = purple_connection_get_prpl(gc); - GtkWidget *attention = - g_object_get_data(G_OBJECT(toolbar), "attention"); g_object_set_data(G_OBJECT(toolbar), "active_conv", conv); /* gray out attention button on protocols that don't support it for the time being it is always disabled for chats */ - gtk_widget_set_sensitive(attention, + gtk_widget_set_sensitive(toolbar->attention, conv && prpl && purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM && PURPLE_PLUGIN_PROTOCOL_INFO(prpl)->send_attention != NULL); }