Mercurial > pidgin.yaz
comparison src/buddy.c @ 3570:b791019b2492
[gaim-migrate @ 3666]
You win, McQueen.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sun, 29 Sep 2002 04:48:40 +0000 |
parents | 3c4b8982068a |
children | 9682c0e022c6 |
comparison
equal
deleted
inserted
replaced
3569:d6468f276d24 | 3570:b791019b2492 |
---|---|
1991 } | 1991 } |
1992 | 1992 |
1993 return g; | 1993 return g; |
1994 } | 1994 } |
1995 | 1995 |
1996 /* used by this file, and by iconaway.so */ | |
1997 void hide_buddy_list() { | |
1998 if (blist) { | |
1999 if (!connections || docklet_count) { | |
2000 gtk_widget_hide(blist); | |
2001 } else { | |
2002 gtk_window_iconify(GTK_WINDOW(blist)); | |
2003 } | |
2004 } | |
2005 } | |
2006 | |
2007 /* mostly used by code in this file */ | |
2008 void unhide_buddy_list() { | |
2009 if (blist) { | |
2010 gtk_window_present(GTK_WINDOW(blist)); | |
2011 if (blist_options & OPT_BLIST_SAVED_WINDOWS && blist_pos.width != 0) { | |
2012 gtk_window_move(GTK_WINDOW(blist), blist_pos.x, blist_pos.y); | |
2013 gtk_window_resize(GTK_WINDOW(blist), blist_pos.width, blist_pos.height); | |
2014 } | |
2015 } | |
2016 } | |
2017 | |
2018 /* for the delete_event handler */ | |
2019 static void close_buddy_list() { | |
2020 if (docklet_count) { | |
2021 hide_buddy_list(); | |
2022 } else { | |
2023 do_quit(); | |
2024 } | |
2025 } | |
2026 | |
2027 void docklet_add() { | |
2028 docklet_count++; | |
2029 debug_printf("docklet_count: %d\n",docklet_count); | |
2030 } | |
2031 | |
2032 void docklet_remove() { | |
2033 if (docklet_count) { | |
2034 docklet_count--; | |
2035 } | |
2036 debug_printf("docklet_count: %d\n",docklet_count); | |
2037 if (!docklet_count) { | |
2038 if (connections) { | |
2039 unhide_buddy_list(); | |
2040 } else { | |
2041 gtk_window_present(GTK_WINDOW(mainwindow)); | |
2042 } | |
2043 } | |
2044 } | |
1996 | 2045 |
1997 void docklet_toggle() { | 2046 void docklet_toggle() { |
1998 /* Useful for the docklet plugin and also for the win32 tray icon*/ | 2047 /* Useful for the docklet plugin and also for the win32 tray icon*/ |
1999 /* This is called when one of those is clicked--it will show/hide the | 2048 /* This is called when one of those is clicked--it will show/hide the |
2000 buddy list/login window--depending on which is active */ | 2049 buddy list/login window--depending on which is active */ |
2013 if (GAIM_WINDOW_ICONIFIED(mainwindow)) { | 2062 if (GAIM_WINDOW_ICONIFIED(mainwindow)) { |
2014 gtk_window_present(GTK_WINDOW(mainwindow)); | 2063 gtk_window_present(GTK_WINDOW(mainwindow)); |
2015 } else { | 2064 } else { |
2016 gtk_widget_hide(mainwindow); | 2065 gtk_widget_hide(mainwindow); |
2017 } | 2066 } |
2018 } else { | |
2019 gtk_window_present(GTK_WINDOW(mainwindow)); | |
2020 } | |
2021 } | |
2022 } | |
2023 | |
2024 | |
2025 /* used by this file, and by iconaway.so */ | |
2026 void hide_buddy_list() { | |
2027 if (blist) { | |
2028 if (!connections || docklet_count) { | |
2029 gtk_widget_hide(blist); | |
2030 } else { | |
2031 gtk_window_iconify(GTK_WINDOW(blist)); | |
2032 } | |
2033 } | |
2034 } | |
2035 | |
2036 /* mostly used by code in this file */ | |
2037 void unhide_buddy_list() { | |
2038 if (blist) { | |
2039 gtk_window_present(GTK_WINDOW(blist)); | |
2040 if (blist_options & OPT_BLIST_SAVED_WINDOWS && blist_pos.width != 0) { | |
2041 gtk_window_move(GTK_WINDOW(blist), blist_pos.x, blist_pos.y); | |
2042 gtk_window_resize(GTK_WINDOW(blist), blist_pos.width, blist_pos.height); | |
2043 } | |
2044 } | |
2045 } | |
2046 | |
2047 /* for the delete_event handler */ | |
2048 static void close_buddy_list() { | |
2049 if (docklet_count) { | |
2050 hide_buddy_list(); | |
2051 } else { | |
2052 do_quit(); | |
2053 } | |
2054 } | |
2055 | |
2056 void docklet_add() { | |
2057 docklet_count++; | |
2058 debug_printf("docklet_count: %d\n",docklet_count); | |
2059 } | |
2060 | |
2061 void docklet_remove() { | |
2062 if (docklet_count) { | |
2063 docklet_count--; | |
2064 } | |
2065 debug_printf("docklet_count: %d\n",docklet_count); | |
2066 if (!docklet_count) { | |
2067 if (connections) { | |
2068 unhide_buddy_list(); | |
2069 } else { | 2067 } else { |
2070 gtk_window_present(GTK_WINDOW(mainwindow)); | 2068 gtk_window_present(GTK_WINDOW(mainwindow)); |
2071 } | 2069 } |
2072 } | 2070 } |
2073 } | 2071 } |
2458 save_prefs(); | 2456 save_prefs(); |
2459 } | 2457 } |
2460 } | 2458 } |
2461 | 2459 |
2462 static void change_state_blist_window(GtkWidget *w, GdkEventWindowState *event, void *dummy) { | 2460 static void change_state_blist_window(GtkWidget *w, GdkEventWindowState *event, void *dummy) { |
2463 if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED && | 2461 if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED && |
2464 docklet_count) { | 2462 docklet_count) { |
2465 gtk_widget_hide(blist); | 2463 gtk_widget_hide(blist); |
2466 } | 2464 } |
2467 } | 2465 } |
2468 | 2466 |
2469 /******************************************************************* | 2467 /******************************************************************* |
2470 * | 2468 * |
2471 * Helper funs for making the menu | 2469 * Helper funs for making the menu |
2499 gtk_container_add(GTK_CONTAINER(menuitem), label); | 2497 gtk_container_add(GTK_CONTAINER(menuitem), label); |
2500 gtk_widget_show(label); | 2498 gtk_widget_show(label); |
2501 | 2499 |
2502 gtk_widget_add_accelerator(menuitem, "activate", accel, str[0], | 2500 gtk_widget_add_accelerator(menuitem, "activate", accel, str[0], |
2503 GDK_MOD1_MASK, GTK_ACCEL_LOCKED); | 2501 GDK_MOD1_MASK, GTK_ACCEL_LOCKED); |
2504 | 2502 |
2505 return menuitem; | 2503 return menuitem; |
2506 } | 2504 } |
2507 | 2505 |
2508 GtkWidget *gaim_new_item_with_pixmap(GtkWidget *menu, const char *str, char **xpm, GtkSignalFunc sf, gpointer data, | 2506 GtkWidget *gaim_new_item_with_pixmap(GtkWidget *menu, const char *str, char **xpm, GtkSignalFunc sf, gpointer data, |
2509 guint accel_key, guint accel_mods, char *mod) | 2507 guint accel_key, guint accel_mods, char *mod) |
2623 misc_options ^= OPT_MISC_DEBUG; | 2621 misc_options ^= OPT_MISC_DEBUG; |
2624 show_debug(); | 2622 show_debug(); |
2625 } | 2623 } |
2626 } | 2624 } |
2627 | 2625 |
2628 void show_buddy_list() | 2626 void make_buddy_list() |
2629 { | 2627 { |
2630 | 2628 |
2631 /* Build the buddy list, based on *config */ | 2629 /* Build the buddy list, based on *config */ |
2632 | 2630 |
2633 GtkWidget *sw; | 2631 GtkWidget *sw; |
2646 GtkWidget *label; | 2644 GtkWidget *label; |
2647 GtkWidget *bbox; | 2645 GtkWidget *bbox; |
2648 GtkWidget *tbox; | 2646 GtkWidget *tbox; |
2649 | 2647 |
2650 if (blist) { | 2648 if (blist) { |
2651 unhide_buddy_list(); | |
2652 return; | 2649 return; |
2653 } | 2650 } |
2654 | 2651 |
2655 blist = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 2652 blist = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
2656 | |
2657 gtk_window_set_wmclass(GTK_WINDOW(blist), "buddy_list", "Gaim"); | |
2658 | |
2659 gtk_widget_realize(blist); | |
2660 | 2653 |
2661 gtk_window_set_gravity(GTK_WINDOW(blist), GDK_GRAVITY_STATIC); | 2654 gtk_window_set_gravity(GTK_WINDOW(blist), GDK_GRAVITY_STATIC); |
2662 gtk_window_set_policy(GTK_WINDOW(blist), TRUE, TRUE, TRUE); | 2655 gtk_window_set_policy(GTK_WINDOW(blist), TRUE, TRUE, TRUE); |
2656 gtk_window_set_title(GTK_WINDOW(blist), _("Gaim - Buddy List")); | |
2657 gtk_window_set_wmclass(GTK_WINDOW(blist), "buddy_list", "Gaim"); | |
2658 | |
2659 gtk_widget_realize(blist); | |
2663 | 2660 |
2664 accel = gtk_accel_group_new(); | 2661 accel = gtk_accel_group_new(); |
2665 gtk_window_add_accel_group(G_OBJECT(blist), accel); | 2662 gtk_window_add_accel_group(GTK_WINDOW(blist), accel); |
2666 | 2663 |
2667 menubar = gtk_menu_bar_new(); | 2664 menubar = gtk_menu_bar_new(); |
2668 | 2665 |
2669 menu = gtk_menu_new(); | 2666 menu = gtk_menu_new(); |
2670 gtk_menu_set_accel_group(GTK_MENU(menu), accel); | 2667 gtk_menu_set_accel_group(GTK_MENU(menu), accel); |
2671 | |
2672 | 2668 |
2673 menuitem = gaim_new_item(NULL, _("File")); | 2669 menuitem = gaim_new_item(NULL, _("File")); |
2674 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); | 2670 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); |
2675 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); | 2671 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); |
2676 | 2672 |
2685 | 2681 |
2686 gaim_separator(menu); | 2682 gaim_separator(menu); |
2687 | 2683 |
2688 gaim_new_item_with_pixmap(menu, _("Import Buddy List"), import_small_xpm, | 2684 gaim_new_item_with_pixmap(menu, _("Import Buddy List"), import_small_xpm, |
2689 GTK_SIGNAL_FUNC(import_callback), NULL, 0, 0, 0); | 2685 GTK_SIGNAL_FUNC(import_callback), NULL, 0, 0, 0); |
2690 /*gaim_new_item_with_pixmap(menu, _("Export Buddy List"), export_small_xpm, | 2686 |
2691 GTK_SIGNAL_FUNC(show_export_dialog), 0, 0, 0); */ | |
2692 gaim_separator(menu); | 2687 gaim_separator(menu); |
2688 | |
2693 gaim_new_item_with_pixmap(menu, _("Signoff"), logout_menu_xpm, | 2689 gaim_new_item_with_pixmap(menu, _("Signoff"), logout_menu_xpm, |
2694 GTK_SIGNAL_FUNC(signoff_all), (void*)1, 'd', GDK_CONTROL_MASK, "Ctl+D"); | 2690 GTK_SIGNAL_FUNC(signoff_all), (void*)1, 'd', GDK_CONTROL_MASK, "Ctl+D"); |
2695 | |
2696 gaim_new_item_with_pixmap(menu, _("Hide"), close_small_xpm, | 2691 gaim_new_item_with_pixmap(menu, _("Hide"), close_small_xpm, |
2697 GTK_SIGNAL_FUNC(hide_buddy_list), NULL, 'h', GDK_CONTROL_MASK, "Ctl+H"); | 2692 GTK_SIGNAL_FUNC(hide_buddy_list), NULL, 'h', GDK_CONTROL_MASK, "Ctl+H"); |
2698 | |
2699 gaim_new_item_with_pixmap(menu, _("Quit"), exit_small_xpm, | 2693 gaim_new_item_with_pixmap(menu, _("Quit"), exit_small_xpm, |
2700 GTK_SIGNAL_FUNC(do_quit), NULL, 'q', GDK_CONTROL_MASK, "Ctl+Q"); | 2694 GTK_SIGNAL_FUNC(do_quit), NULL, 'q', GDK_CONTROL_MASK, "Ctl+Q"); |
2701 | 2695 |
2702 menu = gtk_menu_new(); | 2696 menu = gtk_menu_new(); |
2703 | 2697 |
2721 gaim_new_item_with_pixmap(menu, _("Accounts"), add_small_xpm, | 2715 gaim_new_item_with_pixmap(menu, _("Accounts"), add_small_xpm, |
2722 GTK_SIGNAL_FUNC(account_editor), NULL, 'a', GDK_CONTROL_MASK, "Ctl+A"); | 2716 GTK_SIGNAL_FUNC(account_editor), NULL, 'a', GDK_CONTROL_MASK, "Ctl+A"); |
2723 #endif | 2717 #endif |
2724 | 2718 |
2725 protomenu = gtk_menu_new(); | 2719 protomenu = gtk_menu_new(); |
2726 menuitem = | 2720 menuitem = gaim_new_item_with_pixmap(menu, _("Protocol Actions"), prefs_small_xpm, NULL, NULL, 0, 0, 0); |
2727 gaim_new_item_with_pixmap(menu, _("Protocol Actions"), prefs_small_xpm, NULL, NULL, 0, 0, 0); | |
2728 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), protomenu); | 2721 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), protomenu); |
2729 do_proto_menu(); | 2722 do_proto_menu(); |
2730 | 2723 |
2731 gaim_new_item_with_pixmap(menu, _("Privacy"), block_small_xpm, | 2724 gaim_new_item_with_pixmap(menu, _("Privacy"), block_small_xpm, |
2732 GTK_SIGNAL_FUNC(show_privacy_options), NULL, 0, 0, 0); | 2725 GTK_SIGNAL_FUNC(show_privacy_options), NULL, 0, 0, 0); |
2742 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); | 2735 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); |
2743 | 2736 |
2744 gaim_new_item_with_pixmap(menu, _("Online Help"), add_small_xpm, GTK_SIGNAL_FUNC(open_url), WEBSITE"documentation.php", GDK_F1, 0, NULL); | 2737 gaim_new_item_with_pixmap(menu, _("Online Help"), add_small_xpm, GTK_SIGNAL_FUNC(open_url), WEBSITE"documentation.php", GDK_F1, 0, NULL); |
2745 gaim_new_item_with_pixmap(menu, _("Debug Window"), search_small_xpm, GTK_SIGNAL_FUNC(clicked_debug), NULL, 0, 0, NULL); | 2738 gaim_new_item_with_pixmap(menu, _("Debug Window"), search_small_xpm, GTK_SIGNAL_FUNC(clicked_debug), NULL, 0, 0, NULL); |
2746 gaim_new_item_with_pixmap(menu, _("About Gaim"), about_small_xpm, GTK_SIGNAL_FUNC(show_about), NULL, GDK_F1, GDK_CONTROL_MASK, NULL); | 2739 gaim_new_item_with_pixmap(menu, _("About Gaim"), about_small_xpm, GTK_SIGNAL_FUNC(show_about), NULL, GDK_F1, GDK_CONTROL_MASK, NULL); |
2747 | |
2748 | 2740 |
2749 gtk_widget_show(menubar); | 2741 gtk_widget_show(menubar); |
2750 | 2742 |
2751 vbox = gtk_vbox_new(FALSE, 0); | 2743 vbox = gtk_vbox_new(FALSE, 0); |
2752 | 2744 |
2775 gtk_widget_show(buddypane); | 2767 gtk_widget_show(buddypane); |
2776 | 2768 |
2777 if (!(blist_options & OPT_BLIST_NO_BUTTONS)) | 2769 if (!(blist_options & OPT_BLIST_NO_BUTTONS)) |
2778 build_imchat_box(TRUE); | 2770 build_imchat_box(TRUE); |
2779 | 2771 |
2780 | |
2781 /* Swing the edit buddy */ | 2772 /* Swing the edit buddy */ |
2782 editpane = gtk_vbox_new(FALSE, 1); | 2773 editpane = gtk_vbox_new(FALSE, 1); |
2783 | |
2784 addbutton = gtk_button_new_with_label(_("Add")); | |
2785 groupbutton = gtk_button_new_with_label(_("Group")); | |
2786 rembutton = gtk_button_new_with_label(_("Remove")); | |
2787 | |
2788 if (misc_options & OPT_MISC_COOL_LOOK) { | |
2789 gtk_button_set_relief(GTK_BUTTON(addbutton), GTK_RELIEF_NONE); | |
2790 gtk_button_set_relief(GTK_BUTTON(groupbutton), GTK_RELIEF_NONE); | |
2791 gtk_button_set_relief(GTK_BUTTON(rembutton), GTK_RELIEF_NONE); | |
2792 } | |
2793 | 2774 |
2794 edittree = gtk_ctree_new(1, 0); | 2775 edittree = gtk_ctree_new(1, 0); |
2795 gtk_ctree_set_line_style(GTK_CTREE(edittree), GTK_CTREE_LINES_SOLID);; | 2776 gtk_ctree_set_line_style(GTK_CTREE(edittree), GTK_CTREE_LINES_SOLID);; |
2796 gtk_ctree_set_expander_style(GTK_CTREE(edittree), GTK_CTREE_EXPANDER_SQUARE); | 2777 gtk_ctree_set_expander_style(GTK_CTREE(edittree), GTK_CTREE_EXPANDER_SQUARE); |
2797 gtk_clist_set_reorderable(GTK_CLIST(edittree), TRUE); | 2778 gtk_clist_set_reorderable(GTK_CLIST(edittree), TRUE); |
2807 | 2788 |
2808 | 2789 |
2809 bbox = gtk_hbox_new(TRUE, 5); | 2790 bbox = gtk_hbox_new(TRUE, 5); |
2810 gtk_container_set_border_width(GTK_CONTAINER(bbox), 5); | 2791 gtk_container_set_border_width(GTK_CONTAINER(bbox), 5); |
2811 tbox = gtk_scrolled_window_new(NULL, NULL); | 2792 tbox = gtk_scrolled_window_new(NULL, NULL); |
2812 /* Put the buttons in the box */ | 2793 |
2794 /* buttons */ | |
2795 addbutton = gtk_button_new_with_label(_("Add")); | |
2796 groupbutton = gtk_button_new_with_label(_("Group")); | |
2797 rembutton = gtk_button_new_with_label(_("Remove")); | |
2798 | |
2799 if (misc_options & OPT_MISC_COOL_LOOK) { | |
2800 gtk_button_set_relief(GTK_BUTTON(addbutton), GTK_RELIEF_NONE); | |
2801 gtk_button_set_relief(GTK_BUTTON(groupbutton), GTK_RELIEF_NONE); | |
2802 gtk_button_set_relief(GTK_BUTTON(rembutton), GTK_RELIEF_NONE); | |
2803 } | |
2804 | |
2813 gtk_box_pack_start(GTK_BOX(bbox), addbutton, TRUE, TRUE, 0); | 2805 gtk_box_pack_start(GTK_BOX(bbox), addbutton, TRUE, TRUE, 0); |
2814 gtk_box_pack_start(GTK_BOX(bbox), groupbutton, TRUE, TRUE, 0); | 2806 gtk_box_pack_start(GTK_BOX(bbox), groupbutton, TRUE, TRUE, 0); |
2815 gtk_box_pack_start(GTK_BOX(bbox), rembutton, TRUE, TRUE, 0); | 2807 gtk_box_pack_start(GTK_BOX(bbox), rembutton, TRUE, TRUE, 0); |
2816 | 2808 |
2817 gtk_tooltips_set_tip(tips, addbutton, _("Add a new Buddy"), "Penguin"); | 2809 gtk_tooltips_set_tip(tips, addbutton, _("Add a new Buddy"), "Penguin"); |
2818 gtk_tooltips_set_tip(tips, groupbutton, _("Add a new Group"), "Penguin"); | 2810 gtk_tooltips_set_tip(tips, groupbutton, _("Add a new Group"), "Penguin"); |
2819 gtk_tooltips_set_tip(tips, rembutton, _("Remove selected Buddy/Group"), "Penguin"); | 2811 gtk_tooltips_set_tip(tips, rembutton, _("Remove selected Buddy/Group"), "Penguin"); |
2820 | 2812 |
2813 g_signal_connect(G_OBJECT(rembutton), "clicked", G_CALLBACK(do_del_buddy), edittree); | |
2814 g_signal_connect(G_OBJECT(addbutton), "clicked", G_CALLBACK(add_buddy_callback), NULL); | |
2815 g_signal_connect(G_OBJECT(groupbutton), "clicked", G_CALLBACK(add_group_callback), NULL); | |
2816 | |
2821 /* And the boxes in the box */ | 2817 /* And the boxes in the box */ |
2822 gtk_box_pack_start(GTK_BOX(editpane), tbox, TRUE, TRUE, 0); | 2818 gtk_box_pack_start(GTK_BOX(editpane), tbox, TRUE, TRUE, 0); |
2823 gtk_box_pack_start(GTK_BOX(editpane), bbox, FALSE, FALSE, 0); | 2819 gtk_box_pack_start(GTK_BOX(editpane), bbox, FALSE, FALSE, 0); |
2824 | |
2825 /* Handle closes right */ | |
2826 | |
2827 | |
2828 | 2820 |
2829 /* Finish up */ | 2821 /* Finish up */ |
2830 gtk_widget_show(addbutton); | 2822 gtk_widget_show(addbutton); |
2831 gtk_widget_show(groupbutton); | 2823 gtk_widget_show(groupbutton); |
2832 gtk_widget_show(rembutton); | 2824 gtk_widget_show(rembutton); |
2833 gtk_widget_show(edittree); | 2825 gtk_widget_show(edittree); |
2834 gtk_widget_show(tbox); | 2826 gtk_widget_show(tbox); |
2835 gtk_widget_show(bbox); | 2827 gtk_widget_show(bbox); |
2836 gtk_widget_show(editpane); | 2828 gtk_widget_show(editpane); |
2837 | 2829 |
2838 | |
2839 | |
2840 update_button_pix(); | 2830 update_button_pix(); |
2841 | |
2842 | |
2843 | 2831 |
2844 label = gtk_label_new(_("Online")); | 2832 label = gtk_label_new(_("Online")); |
2845 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), buddypane, label); | 2833 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), buddypane, label); |
2846 label = gtk_label_new(_("Edit Buddies")); | 2834 label = gtk_label_new(_("Edit Buddies")); |
2847 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), editpane, label); | 2835 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), editpane, label); |
2851 | 2839 |
2852 gtk_widget_show_all(notebook); | 2840 gtk_widget_show_all(notebook); |
2853 | 2841 |
2854 /* Pack things in the vbox */ | 2842 /* Pack things in the vbox */ |
2855 gtk_widget_show(vbox); | 2843 gtk_widget_show(vbox); |
2856 | |
2857 | |
2858 gtk_widget_show(notebook); | |
2859 | |
2860 /* Enable buttons */ | |
2861 | |
2862 gtk_signal_connect(GTK_OBJECT(rembutton), "clicked", GTK_SIGNAL_FUNC(do_del_buddy), edittree); | |
2863 gtk_signal_connect(GTK_OBJECT(addbutton), "clicked", GTK_SIGNAL_FUNC(add_buddy_callback), NULL); | |
2864 gtk_signal_connect(GTK_OBJECT(groupbutton), "clicked", GTK_SIGNAL_FUNC(add_group_callback), | |
2865 NULL); | |
2866 gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0); | 2844 gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0); |
2867 gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); | 2845 gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); |
2868 | |
2869 gtk_container_add(GTK_CONTAINER(blist), vbox); | 2846 gtk_container_add(GTK_CONTAINER(blist), vbox); |
2870 | 2847 |
2871 gtk_signal_connect(GTK_OBJECT(blist), "delete_event", GTK_SIGNAL_FUNC(close_buddy_list), | 2848 g_signal_connect(G_OBJECT(blist), "delete_event", G_CALLBACK(close_buddy_list), NULL); |
2872 NULL); | 2849 g_signal_connect(G_OBJECT(blist), "configure_event", G_CALLBACK(configure_blist_window), NULL); |
2873 | 2850 g_signal_connect(G_OBJECT(blist), "window_state_event", G_CALLBACK(change_state_blist_window), NULL); |
2874 gtk_signal_connect(GTK_OBJECT(blist), "configure_event", GTK_SIGNAL_FUNC(configure_blist_window), | |
2875 NULL); | |
2876 gtk_signal_connect(GTK_OBJECT(blist), "window_state_event", GTK_SIGNAL_FUNC(change_state_blist_window), | |
2877 NULL); | |
2878 | |
2879 | |
2880 | 2851 |
2881 /* The edit tree */ | 2852 /* The edit tree */ |
2882 gtk_container_add(GTK_CONTAINER(tbox), edittree); | 2853 gtk_container_add(GTK_CONTAINER(tbox), edittree); |
2883 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tbox), | 2854 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tbox), |
2884 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | 2855 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
2885 | 2856 } |
2886 | 2857 |
2887 gtk_window_set_title(GTK_WINDOW(blist), _("Gaim - Buddy List")); | 2858 void show_buddy_list() |
2888 | 2859 { |
2889 /* this conveniently moves it to the right place and stuff */ | 2860 make_buddy_list(); |
2890 unhide_buddy_list(); | 2861 unhide_buddy_list(); |
2891 } | |
2892 | |
2893 void refresh_buddy_window() | |
2894 { | |
2895 build_edit_tree(); | 2862 build_edit_tree(); |
2896 | |
2897 update_button_pix(); | 2863 update_button_pix(); |
2898 gtk_widget_show(blist); | 2864 } |
2899 } |