Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 22277:be419fb6eb20
merge of '4c2c343355f23e33c5b251b3d61f07af3fd8ac8b'
and '8bec06d2cd0a64ece46cb3cd73db9b085b91e161'
author | Jeffrey Connelly <jaconnel@calpoly.edu> |
---|---|
date | Sat, 09 Feb 2008 07:35:21 +0000 |
parents | bd25f8c9d94e |
children | c0ad0943cd6e |
comparison
equal
deleted
inserted
replaced
22274:4fced932324a | 22277:be419fb6eb20 |
---|---|
1184 } | 1184 } |
1185 | 1185 |
1186 } | 1186 } |
1187 | 1187 |
1188 static void | 1188 static void |
1189 menu_send_attention_cb(gpointer data, guint action, GtkWidget *widget) | |
1190 { | |
1191 PidginWindow *win = data; | |
1192 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); | |
1193 | |
1194 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { | |
1195 serv_send_attention(purple_conversation_get_gc(conv), purple_conversation_get_name(conv), 0); | |
1196 } | |
1197 } | |
1198 | |
1199 static void | |
1189 menu_add_pounce_cb(gpointer data, guint action, GtkWidget *widget) | 1200 menu_add_pounce_cb(gpointer data, guint action, GtkWidget *widget) |
1190 { | 1201 { |
1191 PidginWindow *win = data; | 1202 PidginWindow *win = data; |
1192 PurpleConversation *conv; | 1203 PurpleConversation *conv; |
1193 | 1204 |
2950 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR }, | 2961 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR }, |
2951 | 2962 |
2952 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, | 2963 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, |
2953 | 2964 |
2954 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE }, | 2965 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_FILE }, |
2966 { N_("/Conversation/Send _Attention..."), NULL, menu_send_attention_cb, 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION }, | |
2955 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, | 2967 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, |
2956 0, "<Item>", NULL }, | 2968 0, "<Item>", NULL }, |
2957 { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0, | 2969 { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0, |
2958 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, | 2970 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, |
2959 { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, | 2971 { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, |
3256 | 3268 |
3257 win->menu.send_file = | 3269 win->menu.send_file = |
3258 gtk_item_factory_get_widget(win->menu.item_factory, | 3270 gtk_item_factory_get_widget(win->menu.item_factory, |
3259 N_("/Conversation/Send File...")); | 3271 N_("/Conversation/Send File...")); |
3260 | 3272 |
3273 win->menu.send_attention = | |
3274 gtk_item_factory_get_widget(win->menu.item_factory, | |
3275 N_("/Conversation/Send Attention")); | |
3261 win->menu.add_pounce = | 3276 win->menu.add_pounce = |
3262 gtk_item_factory_get_widget(win->menu.item_factory, | 3277 gtk_item_factory_get_widget(win->menu.item_factory, |
3263 N_("/Conversation/Add Buddy Pounce...")); | 3278 N_("/Conversation/Add Buddy Pounce...")); |
3264 | 3279 |
3265 /* --- */ | 3280 /* --- */ |
6243 /* Show stuff that applies to IMs, hide stuff that applies to chats */ | 6258 /* Show stuff that applies to IMs, hide stuff that applies to chats */ |
6244 | 6259 |
6245 /* Deal with menu items */ | 6260 /* Deal with menu items */ |
6246 gtk_widget_show(win->menu.view_log); | 6261 gtk_widget_show(win->menu.view_log); |
6247 gtk_widget_show(win->menu.send_file); | 6262 gtk_widget_show(win->menu.send_file); |
6263 gtk_widget_show(win->menu.send_attention); | |
6248 gtk_widget_show(win->menu.add_pounce); | 6264 gtk_widget_show(win->menu.add_pounce); |
6249 gtk_widget_show(win->menu.get_info); | 6265 gtk_widget_show(win->menu.get_info); |
6250 gtk_widget_hide(win->menu.invite); | 6266 gtk_widget_hide(win->menu.invite); |
6251 gtk_widget_show(win->menu.alias); | 6267 gtk_widget_show(win->menu.alias); |
6252 if (purple_privacy_check(account, purple_conversation_get_name(conv))) { | 6268 if (purple_privacy_check(account, purple_conversation_get_name(conv))) { |
6271 /* Show stuff that applies to Chats, hide stuff that applies to IMs */ | 6287 /* Show stuff that applies to Chats, hide stuff that applies to IMs */ |
6272 | 6288 |
6273 /* Deal with menu items */ | 6289 /* Deal with menu items */ |
6274 gtk_widget_show(win->menu.view_log); | 6290 gtk_widget_show(win->menu.view_log); |
6275 gtk_widget_hide(win->menu.send_file); | 6291 gtk_widget_hide(win->menu.send_file); |
6292 gtk_widget_hide(win->menu.send_attention); | |
6276 gtk_widget_hide(win->menu.add_pounce); | 6293 gtk_widget_hide(win->menu.add_pounce); |
6277 gtk_widget_hide(win->menu.get_info); | 6294 gtk_widget_hide(win->menu.get_info); |
6278 gtk_widget_show(win->menu.invite); | 6295 gtk_widget_show(win->menu.invite); |
6279 gtk_widget_show(win->menu.alias); | 6296 gtk_widget_show(win->menu.alias); |
6280 gtk_widget_hide(win->menu.block); | 6297 gtk_widget_hide(win->menu.block); |
6343 gtk_widget_set_sensitive(win->menu.add, (prpl_info->add_buddy != NULL)); | 6360 gtk_widget_set_sensitive(win->menu.add, (prpl_info->add_buddy != NULL)); |
6344 gtk_widget_set_sensitive(win->menu.remove, (prpl_info->remove_buddy != NULL)); | 6361 gtk_widget_set_sensitive(win->menu.remove, (prpl_info->remove_buddy != NULL)); |
6345 gtk_widget_set_sensitive(win->menu.send_file, | 6362 gtk_widget_set_sensitive(win->menu.send_file, |
6346 (prpl_info->send_file != NULL && (!prpl_info->can_receive_file || | 6363 (prpl_info->send_file != NULL && (!prpl_info->can_receive_file || |
6347 prpl_info->can_receive_file(gc, purple_conversation_get_name(conv))))); | 6364 prpl_info->can_receive_file(gc, purple_conversation_get_name(conv))))); |
6365 gtk_widget_set_sensitive(win->menu.send_attention, (prpl_info->send_attention != NULL)); | |
6348 gtk_widget_set_sensitive(win->menu.alias, | 6366 gtk_widget_set_sensitive(win->menu.alias, |
6349 (account != NULL) && | 6367 (account != NULL) && |
6350 (purple_find_buddy(account, purple_conversation_get_name(conv)) != NULL)); | 6368 (purple_find_buddy(account, purple_conversation_get_name(conv)) != NULL)); |
6351 } | 6369 } |
6352 else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) | 6370 else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) |
6363 /* Or it's a chat that we've left. */ | 6381 /* Or it's a chat that we've left. */ |
6364 | 6382 |
6365 /* Then deal with menu items */ | 6383 /* Then deal with menu items */ |
6366 gtk_widget_set_sensitive(win->menu.view_log, TRUE); | 6384 gtk_widget_set_sensitive(win->menu.view_log, TRUE); |
6367 gtk_widget_set_sensitive(win->menu.send_file, FALSE); | 6385 gtk_widget_set_sensitive(win->menu.send_file, FALSE); |
6386 gtk_widget_set_sensitive(win->menu.send_attention, FALSE); | |
6368 gtk_widget_set_sensitive(win->menu.add_pounce, TRUE); | 6387 gtk_widget_set_sensitive(win->menu.add_pounce, TRUE); |
6369 gtk_widget_set_sensitive(win->menu.get_info, FALSE); | 6388 gtk_widget_set_sensitive(win->menu.get_info, FALSE); |
6370 gtk_widget_set_sensitive(win->menu.invite, FALSE); | 6389 gtk_widget_set_sensitive(win->menu.invite, FALSE); |
6371 gtk_widget_set_sensitive(win->menu.alias, FALSE); | 6390 gtk_widget_set_sensitive(win->menu.alias, FALSE); |
6372 gtk_widget_set_sensitive(win->menu.add, FALSE); | 6391 gtk_widget_set_sensitive(win->menu.add, FALSE); |