comparison src/buddy.c @ 1929:d51ea669d84e

[gaim-migrate @ 1939] Stephan Dittmann's patch committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Thu, 31 May 2001 07:46:36 +0000
parents fe79493094e7
children 76c862e7402f
comparison
equal deleted inserted replaced
1928:b1fad054b4f0 1929:d51ea669d84e
45 #include "pixmaps/login_icon.xpm" 45 #include "pixmaps/login_icon.xpm"
46 #include "pixmaps/logout_icon.xpm" 46 #include "pixmaps/logout_icon.xpm"
47 #include "pixmaps/no_icon.xpm" 47 #include "pixmaps/no_icon.xpm"
48 48
49 #include "pixmaps/away_small.xpm" 49 #include "pixmaps/away_small.xpm"
50 #include "pixmaps/away_big.xpm"
50 51
51 #include "pixmaps/add_small.xpm" 52 #include "pixmaps/add_small.xpm"
52 #include "pixmaps/import_small.xpm" 53 #include "pixmaps/import_small.xpm"
53 /*#include "pixmaps/export_small.xpm"*/ 54 /*#include "pixmaps/export_small.xpm"*/
54 #if defined(GAIM_PLUGINS) || defined(USE_PERL) 55 #if defined(GAIM_PLUGINS) || defined(USE_PERL)
78 static GtkAccelGroup *accel; 79 static GtkAccelGroup *accel;
79 static GtkWidget *editpane; 80 static GtkWidget *editpane;
80 static GtkWidget *buddypane; 81 static GtkWidget *buddypane;
81 static GtkWidget *imchatbox; 82 static GtkWidget *imchatbox;
82 static GtkWidget *edittree; 83 static GtkWidget *edittree;
83 static GtkWidget *imbutton, *infobutton, *chatbutton; 84 static GtkWidget *imbutton, *infobutton, *chatbutton, *awaybutton;
84 static GtkWidget *addbutton, *groupbutton, *rembutton; 85 static GtkWidget *addbutton, *groupbutton, *rembutton;
85 86
86 GtkWidget *blist = NULL; 87 GtkWidget *blist = NULL;
87 GtkWidget *bpmenu; 88 GtkWidget *bpmenu;
88 GtkWidget *buddies; 89 GtkWidget *buddies;
439 adjust_pic(addbutton, _("Add"), (gchar **)gnome_add_xpm); 440 adjust_pic(addbutton, _("Add"), (gchar **)gnome_add_xpm);
440 adjust_pic(groupbutton, _("Group"), (gchar **)group_xpm); 441 adjust_pic(groupbutton, _("Group"), (gchar **)group_xpm);
441 adjust_pic(rembutton, _("Remove"), (gchar **)gnome_remove_xpm); 442 adjust_pic(rembutton, _("Remove"), (gchar **)gnome_remove_xpm);
442 443
443 if (!(display_options & OPT_DISP_NO_BUTTONS)) { 444 if (!(display_options & OPT_DISP_NO_BUTTONS)) {
445 adjust_pic(awaybutton, _("Chat"), (gchar **)away_big_xpm);
444 adjust_pic(chatbutton, _("Chat"), (gchar **)join_xpm); 446 adjust_pic(chatbutton, _("Chat"), (gchar **)join_xpm);
445 adjust_pic(imbutton, _("IM"), (gchar **)tmp_send_xpm); 447 adjust_pic(imbutton, _("IM"), (gchar **)tmp_send_xpm);
446 adjust_pic(infobutton, _("Info"), (gchar **)tb_search_xpm); 448 adjust_pic(infobutton, _("Info"), (gchar **)tb_search_xpm);
447 } 449 }
448 gtk_widget_hide(addbutton->parent); 450 gtk_widget_hide(addbutton->parent);
1496 1498
1497 1499
1498 void chat_callback(GtkWidget *widget, GtkTree *tree) 1500 void chat_callback(GtkWidget *widget, GtkTree *tree)
1499 { 1501 {
1500 join_chat(); 1502 join_chat();
1503 }
1504
1505 static void away_callback(GtkWidget *widget, GtkTree *tree)
1506 {
1507 GSList *awy = away_messages;
1508 GtkWidget *menu;
1509 GtkWidget *menuitem;
1510
1511 if (!awy)
1512 return;
1513
1514 menu = gtk_menu_new();
1515
1516 while (awy) {
1517 struct away_message *a = awy->data;
1518
1519 menuitem = gtk_menu_item_new_with_label(a->name);
1520 gtk_menu_append(GTK_MENU(menu), menuitem);
1521 gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
1522 GTK_SIGNAL_FUNC(do_away_message), a);
1523 gtk_widget_show(menuitem);
1524
1525 awy = awy->next;
1526 }
1527
1528 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 1, time(NULL));
1501 } 1529 }
1502 1530
1503 struct group *find_group(struct gaim_connection *gc, char *group) 1531 struct group *find_group(struct gaim_connection *gc, char *group)
1504 { 1532 {
1505 struct group *g; 1533 struct group *g;
2453 if (imchatbox) return; 2481 if (imchatbox) return;
2454 2482
2455 imbutton = gtk_button_new_with_label(_("IM")); 2483 imbutton = gtk_button_new_with_label(_("IM"));
2456 infobutton = gtk_button_new_with_label(_("Info")); 2484 infobutton = gtk_button_new_with_label(_("Info"));
2457 chatbutton = gtk_button_new_with_label(_("Chat")); 2485 chatbutton = gtk_button_new_with_label(_("Chat"));
2486 awaybutton = gtk_button_new_with_label(_("Away"));
2458 2487
2459 imchatbox = gtk_hbox_new(TRUE, 10); 2488 imchatbox = gtk_hbox_new(TRUE, 10);
2460 2489
2461 if (display_options & OPT_DISP_COOL_LOOK) 2490 if (display_options & OPT_DISP_COOL_LOOK)
2462 { 2491 {
2463 gtk_button_set_relief(GTK_BUTTON(imbutton), GTK_RELIEF_NONE); 2492 gtk_button_set_relief(GTK_BUTTON(imbutton), GTK_RELIEF_NONE);
2464 gtk_button_set_relief(GTK_BUTTON(infobutton), GTK_RELIEF_NONE); 2493 gtk_button_set_relief(GTK_BUTTON(infobutton), GTK_RELIEF_NONE);
2465 gtk_button_set_relief(GTK_BUTTON(chatbutton), GTK_RELIEF_NONE); 2494 gtk_button_set_relief(GTK_BUTTON(chatbutton), GTK_RELIEF_NONE);
2495 gtk_button_set_relief(GTK_BUTTON(awaybutton), GTK_RELIEF_NONE);
2466 } 2496 }
2467 2497
2468 /* Put the buttons in the hbox */ 2498 /* Put the buttons in the hbox */
2469 gtk_widget_show(imbutton); 2499 gtk_widget_show(imbutton);
2500 gtk_widget_show(infobutton);
2470 gtk_widget_show(chatbutton); 2501 gtk_widget_show(chatbutton);
2471 gtk_widget_show(infobutton); 2502 gtk_widget_show(awaybutton);
2472 2503
2473 gtk_box_pack_start(GTK_BOX(imchatbox), imbutton, TRUE, TRUE, 0); 2504 gtk_box_pack_start(GTK_BOX(imchatbox), imbutton, TRUE, TRUE, 0);
2474 gtk_box_pack_start(GTK_BOX(imchatbox), infobutton, TRUE, TRUE, 0); 2505 gtk_box_pack_start(GTK_BOX(imchatbox), infobutton, TRUE, TRUE, 0);
2475 gtk_box_pack_start(GTK_BOX(imchatbox), chatbutton, TRUE, TRUE, 0); 2506 gtk_box_pack_start(GTK_BOX(imchatbox), chatbutton, TRUE, TRUE, 0);
2507 gtk_box_pack_start(GTK_BOX(imchatbox), awaybutton, TRUE, TRUE, 0);
2476 gtk_container_border_width(GTK_CONTAINER(imchatbox), 5); 2508 gtk_container_border_width(GTK_CONTAINER(imchatbox), 5);
2477 2509
2478 gtk_signal_connect(GTK_OBJECT(imbutton), "clicked", GTK_SIGNAL_FUNC(im_callback), buddies); 2510 gtk_signal_connect(GTK_OBJECT(imbutton), "clicked", GTK_SIGNAL_FUNC(im_callback), buddies);
2479 gtk_signal_connect(GTK_OBJECT(infobutton), "clicked", GTK_SIGNAL_FUNC(info_callback), buddies); 2511 gtk_signal_connect(GTK_OBJECT(infobutton), "clicked", GTK_SIGNAL_FUNC(info_callback), buddies);
2480 gtk_signal_connect(GTK_OBJECT(chatbutton), "clicked", GTK_SIGNAL_FUNC(chat_callback), buddies); 2512 gtk_signal_connect(GTK_OBJECT(chatbutton), "clicked", GTK_SIGNAL_FUNC(chat_callback), buddies);
2513 gtk_signal_connect(GTK_OBJECT(awaybutton), "clicked", GTK_SIGNAL_FUNC(away_callback), buddies);
2481 2514
2482 gtk_tooltips_set_tip(tips,infobutton, _("Information on selected Buddy"), "Penguin"); 2515 gtk_tooltips_set_tip(tips,infobutton, _("Information on selected Buddy"), "Penguin");
2483 gtk_tooltips_set_tip(tips,imbutton, _("Send Instant Message"), "Penguin"); 2516 gtk_tooltips_set_tip(tips,imbutton, _("Send Instant Message"), "Penguin");
2484 gtk_tooltips_set_tip(tips,chatbutton, _("Start/join a Buddy Chat"), "Penguin"); 2517 gtk_tooltips_set_tip(tips,chatbutton, _("Start/join a Buddy Chat"), "Penguin");
2518 gtk_tooltips_set_tip(tips,awaybutton, _("Activate Away Message"), "Penguin");
2485 2519
2486 gtk_box_pack_start(GTK_BOX(buddypane), imchatbox, FALSE, FALSE, 0); 2520 gtk_box_pack_start(GTK_BOX(buddypane), imchatbox, FALSE, FALSE, 0);
2487 2521
2488 gtk_widget_show(imchatbox); 2522 gtk_widget_show(imchatbox);
2489 } else { 2523 } else {