Mercurial > pidgin.yaz
diff pidgin/gtkaccount.c @ 18020:3c4811489e30
propagate from branch 'im.pidgin.rlaager.merging.for_2_1_0' (head 24ee3feb7b0e68036eebb50b90278e581fea942a)
to branch 'im.pidgin.pidgin.2.1.0' (head 996b7212bd0ff741b6d317a46490f9e903bd624d)
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Mon, 28 May 2007 08:06:28 +0000 |
parents | 92c3c2eeba87 3e611b1b379c |
children | 92e27556160c |
line wrap: on
line diff
--- a/pidgin/gtkaccount.c Sun May 20 18:40:58 2007 +0000 +++ b/pidgin/gtkaccount.c Mon May 28 08:06:28 2007 +0000 @@ -388,6 +388,8 @@ GtkWidget *hbox; GtkWidget *vbox; GtkWidget *entry; + GtkWidget *menu; + GtkWidget *item; GList *user_splits; GList *l, *l2; char *username = NULL; @@ -474,7 +476,7 @@ GtkWidget *entry = l->data; PurpleAccountUserSplit *split = l2->data; - const char *value = NULL; + const char *value = NULL, *protocol = NULL; char *c; if (dialog->account != NULL) { @@ -488,10 +490,17 @@ value = c; } } - if (value == NULL) value = purple_account_user_split_get_default_value(split); + /* Google Talk default domain hackery! */ + menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); + item = gtk_menu_get_active(GTK_MENU(menu)); + protocol = g_object_get_data(G_OBJECT(item), "protocol"); + if (value == NULL && !strcmp(protocol, "prpl-fake") && + !strcmp(purple_account_user_split_get_text(split), _("Domain"))) + value = "gmail.com"; + if (value != NULL) gtk_entry_set_text(GTK_ENTRY(entry), value); } @@ -680,7 +689,7 @@ { PurpleAccountOption *option; PurpleAccount *account; - GtkWidget *frame, *vbox, *check, *entry, *combo; + GtkWidget *frame, *vbox, *check, *entry, *combo, *menu, *item; const GList *list, *node; gint i, idx, int_value; GtkListStore *model; @@ -690,7 +699,7 @@ GList *l; char buf[1024]; char *title; - const char *str_value; + const char *str_value, *protocol; gboolean bool_value; if (dialog->protocol_frame != NULL) { @@ -813,6 +822,14 @@ gtk_entry_set_invisible_char(GTK_ENTRY(entry), PIDGIN_INVISIBLE_CHAR); } + /* Google Talk default domain hackery! */ + menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); + item = gtk_menu_get_active(GTK_MENU(menu)); + protocol = g_object_get_data(G_OBJECT(item), "protocol"); + if (str_value == NULL && !strcmp(protocol, "prpl-fake") && + !strcmp(_("Connect server"), purple_account_option_get_text(option))) + str_value = "talk.google.com"; + if (str_value != NULL) gtk_entry_set_text(GTK_ENTRY(entry), str_value);