Mercurial > pidgin
diff gtk/gtkdialogs.c @ 14464:a9f8d3964d62
[gaim-migrate @ 17178]
This commit adds a confirmation dialog to GTKgaim when merging two groups.
committer: Tailor Script <tailor@pidgin.im>
author | Aaron Sheldon <aaronsheldon> |
---|---|
date | Wed, 06 Sep 2006 05:24:13 +0000 |
parents | 289490ee84d1 |
children | 8395297271c6 |
line wrap: on
line diff
--- a/gtk/gtkdialogs.c Wed Sep 06 03:58:53 2006 +0000 +++ b/gtk/gtkdialogs.c Wed Sep 06 05:24:13 2006 +0000 @@ -43,6 +43,11 @@ static GtkWidget *about = NULL; +struct _GaimGroupMergeObject { + GaimGroup* parent; + char *new_name; +}; + struct developer { char *name; char *role; @@ -996,6 +1001,36 @@ } } +void +gaim_gtkdialogs_merge_groups_cb(struct _GaimGroupMergeObject *GGP) +{ + gaim_blist_rename_group(GGP->parent, GGP->new_name); +} + +void +gaim_gtkdialogs_merge_groups(GaimGroup *source, const char *new_name) +{ + gchar *text; + struct _GaimGroupMergeObject *ggp; + + g_return_if_fail(source != NULL); + g_return_if_fail(new_name != NULL); + + text = g_strdup_printf( + "You are about to merge the group called %s into the group " + "called %s. Do you want to continue?", source->name, new_name); + + ggp = g_new(struct _GaimGroupMergeObject, 1); + ggp->parent = source; + ggp->new_name = g_strdup(new_name); + + gaim_request_action(source, NULL, _("Merge Groups"), text, 0, ggp, 2, + _("_Merge Groups"), G_CALLBACK(gaim_gtkdialogs_merge_groups_cb), + _("Cancel"), NULL); + + g_free(text); +} + static void gaim_gtkdialogs_remove_group_cb(GaimGroup *group) {