# HG changeset patch # User Eric Warmenhoven # Date 985950813 0 # Node ID 0f7d2284296f4ddc1deb2f256f27f51c169ae768 # Parent 88e72116639dabe64143d39fdfbfe4d36df02e56 [gaim-migrate @ 1673] good fixes. committer: Tailor Script diff -r 88e72116639d -r 0f7d2284296f src/buddy.c --- a/src/buddy.c Fri Mar 30 10:50:06 2001 +0000 +++ b/src/buddy.c Fri Mar 30 11:13:33 2001 +0000 @@ -1053,6 +1053,8 @@ struct group *add_group(struct gaim_connection *gc, char *group) { + GtkCTreeNode *c = NULL, *p; + char *text[1]; struct group *g = find_group(gc, group); if (g) return g; @@ -1069,7 +1071,12 @@ if (!blist) return g; - build_edit_tree(); + c = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, gc); + text[0] = g->name; + p = gtk_ctree_insert_node(GTK_CTREE(edittree), c, + NULL, text, 5, NULL, NULL, + NULL, NULL, 0, 1); + gtk_ctree_node_set_row_data(GTK_CTREE(edittree), p, g); if (!(display_options & OPT_DISP_NO_MT_GRP) && !find_group_show(group)) new_group_show(group); diff -r 88e72116639d -r 0f7d2284296f src/conversation.c --- a/src/conversation.c Fri Mar 30 10:50:06 2001 +0000 +++ b/src/conversation.c Fri Mar 30 11:13:33 2001 +0000 @@ -1722,36 +1722,43 @@ { int dispstyle = set_dispstyle(0); GtkWidget *parent = c->add->parent; - gtk_widget_destroy(c->add); + gboolean rebuild = FALSE; if (find_buddy(c->gc, c->name)) { - c->add = picture_button2(c->window, _("Remove"), gnome_remove_xpm, dispstyle); - - if (c->gc) - { + if (!gtk_object_get_user_data(GTK_OBJECT(c->add))) { + gtk_widget_destroy(c->add); + c->add = picture_button2(c->window, _("Remove"), gnome_remove_xpm, dispstyle); + rebuild = TRUE; + } + if (c->gc) { if (c->gc->prpl->remove_buddy == NULL) gtk_widget_set_sensitive(c->add, FALSE); else gtk_widget_set_sensitive(c->add, TRUE); - } + } else + gtk_widget_set_sensitive(c->add, FALSE); + gtk_object_set_user_data(GTK_OBJECT(c->add), c); } else { - c->add = picture_button2(c->window, _("Add"), gnome_add_xpm, dispstyle); - if (c->gc) - { + if (gtk_object_get_user_data(GTK_OBJECT(c->add))) { + gtk_widget_destroy(c->add); + c->add = picture_button2(c->window, _("Add"), gnome_add_xpm, dispstyle); + rebuild = TRUE; + } + if (c->gc) { if (c->gc->prpl->add_buddy == NULL) gtk_widget_set_sensitive(c->add, FALSE); else gtk_widget_set_sensitive(c->add, TRUE); - } + } else + gtk_widget_set_sensitive(c->add, FALSE); } - if (!c->gc) - gtk_widget_set_sensitive(c->add, FALSE); - - gtk_signal_connect(GTK_OBJECT(c->add), "clicked", GTK_SIGNAL_FUNC(add_callback), c); - gtk_box_pack_end(GTK_BOX(parent), c->add, dispstyle, dispstyle, 0); - gtk_box_reorder_child(GTK_BOX(parent), c->add, 2); - gtk_widget_show(c->add); + if (rebuild) { + gtk_signal_connect(GTK_OBJECT(c->add), "clicked", GTK_SIGNAL_FUNC(add_callback), c); + gtk_box_pack_end(GTK_BOX(parent), c->add, dispstyle, dispstyle, 0); + gtk_box_reorder_child(GTK_BOX(parent), c->add, 2); + gtk_widget_show(c->add); + } } static void create_convo_menu(struct conversation *cnv) @@ -2050,9 +2057,10 @@ gtk_box_pack_end(GTK_BOX(bbox), c->sep1, dispstyle, dispstyle, 0); gtk_widget_show(c->sep1); - if (c->gc && find_buddy(c->gc, c->name) != NULL) - add = picture_button2(win, _("Remove"), gnome_remove_xpm, dispstyle); - else + if (c->gc && find_buddy(c->gc, c->name) != NULL) { + add = picture_button2(win, _("Remove"), gnome_remove_xpm, dispstyle); + gtk_object_set_user_data(GTK_OBJECT(add), c); + } else add = picture_button2(win, _("Add"), gnome_add_xpm, dispstyle); c->add = add; gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(add_callback), c); diff -r 88e72116639d -r 0f7d2284296f src/dialogs.c --- a/src/dialogs.c Fri Mar 30 10:50:06 2001 +0000 +++ b/src/dialogs.c Fri Mar 30 11:13:33 2001 +0000 @@ -804,8 +804,6 @@ if (a->gc) add_group(a->gc, grp); else if (connections) add_group(connections->data, grp); - build_edit_tree(); - do_export( (GtkWidget *) NULL, 0 ); destroy_dialog(NULL, a->window); diff -r 88e72116639d -r 0f7d2284296f src/toc.c --- a/src/toc.c Fri Mar 30 10:50:06 2001 +0000 +++ b/src/toc.c Fri Mar 30 11:13:33 2001 +0000 @@ -135,7 +135,7 @@ gc = new_gaim_conn(user); gc->proto_data = tdt = g_new0(struct toc_data, 1); - g_snprintf(buf, sizeof buf, "Lookin up %s", + g_snprintf(buf, sizeof buf, "Looking up %s", user->proto_opt[USEROPT_AUTH][0] ? user->proto_opt[USEROPT_AUTH] : TOC_HOST); /* this is such a hack */ set_login_progress(gc, 1, buf);