Mercurial > pidgin.yaz
diff pidgin/gtkconv.c @ 21207:a59f65876d45
propagate from branch 'im.pidgin.pidgin' (head abd68a0284028e1f6620c0f7ef517a13458d49d1)
to branch 'next.minor' (head 57a14e044355de6354ee22a32331f970598c6b02)
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 19 Sep 2007 11:00:49 +0000 |
parents | bd7244f3d491 b7460582a135 |
children | 975691a8d718 |
line wrap: on
line diff
--- a/pidgin/gtkconv.c Wed Sep 19 08:26:30 2007 +0000 +++ b/pidgin/gtkconv.c Wed Sep 19 11:00:49 2007 +0000 @@ -3634,7 +3634,7 @@ gtk_widget_destroy(win->menu.send_to); /* Build the Send To menu */ - win->menu.send_to = gtk_menu_item_new_with_mnemonic(_("_Send To")); + win->menu.send_to = gtk_menu_item_new_with_mnemonic(_("S_end To")); gtk_widget_show(win->menu.send_to); menu = gtk_menu_new(); @@ -7241,6 +7241,23 @@ /* if (purple_conversation_get_account(conv) == account) */ pidgin_conv_update_fields(conv, PIDGIN_CONV_TAB_ICON | PIDGIN_CONV_MENU | PIDGIN_CONV_COLORIZE_TITLE); + + if (PURPLE_CONNECTION_IS_CONNECTED(gc) && + conv->type == PURPLE_CONV_TYPE_CHAT && + conv->account == gc->account && + purple_conversation_get_data(conv, "want-to-rejoin")) { + GHashTable *comps = NULL; + PurpleChat *chat = purple_blist_find_chat(conv->account, conv->name); + if (chat == NULL) { + if (PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults != NULL) + comps = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults(gc, conv->name); + } else { + comps = chat->components; + } + serv_join_chat(gc, comps); + if (chat == NULL && comps != NULL) + g_hash_table_destroy(comps); + } } } @@ -8148,7 +8165,7 @@ sub = gtk_menu_item_get_submenu(GTK_MENU_ITEM(gtkconv->win->menu.send_to)); if (sub && GTK_WIDGET_IS_SENSITIVE(gtkconv->win->menu.send_to)) { - GtkWidget *item = gtk_menu_item_new_with_mnemonic(_("_Send To")); + GtkWidget *item = gtk_menu_item_new_with_mnemonic(_("S_end To")); if (populated) pidgin_separator(menu); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); @@ -9819,3 +9836,4 @@ return colors; } +