| 710 |
710 |
| 711 gtk_widget_grab_focus(GAIM_GTK_CONVERSATION(conv)->entry); |
711 gtk_widget_grab_focus(GAIM_GTK_CONVERSATION(conv)->entry); |
| 712 } |
712 } |
| 713 |
713 |
| 714 static void |
714 static void |
| |
715 unblock_cb(GtkWidget *widget, GaimGtkConversation *gtkconv) |
| |
716 { |
| |
717 GaimConversation *conv = gtkconv->active_conv; |
| |
718 GaimAccount *account; |
| |
719 |
| |
720 account = gaim_conversation_get_account(conv); |
| |
721 |
| |
722 if (account != NULL && gaim_account_is_connected(account)) |
| |
723 gaim_gtk_request_add_permit(account, gaim_conversation_get_name(conv)); |
| |
724 |
| |
725 gtk_widget_grab_focus(GAIM_GTK_CONVERSATION(conv)->entry); |
| |
726 } |
| |
727 |
| |
728 static void |
| 715 do_invite(GtkWidget *w, int resp, InviteBuddyInfo *info) |
729 do_invite(GtkWidget *w, int resp, InviteBuddyInfo *info) |
| 716 { |
730 { |
| 717 const char *buddy, *message; |
731 const char *buddy, *message; |
| 718 GaimGtkConversation *gtkconv; |
732 GaimGtkConversation *gtkconv; |
| 719 |
733 |
| 1295 |
1309 |
| 1296 block_cb(NULL, GAIM_GTK_CONVERSATION(conv)); |
1310 block_cb(NULL, GAIM_GTK_CONVERSATION(conv)); |
| 1297 } |
1311 } |
| 1298 |
1312 |
| 1299 static void |
1313 static void |
| |
1314 menu_unblock_cb(gpointer data, guint action, GtkWidget *widget) |
| |
1315 { |
| |
1316 GaimGtkWindow *win = data; |
| |
1317 GaimConversation *conv; |
| |
1318 |
| |
1319 conv = gaim_gtk_conv_window_get_active_conversation(win); |
| |
1320 |
| |
1321 unblock_cb(NULL, GAIM_GTK_CONVERSATION(conv)); |
| |
1322 } |
| |
1323 |
| |
1324 static void |
| 1300 menu_add_remove_cb(gpointer data, guint action, GtkWidget *widget) |
1325 menu_add_remove_cb(gpointer data, guint action, GtkWidget *widget) |
| 1301 { |
1326 { |
| 1302 GaimGtkWindow *win = data; |
1327 GaimGtkWindow *win = data; |
| 1303 GaimConversation *conv; |
1328 GaimConversation *conv; |
| 1304 |
1329 |
| 2733 |
2758 |
| 2734 { N_("/Conversation/Al_ias..."), NULL, menu_alias_cb, 0, |
2759 { N_("/Conversation/Al_ias..."), NULL, menu_alias_cb, 0, |
| 2735 "<StockItem>", GAIM_STOCK_EDIT }, |
2760 "<StockItem>", GAIM_STOCK_EDIT }, |
| 2736 { N_("/Conversation/_Block..."), NULL, menu_block_cb, 0, |
2761 { N_("/Conversation/_Block..."), NULL, menu_block_cb, 0, |
| 2737 "<StockItem>", GAIM_STOCK_BLOCK }, |
2762 "<StockItem>", GAIM_STOCK_BLOCK }, |
| |
2763 { N_("/Conversation/_Unblock..."), NULL, menu_unblock_cb, 0, |
| |
2764 "<StockItem>", GAIM_STOCK_UNBLOCK }, |
| 2738 { N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0, |
2765 { N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0, |
| 2739 "<StockItem>", GTK_STOCK_ADD }, |
2766 "<StockItem>", GTK_STOCK_ADD }, |
| 2740 { N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0, |
2767 { N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0, |
| 2741 "<StockItem>", GTK_STOCK_REMOVE }, |
2768 "<StockItem>", GTK_STOCK_REMOVE }, |
| 2742 |
2769 |
| 2949 |
2976 |
| 2950 win->menu.block = |
2977 win->menu.block = |
| 2951 gtk_item_factory_get_widget(win->menu.item_factory, |
2978 gtk_item_factory_get_widget(win->menu.item_factory, |
| 2952 N_("/Conversation/Block...")); |
2979 N_("/Conversation/Block...")); |
| 2953 |
2980 |
| |
2981 win->menu.unblock = |
| |
2982 gtk_item_factory_get_widget(win->menu.item_factory, |
| |
2983 N_("/Conversation/Unblock...")); |
| |
2984 |
| 2954 win->menu.add = |
2985 win->menu.add = |
| 2955 gtk_item_factory_get_widget(win->menu.item_factory, |
2986 gtk_item_factory_get_widget(win->menu.item_factory, |
| 2956 N_("/Conversation/Add...")); |
2987 N_("/Conversation/Add...")); |
| 2957 |
2988 |
| 2958 win->menu.remove = |
2989 win->menu.remove = |
| 5625 gtk_widget_show(win->menu.send_file); |
5656 gtk_widget_show(win->menu.send_file); |
| 5626 gtk_widget_show(win->menu.add_pounce); |
5657 gtk_widget_show(win->menu.add_pounce); |
| 5627 gtk_widget_show(win->menu.get_info); |
5658 gtk_widget_show(win->menu.get_info); |
| 5628 gtk_widget_hide(win->menu.invite); |
5659 gtk_widget_hide(win->menu.invite); |
| 5629 gtk_widget_show(win->menu.alias); |
5660 gtk_widget_show(win->menu.alias); |
| 5630 gtk_widget_show(win->menu.block); |
5661 if (gaim_privacy_check(account, gaim_conversation_get_name(conv))) { |
| |
5662 gtk_widget_hide(win->menu.unblock); |
| |
5663 gtk_widget_show(win->menu.block); |
| |
5664 } else { |
| |
5665 gtk_widget_hide(win->menu.block); |
| |
5666 gtk_widget_show(win->menu.unblock); |
| |
5667 } |
| 5631 |
5668 |
| 5632 if ((account == NULL) || gaim_find_buddy(account, gaim_conversation_get_name(conv)) == NULL) { |
5669 if ((account == NULL) || gaim_find_buddy(account, gaim_conversation_get_name(conv)) == NULL) { |
| 5633 gtk_widget_show(win->menu.add); |
5670 gtk_widget_show(win->menu.add); |
| 5634 gtk_widget_hide(win->menu.remove); |
5671 gtk_widget_hide(win->menu.remove); |
| 5635 } else { |
5672 } else { |
| 6572 { |
6609 { |
| 6573 GaimGtkConversation *gtkconv; |
6610 GaimGtkConversation *gtkconv; |
| 6574 GaimConversation *conv; |
6611 GaimConversation *conv; |
| 6575 |
6612 |
| 6576 gtkconv = get_gtkconv_with_contact(gaim_buddy_get_contact(buddy)); |
6613 gtkconv = get_gtkconv_with_contact(gaim_buddy_get_contact(buddy)); |
| 6577 if (gtkconv) |
6614 if (gtkconv) { |
| 6578 { |
|
| 6579 conv = gtkconv->active_conv; |
6615 conv = gtkconv->active_conv; |
| 6580 gaim_gtkconv_update_fields(conv, GAIM_GTKCONV_TAB_ICON); |
6616 gaim_gtkconv_update_fields(conv, GAIM_GTKCONV_TAB_ICON | GAIM_GTKCONV_MENU); |
| 6581 } |
6617 } |
| 6582 } |
6618 } |
| 6583 |
6619 |
| 6584 static void |
6620 static void |
| 6585 update_buddy_idle_changed(GaimBuddy *buddy, gboolean old, gboolean newidle) |
6621 update_buddy_idle_changed(GaimBuddy *buddy, gboolean old, gboolean newidle) |