Mercurial > pidgin
comparison src/dialogs.c @ 4785:1e28e7d802a1
[gaim-migrate @ 5105]
fix a few things, get rid of a few stale functions, and get rid of the
compatibility functions. wee!
committer: Tailor Script <tailor@pidgin.im>
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Sat, 15 Mar 2003 03:23:30 +0000 |
| parents | 66be56dc86cb |
| children | 5939d3d13ab3 |
comparison
equal
deleted
inserted
replaced
| 4784:b1365291f002 | 4785:1e28e7d802a1 |
|---|---|
| 933 static GList *groups_tree(struct gaim_connection *gc) | 933 static GList *groups_tree(struct gaim_connection *gc) |
| 934 { | 934 { |
| 935 GList *tmp = NULL; | 935 GList *tmp = NULL; |
| 936 char *tmp2; | 936 char *tmp2; |
| 937 struct group *g; | 937 struct group *g; |
| 938 GSList *grp = gaim_blist_groups(); | 938 |
| 939 GSList *grp1 = grp; | 939 GaimBlistNode *gnode = gaim_get_blist()->root; |
| 940 | 940 |
| 941 if (!grp) { | 941 if (!gnode) { |
| 942 tmp2 = g_strdup(_("Buddies")); | 942 tmp2 = g_strdup(_("Buddies")); |
| 943 tmp = g_list_append(tmp, tmp2); | 943 tmp = g_list_append(tmp, tmp2); |
| 944 } else { | 944 } else { |
| 945 while (grp1) { | 945 while (gnode) { |
| 946 g = (struct group *)grp1->data; | 946 if(GAIM_BLIST_NODE_IS_GROUP(gnode)) { |
| 947 tmp2 = g->name; | 947 g = (struct group *)gnode; |
| 948 tmp = g_list_append(tmp, tmp2); | 948 tmp2 = g->name; |
| 949 grp1 = g_slist_next(grp1); | 949 tmp = g_list_append(tmp, tmp2); |
| 950 } | |
| 951 gnode = gnode->next; | |
| 950 } | 952 } |
| 951 g_slist_free(grp); | |
| 952 } | 953 } |
| 953 return tmp; | 954 return tmp; |
| 954 } | 955 } |
| 955 | 956 |
| 956 static void free_dialog(GtkWidget *w, struct addbuddy *a) | 957 static void free_dialog(GtkWidget *w, struct addbuddy *a) |
| 3995 | 3996 |
| 3996 static void do_rename_buddy(GObject *obj, GtkWidget *entry) | 3997 static void do_rename_buddy(GObject *obj, GtkWidget *entry) |
| 3997 { | 3998 { |
| 3998 const char *new_name; | 3999 const char *new_name; |
| 3999 struct buddy *b; | 4000 struct buddy *b; |
| 4000 GSList *gr, *gr1; | |
| 4001 | 4001 |
| 4002 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); | 4002 new_name = gtk_entry_get_text(GTK_ENTRY(entry)); |
| 4003 b = g_object_get_data(obj, "buddy"); | 4003 b = g_object_get_data(obj, "buddy"); |
| 4004 | 4004 |
| 4005 if (!g_slist_find(connections, b->account->gc)) { | 4005 if (!g_slist_find(connections, b->account->gc)) { |
| 4006 destroy_dialog(rename_bud_dialog, rename_bud_dialog); | 4006 destroy_dialog(rename_bud_dialog, rename_bud_dialog); |
| 4007 return; | 4007 return; |
| 4008 } | 4008 } |
| 4009 | 4009 |
| 4010 gr = gaim_blist_groups(); | |
| 4011 gr1 = gr; | |
| 4012 while (gr1) { | |
| 4013 GSList *mem = gaim_blist_members((struct group*)gr->data); | |
| 4014 if (g_slist_find(mem, b)) | |
| 4015 break; | |
| 4016 gr1 = gr1->next; | |
| 4017 g_slist_free(mem); | |
| 4018 } | |
| 4019 g_slist_free(gr); | |
| 4020 if (!gr) { | |
| 4021 destroy_dialog(rename_bud_dialog, rename_bud_dialog); | |
| 4022 return; | |
| 4023 } | |
| 4024 | |
| 4025 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { | 4010 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { |
| 4026 struct group *g = gaim_find_buddys_group(b); | 4011 struct group *g = gaim_find_buddys_group(b); |
| 4027 char *prevname = g_strdup(b->name); | 4012 char *prevname = b->name; |
| 4028 if (g) | 4013 if (g) |
| 4029 serv_remove_buddy(b->account->gc, b->name, g->name); | 4014 serv_remove_buddy(b->account->gc, b->name, g->name); |
| 4030 g_snprintf(b->name, sizeof(b->name), "%s", new_name); | 4015 b->name = g_strdup(new_name); |
| 4031 serv_add_buddy(b->account->gc, b->name); | 4016 serv_add_buddy(b->account->gc, b->name); |
| 4032 gaim_blist_rename_buddy(b, prevname); | 4017 gaim_blist_rename_buddy(b, prevname); |
| 4033 gaim_blist_save(); | 4018 gaim_blist_save(); |
| 4034 g_free(prevname); | 4019 g_free(prevname); |
| 4035 } | 4020 } |
