Mercurial > pidgin.yaz
comparison src/server.c @ 3348:dd34e0b40fed
[gaim-migrate @ 3367]
Support for server-side synchronization on group rename. (Thanks, Mark
Doliner)
committer: Tailor Script <tailor@pidgin.im>
author | Jim Seymour <jseymour> |
---|---|
date | Sun, 07 Jul 2002 14:31:57 +0000 |
parents | e102d1629c71 |
children | 8fa61405af2b |
comparison
equal
deleted
inserted
replaced
3347:d651e743ac64 | 3348:dd34e0b40fed |
---|---|
310 if(b->gc == og->gc && b->gc == ng->gc && ng->gc == og->gc) { | 310 if(b->gc == og->gc && b->gc == ng->gc && ng->gc == og->gc) { |
311 if(b->gc->prpl && b->gc->prpl->group_buddy) { | 311 if(b->gc->prpl && b->gc->prpl->group_buddy) { |
312 b->gc->prpl->group_buddy(b->gc, b->name, og->name, ng->name); | 312 b->gc->prpl->group_buddy(b->gc, b->name, og->name, ng->name); |
313 } | 313 } |
314 } | 314 } |
315 } | |
316 } | |
317 | |
318 /* | |
319 * Rename a group on server roster/list. | |
320 */ | |
321 void serv_rename_group(struct gaim_connection *g, struct group *old_group, char *new_name) | |
322 { | |
323 if (g && g->prpl && old_group && new_name) { | |
324 GList *tobemoved = NULL; | |
325 GSList *original; | |
326 | |
327 for (original=old_group->members; original; original=g_slist_next(original)) | |
328 tobemoved = g_list_append(tobemoved, ((struct buddy *)original->data)->name); | |
329 | |
330 if (g->prpl->rename_group) { | |
331 /* prpl's might need to check if the group already | |
332 * exists or not, and handle that differently */ | |
333 g->prpl->rename_group(g, old_group->name, new_name, tobemoved); | |
334 } else { | |
335 serv_remove_buddies(g, tobemoved, old_group->name); | |
336 serv_add_buddies(g, tobemoved); | |
337 } | |
338 | |
339 g_list_free(tobemoved); | |
315 } | 340 } |
316 } | 341 } |
317 | 342 |
318 void serv_add_permit(struct gaim_connection *g, char *name) | 343 void serv_add_permit(struct gaim_connection *g, char *name) |
319 { | 344 { |