From: Eric W. <war...@us...> - 2001-10-23 04:54:47
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv21652/src Modified Files: buddy.c conversation.c dialogs.c prpl.c prpl.h ui.h Log Message: add Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.256 retrieving revision 1.257 diff -u -d -r1.256 -r1.257 --- buddy.c 2001/10/22 00:58:13 1.256 +++ buddy.c 2001/10/23 04:54:44 1.257 @@ -1310,7 +1310,7 @@ gc = (struct gaim_connection *)type; } } - show_add_buddy(gc, NULL, grp); + show_add_buddy(gc, NULL, grp, NULL); } Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.284 retrieving revision 1.285 diff -u -d -r1.284 -r1.285 --- conversation.c 2001/10/19 08:01:41 1.284 +++ conversation.c 2001/10/23 04:54:45 1.285 @@ -547,7 +547,7 @@ update_convo_add_button(c); } else { if (c->gc) - show_add_buddy(c->gc, c->name, NULL); + show_add_buddy(c->gc, c->name, NULL, NULL); } gtk_widget_grab_focus(c->entry); Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.269 retrieving revision 1.270 diff -u -d -r1.269 -r1.270 --- dialogs.c 2001/10/22 21:05:27 1.269 +++ dialogs.c 2001/10/23 04:54:45 1.270 @@ -869,7 +869,7 @@ } -void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group) +void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group, char *alias) { GtkWidget *mainbox; GtkWidget *frame; @@ -922,6 +922,8 @@ a->entry_for_alias = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); + if (alias != NULL) + gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias); label = gtk_label_new(_("Group")); gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); Index: prpl.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prpl.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- prpl.c 2001/10/19 21:27:07 1.42 +++ prpl.c 2001/10/23 04:54:45 1.43 @@ -529,3 +529,47 @@ *len = 0; return NULL; } + +struct got_add { + struct gaim_connection *gc; + char *who; + char *alias; +}; + +static void dont_add(gpointer x, struct got_add *ga) +{ + g_free(ga->who); + if (ga->alias) + g_free(ga->alias); + g_free(ga); +} + +static void do_add(gpointer x, struct got_add *ga) +{ + show_add_buddy(ga->gc, ga->who, NULL, ga->alias); +} + +void show_got_added(struct gaim_connection *gc, const char *id, + const char *who, const char *alias, const char *msg) +{ + char buf[BUF_LONG]; + struct got_add *ga = g_new0(struct got_add, 1); + + ga->gc = gc; + ga->who = g_strdup(who); + ga->alias = alias ? g_strdup(alias) : NULL; + + g_snprintf(buf, sizeof(buf), _("%s%s%s%s has made %s their buddy%s%s%s"), + who, + alias ? " (" : "", + alias ? alias : "", + alias ? ")" : "", + id ? id : gc->displayname[0] ? gc->displayname : gc->username, + msg ? ": " : ".", + msg ? msg : "", + find_buddy(gc, ga->who) ? "" : _("\n\nDo you wish to add them to your buddy list?")); + if (find_buddy(gc, ga->who)) + do_error_dialog(buf, "Added to List"); + else + do_ask_dialog(buf, ga, do_add, dont_add); +} Index: prpl.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/prpl.h,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- prpl.h 2001/10/18 20:56:59 1.52 +++ prpl.h 2001/10/23 04:54:45 1.53 @@ -160,6 +160,9 @@ extern struct prpl *find_prpl(int); extern void do_proto_menu(); +extern void show_got_added(struct gaim_connection *, const char *, + const char *, const char *, const char *); + extern void do_ask_dialog(const char *, void *, void *, void *); extern void do_prompt_dialog(const char *, const char *, void *, void *, void *); Index: ui.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/ui.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- ui.h 2001/10/21 19:01:03 1.13 +++ ui.h 2001/10/23 04:54:45 1.14 @@ -364,7 +364,7 @@ extern void show_warn_dialog(struct gaim_connection *, char *); extern void show_im_dialog(); extern void show_info_dialog(); -extern void show_add_buddy(struct gaim_connection *, char *, char *); +extern void show_add_buddy(struct gaim_connection *, char *, char *, char *); extern void show_add_group(struct gaim_connection *); extern void show_add_perm(struct gaim_connection *, char *, gboolean); extern void destroy_all_dialogs(); |