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);