diff src/buddy.c @ 1699:644056e095f1

[gaim-migrate @ 1709] adding a buddy doesn't cause a redraw of the edit buddies tab committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Thu, 12 Apr 2001 01:03:56 +0000
parents bea407767ac1
children 9b86520e04ac
line wrap: on
line diff
--- a/src/buddy.c	Wed Apr 11 20:33:48 2001 +0000
+++ b/src/buddy.c	Thu Apr 12 01:03:56 2001 +0000
@@ -909,8 +909,6 @@
 						add_buddy(pc, g->name, b->name, b->show);
 					mem = mem->next;
 				}
-				
-				build_edit_tree();
 			}
 		} else {
 			g = group;
@@ -1016,6 +1014,9 @@
 
 struct buddy *add_buddy(struct gaim_connection *gc, char *group, char *buddy, char *show)
 {
+        GtkCTreeNode *p = NULL, *n;
+	char *text[1];
+	char buf[256];
 	struct buddy *b;
 	struct group *g;
 	struct group_show *gs = find_group_show(group);
@@ -1046,6 +1047,19 @@
 	b->caps = 0;
 
 	if (gs) update_num_group(gs);
+
+	if (!blist) return b;
+
+	p = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, g);
+	if (strcmp(b->name, b->show)) {
+		g_snprintf(buf, sizeof(buf), "%s (%s)", b->name, b->show);
+		text[0] = buf;
+	} else
+		text[0] = b->name;
+
+	n = gtk_ctree_insert_node(GTK_CTREE(edittree), p, NULL, text, 5,
+				  NULL, NULL, NULL, NULL, 1, 1);
+	gtk_ctree_node_set_row_data(GTK_CTREE(edittree), n, b);
 			
 	return b;
 }
@@ -2660,9 +2674,6 @@
 		if (bud != NULL)
 			serv_add_buddies(gc, bud);
 		serv_set_permit_deny(gc);
-		if (blist) {
-			build_edit_tree();
-		}
 	}
 
 	/* perhaps the server dropped the buddy list, try importing from