| 3798 } |
3798 } |
| 3799 |
3799 |
| 3800 return NULL; |
3800 return NULL; |
| 3801 } |
3801 } |
| 3802 |
3802 |
| |
3803 static void |
| |
3804 buddy_update_cb(GaimBlistNode *bnode) |
| |
3805 { |
| |
3806 GList *list; |
| |
3807 |
| |
3808 g_return_if_fail(bnode); |
| |
3809 g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(bnode)); |
| |
3810 |
| |
3811 for (list = gaim_gtk_conv_windows_get_list(); list; list = list->next) |
| |
3812 { |
| |
3813 GaimGtkWindow *win = list->data; |
| |
3814 GaimConversation *conv = gaim_gtk_conv_window_get_active_conversation(win); |
| |
3815 |
| |
3816 if (gaim_conversation_get_type(conv) != GAIM_CONV_TYPE_IM) |
| |
3817 continue; |
| |
3818 |
| |
3819 gaim_conversation_update(conv, GAIM_CONV_ACCOUNT_ONLINE); |
| |
3820 } |
| |
3821 } |
| |
3822 |
| 3803 /************************************************************************** |
3823 /************************************************************************** |
| 3804 * Conversation UI operations |
3824 * Conversation UI operations |
| 3805 **************************************************************************/ |
3825 **************************************************************************/ |
| 3806 void |
3826 void |
| 3807 gaim_gtkconv_new(GaimConversation *conv) |
3827 gaim_gtkconv_new(GaimConversation *conv) |
| 3894 gaim_account_get_protocol_name(conv->account)); |
3914 gaim_account_get_protocol_name(conv->account)); |
| 3895 |
3915 |
| 3896 g_signal_connect_swapped(G_OBJECT(pane), "focus", |
3916 g_signal_connect_swapped(G_OBJECT(pane), "focus", |
| 3897 G_CALLBACK(gtk_widget_grab_focus), |
3917 G_CALLBACK(gtk_widget_grab_focus), |
| 3898 gtkconv->entry); |
3918 gtkconv->entry); |
| |
3919 |
| |
3920 if (conv_type == GAIM_CONV_TYPE_IM) |
| |
3921 { |
| |
3922 gaim_signal_connect(gaim_blist_get_handle(), "buddy-added", gtkconv, |
| |
3923 G_CALLBACK(buddy_update_cb), conv); |
| |
3924 gaim_signal_connect(gaim_blist_get_handle(), "buddy-removed", gtkconv, |
| |
3925 G_CALLBACK(buddy_update_cb), conv); |
| |
3926 } |
| 3899 |
3927 |
| 3900 gaim_gtkconv_placement_place(gtkconv); |
3928 gaim_gtkconv_placement_place(gtkconv); |
| 3901 } |
3929 } |
| 3902 |
3930 |
| 3903 static void |
3931 static void |