pidgin/gtkconv.c

changeset 40683
dcc53af7a4fb
parent 40669
48dfed6f4f1f
child 40689
da31cedd7345
equal deleted inserted replaced
40682:edbc992e77be 40683:dcc53af7a4fb
44 #include "gtkdnd-hints.h" 44 #include "gtkdnd-hints.h"
45 #include "gtkblist.h" 45 #include "gtkblist.h"
46 #include "gtkconv.h" 46 #include "gtkconv.h"
47 #include "gtkconvwin.h" 47 #include "gtkconvwin.h"
48 #include "gtkdialogs.h" 48 #include "gtkdialogs.h"
49 #include "gtkpounce.h"
50 #include "gtkprefs.h" 49 #include "gtkprefs.h"
51 #include "gtkprivacy.h" 50 #include "gtkprivacy.h"
52 #include "gtkutils.h" 51 #include "gtkutils.h"
53 #include "pidginclosebutton.h" 52 #include "pidginclosebutton.h"
54 #include "pidginconversationwindow.h" 53 #include "pidginconversationwindow.h"
941 purple_conversation_get_name(conv), index); 940 purple_conversation_get_name(conv), index);
942 } 941 }
943 } 942 }
944 943
945 static void 944 static void
946 menu_add_pounce_cb(GtkAction *action, gpointer data)
947 {
948 PidginConvWindow *win = data;
949 PurpleConversation *conv;
950
951 conv = pidgin_conv_window_get_active_gtkconv(win)->active_conv;
952
953 pidgin_pounce_editor_show(purple_conversation_get_account(conv),
954 purple_conversation_get_name(conv), NULL);
955 }
956
957 static void
958 menu_alias_cb(GtkAction *action, gpointer data) 945 menu_alias_cb(GtkAction *action, gpointer data)
959 { 946 {
960 PidginConvWindow *win = data; 947 PidginConvWindow *win = data;
961 PurpleConversation *conv; 948 PurpleConversation *conv;
962 PurpleAccount *account; 949 PurpleAccount *account;
2421 { "AudioVideoCall", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, N_("Audio/Video _Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) }, 2408 { "AudioVideoCall", PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, N_("Audio/Video _Call"), NULL, NULL, G_CALLBACK(menu_initiate_media_call_cb) },
2422 #endif 2409 #endif
2423 2410
2424 { "SendFile", PIDGIN_STOCK_TOOLBAR_SEND_FILE, N_("Se_nd File..."), NULL, NULL, G_CALLBACK(menu_send_file_cb) }, 2411 { "SendFile", PIDGIN_STOCK_TOOLBAR_SEND_FILE, N_("Se_nd File..."), NULL, NULL, G_CALLBACK(menu_send_file_cb) },
2425 { "GetAttention", PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, N_("Get _Attention"), NULL, NULL, G_CALLBACK(menu_get_attention_cb) }, 2412 { "GetAttention", PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, N_("Get _Attention"), NULL, NULL, G_CALLBACK(menu_get_attention_cb) },
2426 { "AddBuddyPounce", NULL, N_("Add Buddy _Pounce..."), NULL, NULL, G_CALLBACK(menu_add_pounce_cb) },
2427 { "GetInfo", PIDGIN_STOCK_TOOLBAR_USER_INFO, N_("_Get Info"), "<control>O", NULL, G_CALLBACK(menu_get_info_cb) }, 2413 { "GetInfo", PIDGIN_STOCK_TOOLBAR_USER_INFO, N_("_Get Info"), "<control>O", NULL, G_CALLBACK(menu_get_info_cb) },
2428 { "Invite", NULL, N_("In_vite..."), NULL, NULL, G_CALLBACK(menu_invite_cb) }, 2414 { "Invite", NULL, N_("In_vite..."), NULL, NULL, G_CALLBACK(menu_invite_cb) },
2429 { "MoreMenu", NULL, N_("M_ore"), NULL, NULL, NULL }, 2415 { "MoreMenu", NULL, N_("M_ore"), NULL, NULL, NULL },
2430 { "Alias", NULL, N_("Al_ias..."), NULL, NULL, G_CALLBACK(menu_alias_cb) }, 2416 { "Alias", NULL, N_("Al_ias..."), NULL, NULL, G_CALLBACK(menu_alias_cb) },
2431 { "Block", PIDGIN_STOCK_TOOLBAR_BLOCK, N_("_Block..."), NULL, NULL, G_CALLBACK(menu_block_cb) }, 2417 { "Block", PIDGIN_STOCK_TOOLBAR_BLOCK, N_("_Block..."), NULL, NULL, G_CALLBACK(menu_block_cb) },
2465 "<menuitem action='AudioVideoCall'/>" 2451 "<menuitem action='AudioVideoCall'/>"
2466 "</menu>" 2452 "</menu>"
2467 #endif 2453 #endif
2468 "<menuitem action='SendFile'/>" 2454 "<menuitem action='SendFile'/>"
2469 "<menuitem action='GetAttention'/>" 2455 "<menuitem action='GetAttention'/>"
2470 "<menuitem action='AddBuddyPounce'/>"
2471 "<menuitem action='GetInfo'/>" 2456 "<menuitem action='GetInfo'/>"
2472 "<menuitem action='Invite'/>" 2457 "<menuitem action='Invite'/>"
2473 "<menu action='MoreMenu'/>" 2458 "<menu action='MoreMenu'/>"
2474 "<separator/>" 2459 "<separator/>"
2475 "<menuitem action='Alias'/>" 2460 "<menuitem action='Alias'/>"
2862 2847
2863 win->menu->get_attention = 2848 win->menu->get_attention =
2864 gtk_ui_manager_get_action(win->menu->ui, 2849 gtk_ui_manager_get_action(win->menu->ui,
2865 "/Conversation/ConversationMenu/GetAttention"); 2850 "/Conversation/ConversationMenu/GetAttention");
2866 2851
2867 win->menu->add_pounce =
2868 gtk_ui_manager_get_action(win->menu->ui,
2869 "/Conversation/ConversationMenu/AddBuddyPounce");
2870
2871 /* --- */ 2852 /* --- */
2872 2853
2873 win->menu->get_info = 2854 win->menu->get_info =
2874 gtk_ui_manager_get_action(win->menu->ui, 2855 gtk_ui_manager_get_action(win->menu->ui,
2875 "/Conversation/ConversationMenu/GetInfo"); 2856 "/Conversation/ConversationMenu/GetInfo");
4846 4827
4847 /* Deal with menu items */ 4828 /* Deal with menu items */
4848 gtk_action_set_visible(win->menu->view_log, TRUE); 4829 gtk_action_set_visible(win->menu->view_log, TRUE);
4849 gtk_action_set_visible(win->menu->send_file, TRUE); 4830 gtk_action_set_visible(win->menu->send_file, TRUE);
4850 gtk_action_set_visible(win->menu->get_attention, TRUE); 4831 gtk_action_set_visible(win->menu->get_attention, TRUE);
4851 gtk_action_set_visible(win->menu->add_pounce, TRUE);
4852 gtk_action_set_visible(win->menu->get_info, TRUE); 4832 gtk_action_set_visible(win->menu->get_info, TRUE);
4853 gtk_action_set_visible(win->menu->invite, FALSE); 4833 gtk_action_set_visible(win->menu->invite, FALSE);
4854 gtk_action_set_visible(win->menu->alias, TRUE); 4834 gtk_action_set_visible(win->menu->alias, TRUE);
4855 if (purple_account_privacy_check(account, purple_conversation_get_name(conv))) { 4835 if (purple_account_privacy_check(account, purple_conversation_get_name(conv))) {
4856 gtk_action_set_visible(win->menu->unblock, FALSE); 4836 gtk_action_set_visible(win->menu->unblock, FALSE);
4875 4855
4876 /* Deal with menu items */ 4856 /* Deal with menu items */
4877 gtk_action_set_visible(win->menu->view_log, TRUE); 4857 gtk_action_set_visible(win->menu->view_log, TRUE);
4878 gtk_action_set_visible(win->menu->send_file, FALSE); 4858 gtk_action_set_visible(win->menu->send_file, FALSE);
4879 gtk_action_set_visible(win->menu->get_attention, FALSE); 4859 gtk_action_set_visible(win->menu->get_attention, FALSE);
4880 gtk_action_set_visible(win->menu->add_pounce, FALSE);
4881 gtk_action_set_visible(win->menu->get_info, FALSE); 4860 gtk_action_set_visible(win->menu->get_info, FALSE);
4882 gtk_action_set_visible(win->menu->invite, TRUE); 4861 gtk_action_set_visible(win->menu->invite, TRUE);
4883 gtk_action_set_visible(win->menu->alias, TRUE); 4862 gtk_action_set_visible(win->menu->alias, TRUE);
4884 gtk_action_set_visible(win->menu->block, FALSE); 4863 gtk_action_set_visible(win->menu->block, FALSE);
4885 gtk_action_set_visible(win->menu->unblock, FALSE); 4864 gtk_action_set_visible(win->menu->unblock, FALSE);
4937 pidgin_webview_set_format_functions(PIDGIN_WEBVIEW(gtkconv->entry), buttons); 4916 pidgin_webview_set_format_functions(PIDGIN_WEBVIEW(gtkconv->entry), buttons);
4938 #endif 4917 #endif
4939 4918
4940 /* Deal with menu items */ 4919 /* Deal with menu items */
4941 gtk_action_set_sensitive(win->menu->view_log, TRUE); 4920 gtk_action_set_sensitive(win->menu->view_log, TRUE);
4942 gtk_action_set_sensitive(win->menu->add_pounce, TRUE);
4943 gtk_action_set_sensitive(win->menu->get_info, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER, get_info))); 4921 gtk_action_set_sensitive(win->menu->get_info, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, SERVER, get_info)));
4944 gtk_action_set_sensitive(win->menu->invite, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT, invite))); 4922 gtk_action_set_sensitive(win->menu->invite, (PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT, invite)));
4945 gtk_action_set_sensitive(win->menu->insert_link, (features & PURPLE_CONNECTION_FLAG_HTML)); 4923 gtk_action_set_sensitive(win->menu->insert_link, (features & PURPLE_CONNECTION_FLAG_HTML));
4946 gtk_action_set_sensitive(win->menu->insert_image, !(features & PURPLE_CONNECTION_FLAG_NO_IMAGES)); 4924 gtk_action_set_sensitive(win->menu->insert_image, !(features & PURPLE_CONNECTION_FLAG_NO_IMAGES));
4947 4925
4979 4957
4980 /* Then deal with menu items */ 4958 /* Then deal with menu items */
4981 gtk_action_set_sensitive(win->menu->view_log, TRUE); 4959 gtk_action_set_sensitive(win->menu->view_log, TRUE);
4982 gtk_action_set_sensitive(win->menu->send_file, FALSE); 4960 gtk_action_set_sensitive(win->menu->send_file, FALSE);
4983 gtk_action_set_sensitive(win->menu->get_attention, FALSE); 4961 gtk_action_set_sensitive(win->menu->get_attention, FALSE);
4984 gtk_action_set_sensitive(win->menu->add_pounce, TRUE);
4985 gtk_action_set_sensitive(win->menu->get_info, FALSE); 4962 gtk_action_set_sensitive(win->menu->get_info, FALSE);
4986 gtk_action_set_sensitive(win->menu->invite, FALSE); 4963 gtk_action_set_sensitive(win->menu->invite, FALSE);
4987 gtk_action_set_sensitive(win->menu->alias, FALSE); 4964 gtk_action_set_sensitive(win->menu->alias, FALSE);
4988 gtk_action_set_sensitive(win->menu->add, FALSE); 4965 gtk_action_set_sensitive(win->menu->add, FALSE);
4989 gtk_action_set_sensitive(win->menu->remove, FALSE); 4966 gtk_action_set_sensitive(win->menu->remove, FALSE);
6462 6439
6463 #include "gtkdnd-hints.h" 6440 #include "gtkdnd-hints.h"
6464 #include "gtkblist.h" 6441 #include "gtkblist.h"
6465 #include "gtkconv.h" 6442 #include "gtkconv.h"
6466 #include "gtkdialogs.h" 6443 #include "gtkdialogs.h"
6467 #include "gtkpounce.h"
6468 #include "gtkprefs.h" 6444 #include "gtkprefs.h"
6469 #include "gtkprivacy.h" 6445 #include "gtkprivacy.h"
6470 #include "gtkutils.h" 6446 #include "gtkutils.h"
6471 #include "pidginmenutray.h" 6447 #include "pidginmenutray.h"
6472 #include "pidginstock.h" 6448 #include "pidginstock.h"

mercurial