Mercurial > pidgin
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 { |