From: Sean E. <sea...@us...> - 2002-09-29 04:48:43
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv16600/src Modified Files: buddy.c multi.c server.c ui.h Log Message: You win, McQueen. Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.339 retrieving revision 1.340 diff -u -d -r1.339 -r1.340 --- buddy.c 29 Sep 2002 04:23:45 -0000 1.339 +++ buddy.c 29 Sep 2002 04:48:40 -0000 1.340 @@ -1993,35 +1993,6 @@ return g; } - -void docklet_toggle() { - /* Useful for the docklet plugin and also for the win32 tray icon*/ - /* This is called when one of those is clicked--it will show/hide the - buddy list/login window--depending on which is active */ - if (connections) { - if (GTK_WIDGET_VISIBLE(blist)) { - if (GAIM_WINDOW_ICONIFIED(blist)) { - unhide_buddy_list(); - } else { - hide_buddy_list(); - } - } else { - unhide_buddy_list(); - } - } else { - if (GTK_WIDGET_VISIBLE(mainwindow)) { - if (GAIM_WINDOW_ICONIFIED(mainwindow)) { - gtk_window_present(GTK_WINDOW(mainwindow)); - } else { - gtk_widget_hide(mainwindow); - } - } else { - gtk_window_present(GTK_WINDOW(mainwindow)); - } - } -} - - /* used by this file, and by iconaway.so */ void hide_buddy_list() { if (blist) { @@ -2072,6 +2043,33 @@ } } +void docklet_toggle() { + /* Useful for the docklet plugin and also for the win32 tray icon*/ + /* This is called when one of those is clicked--it will show/hide the + buddy list/login window--depending on which is active */ + if (connections) { + if (GTK_WIDGET_VISIBLE(blist)) { + if (GAIM_WINDOW_ICONIFIED(blist)) { + unhide_buddy_list(); + } else { + hide_buddy_list(); + } + } else { + unhide_buddy_list(); + } + } else { + if (GTK_WIDGET_VISIBLE(mainwindow)) { + if (GAIM_WINDOW_ICONIFIED(mainwindow)) { + gtk_window_present(GTK_WINDOW(mainwindow)); + } else { + gtk_widget_hide(mainwindow); + } + } else { + gtk_window_present(GTK_WINDOW(mainwindow)); + } + } +} + static gint log_timeout(struct buddy_show *b) { /* this part is really just a bad hack because of a bug I can't find */ @@ -2460,10 +2458,10 @@ } static void change_state_blist_window(GtkWidget *w, GdkEventWindowState *event, void *dummy) { - if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED && - docklet_count) { - gtk_widget_hide(blist); - } + if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED && + docklet_count) { + gtk_widget_hide(blist); + } } /******************************************************************* @@ -2501,7 +2499,7 @@ gtk_widget_add_accelerator(menuitem, "activate", accel, str[0], GDK_MOD1_MASK, GTK_ACCEL_LOCKED); - + return menuitem; } @@ -2625,7 +2623,7 @@ } } -void show_buddy_list() +void make_buddy_list() { /* Build the buddy list, based on *config */ @@ -2648,28 +2646,26 @@ GtkWidget *tbox; if (blist) { - unhide_buddy_list(); return; } blist = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_gravity(GTK_WINDOW(blist), GDK_GRAVITY_STATIC); + gtk_window_set_policy(GTK_WINDOW(blist), TRUE, TRUE, TRUE); + gtk_window_set_title(GTK_WINDOW(blist), _("Gaim - Buddy List")); gtk_window_set_wmclass(GTK_WINDOW(blist), "buddy_list", "Gaim"); gtk_widget_realize(blist); - gtk_window_set_gravity(GTK_WINDOW(blist), GDK_GRAVITY_STATIC); - gtk_window_set_policy(GTK_WINDOW(blist), TRUE, TRUE, TRUE); - accel = gtk_accel_group_new(); - gtk_window_add_accel_group(G_OBJECT(blist), accel); + gtk_window_add_accel_group(GTK_WINDOW(blist), accel); menubar = gtk_menu_bar_new(); menu = gtk_menu_new(); gtk_menu_set_accel_group(GTK_MENU(menu), accel); - menuitem = gaim_new_item(NULL, _("File")); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); @@ -2687,15 +2683,13 @@ gaim_new_item_with_pixmap(menu, _("Import Buddy List"), import_small_xpm, GTK_SIGNAL_FUNC(import_callback), NULL, 0, 0, 0); - /*gaim_new_item_with_pixmap(menu, _("Export Buddy List"), export_small_xpm, - GTK_SIGNAL_FUNC(show_export_dialog), 0, 0, 0); */ + gaim_separator(menu); + gaim_new_item_with_pixmap(menu, _("Signoff"), logout_menu_xpm, GTK_SIGNAL_FUNC(signoff_all), (void*)1, 'd', GDK_CONTROL_MASK, "Ctl+D"); - gaim_new_item_with_pixmap(menu, _("Hide"), close_small_xpm, GTK_SIGNAL_FUNC(hide_buddy_list), NULL, 'h', GDK_CONTROL_MASK, "Ctl+H"); - gaim_new_item_with_pixmap(menu, _("Quit"), exit_small_xpm, GTK_SIGNAL_FUNC(do_quit), NULL, 'q', GDK_CONTROL_MASK, "Ctl+Q"); @@ -2723,8 +2717,7 @@ #endif protomenu = gtk_menu_new(); - menuitem = - gaim_new_item_with_pixmap(menu, _("Protocol Actions"), prefs_small_xpm, NULL, NULL, 0, 0, 0); + menuitem = gaim_new_item_with_pixmap(menu, _("Protocol Actions"), prefs_small_xpm, NULL, NULL, 0, 0, 0); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), protomenu); do_proto_menu(); @@ -2745,7 +2738,6 @@ gaim_new_item_with_pixmap(menu, _("Debug Window"), search_small_xpm, GTK_SIGNAL_FUNC(clicked_debug), NULL, 0, 0, NULL); gaim_new_item_with_pixmap(menu, _("About Gaim"), about_small_xpm, GTK_SIGNAL_FUNC(show_about), NULL, GDK_F1, GDK_CONTROL_MASK, NULL); - gtk_widget_show(menubar); vbox = gtk_vbox_new(FALSE, 0); @@ -2777,20 +2769,9 @@ if (!(blist_options & OPT_BLIST_NO_BUTTONS)) build_imchat_box(TRUE); - /* Swing the edit buddy */ editpane = gtk_vbox_new(FALSE, 1); - addbutton = gtk_button_new_with_label(_("Add")); - groupbutton = gtk_button_new_with_label(_("Group")); - rembutton = gtk_button_new_with_label(_("Remove")); - - if (misc_options & OPT_MISC_COOL_LOOK) { - gtk_button_set_relief(GTK_BUTTON(addbutton), GTK_RELIEF_NONE); - gtk_button_set_relief(GTK_BUTTON(groupbutton), GTK_RELIEF_NONE); - gtk_button_set_relief(GTK_BUTTON(rembutton), GTK_RELIEF_NONE); - } - edittree = gtk_ctree_new(1, 0); gtk_ctree_set_line_style(GTK_CTREE(edittree), GTK_CTREE_LINES_SOLID);; gtk_ctree_set_expander_style(GTK_CTREE(edittree), GTK_CTREE_EXPANDER_SQUARE); @@ -2809,7 +2790,18 @@ bbox = gtk_hbox_new(TRUE, 5); gtk_container_set_border_width(GTK_CONTAINER(bbox), 5); tbox = gtk_scrolled_window_new(NULL, NULL); - /* Put the buttons in the box */ + + /* buttons */ + addbutton = gtk_button_new_with_label(_("Add")); + groupbutton = gtk_button_new_with_label(_("Group")); + rembutton = gtk_button_new_with_label(_("Remove")); + + if (misc_options & OPT_MISC_COOL_LOOK) { + gtk_button_set_relief(GTK_BUTTON(addbutton), GTK_RELIEF_NONE); + gtk_button_set_relief(GTK_BUTTON(groupbutton), GTK_RELIEF_NONE); + gtk_button_set_relief(GTK_BUTTON(rembutton), GTK_RELIEF_NONE); + } + gtk_box_pack_start(GTK_BOX(bbox), addbutton, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(bbox), groupbutton, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(bbox), rembutton, TRUE, TRUE, 0); @@ -2818,14 +2810,14 @@ gtk_tooltips_set_tip(tips, groupbutton, _("Add a new Group"), "Penguin"); gtk_tooltips_set_tip(tips, rembutton, _("Remove selected Buddy/Group"), "Penguin"); + g_signal_connect(G_OBJECT(rembutton), "clicked", G_CALLBACK(do_del_buddy), edittree); + g_signal_connect(G_OBJECT(addbutton), "clicked", G_CALLBACK(add_buddy_callback), NULL); + g_signal_connect(G_OBJECT(groupbutton), "clicked", G_CALLBACK(add_group_callback), NULL); + /* And the boxes in the box */ gtk_box_pack_start(GTK_BOX(editpane), tbox, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(editpane), bbox, FALSE, FALSE, 0); - /* Handle closes right */ - - - /* Finish up */ gtk_widget_show(addbutton); gtk_widget_show(groupbutton); @@ -2835,12 +2827,8 @@ gtk_widget_show(bbox); gtk_widget_show(editpane); - - update_button_pix(); - - label = gtk_label_new(_("Online")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), buddypane, label); label = gtk_label_new(_("Edit Buddies")); @@ -2853,47 +2841,24 @@ /* Pack things in the vbox */ gtk_widget_show(vbox); - - - gtk_widget_show(notebook); - - /* Enable buttons */ - - gtk_signal_connect(GTK_OBJECT(rembutton), "clicked", GTK_SIGNAL_FUNC(do_del_buddy), edittree); - gtk_signal_connect(GTK_OBJECT(addbutton), "clicked", GTK_SIGNAL_FUNC(add_buddy_callback), NULL); - gtk_signal_connect(GTK_OBJECT(groupbutton), "clicked", GTK_SIGNAL_FUNC(add_group_callback), - NULL); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); - gtk_container_add(GTK_CONTAINER(blist), vbox); - gtk_signal_connect(GTK_OBJECT(blist), "delete_event", GTK_SIGNAL_FUNC(close_buddy_list), - NULL); - - gtk_signal_connect(GTK_OBJECT(blist), "configure_event", GTK_SIGNAL_FUNC(configure_blist_window), - NULL); - gtk_signal_connect(GTK_OBJECT(blist), "window_state_event", GTK_SIGNAL_FUNC(change_state_blist_window), - NULL); - - + g_signal_connect(G_OBJECT(blist), "delete_event", G_CALLBACK(close_buddy_list), NULL); + g_signal_connect(G_OBJECT(blist), "configure_event", G_CALLBACK(configure_blist_window), NULL); + g_signal_connect(G_OBJECT(blist), "window_state_event", G_CALLBACK(change_state_blist_window), NULL); /* The edit tree */ gtk_container_add(GTK_CONTAINER(tbox), edittree); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - - gtk_window_set_title(GTK_WINDOW(blist), _("Gaim - Buddy List")); - - /* this conveniently moves it to the right place and stuff */ - unhide_buddy_list(); } -void refresh_buddy_window() +void show_buddy_list() { + make_buddy_list(); + unhide_buddy_list(); build_edit_tree(); - update_button_pix(); - gtk_widget_show(blist); } Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.130 retrieving revision 1.131 diff -u -d -r1.130 -r1.131 --- multi.c 26 Sep 2002 15:23:33 -0000 1.130 +++ multi.c 29 Sep 2002 04:48:40 -0000 1.131 @@ -1132,7 +1132,6 @@ gtk_widget_hide(mainwindow); show_buddy_list(); - refresh_buddy_window(); update_privacy_connections(); do_away_menu(); @@ -1141,8 +1140,11 @@ gaim_setup(gc); gc->user->connecting = FALSE; - connecting_count--; - + if (connecting_count) { + connecting_count--; + } + debug_printf("connecting_count: %d\n", connecting_count); + plugin_event(event_signon, gc); system_log(log_signon, gc, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON); @@ -1439,8 +1441,11 @@ this user was ever on-line or not */ if (gc->user->connecting) { gc->user->connecting = FALSE; - connecting_count--; + if (connecting_count) { + connecting_count--; + } } + debug_printf("connecting_count: %d\n", connecting_count); serv_close(gc); /* more UI stuff */ Index: server.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/server.c,v retrieving revision 1.239 retrieving revision 1.240 diff -u -d -r1.239 -r1.240 --- server.c 16 Sep 2002 20:42:17 -0000 1.239 +++ server.c 29 Sep 2002 04:48:40 -0000 1.240 @@ -56,6 +56,7 @@ debug_printf(PACKAGE " " VERSION " logging in %s using %s\n", user->username, p->name()); user->connecting = TRUE; connecting_count++; + debug_printf("connecting_count: %d\n", connecting_count); plugin_event(event_connecting, user); p->login(user); } Index: ui.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/ui.h,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- ui.h 28 Sep 2002 21:39:45 -0000 1.59 +++ ui.h 29 Sep 2002 04:48:40 -0000 1.60 @@ -31,7 +31,6 @@ #define GAIM_DIALOG(x) x = gtk_window_new(GTK_WINDOW_TOPLEVEL); \ gtk_window_set_type_hint(GTK_WINDOW(x), GDK_WINDOW_TYPE_HINT_DIALOG) - #define GAIM_WINDOW_ICONIFIED(x) (gdk_window_get_state(GTK_WIDGET(x)->window) & GDK_WINDOW_STATE_ICONIFIED) #define DEFAULT_FONT_FACE "Helvetica" @@ -331,7 +330,6 @@ extern void update_all_buddies(); extern void update_num_groups(void); extern void show_buddy_list(); -extern void refresh_buddy_window(); extern void signoff_all(); extern void do_im_back(); extern void set_buddy(struct gaim_connection *, struct buddy *); @@ -349,6 +347,7 @@ extern void unhide_buddy_list(); extern void docklet_add(); extern void docklet_remove(); +extern void docklet_toggle(); /* Functions in buddy_chat.c */ extern void join_chat(); |