Mercurial > pidgin.yaz
comparison pidgin/gtkaccount.c @ 17284:e88994a3f13b
merge of '64ee7c914990b77a9dc5a39b4cd32209d3b75f7c'
and 'da684d8432437c2aac354655c463487fc9a9b34b'
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Thu, 24 May 2007 20:49:50 +0000 |
parents | 3e611b1b379c |
children | f9e93d404efc 8bc2b7ec45c1 3c4811489e30 |
comparison
equal
deleted
inserted
replaced
17283:f01ffb3ea78f | 17284:e88994a3f13b |
---|---|
386 { | 386 { |
387 GtkWidget *frame; | 387 GtkWidget *frame; |
388 GtkWidget *hbox; | 388 GtkWidget *hbox; |
389 GtkWidget *vbox; | 389 GtkWidget *vbox; |
390 GtkWidget *entry; | 390 GtkWidget *entry; |
391 GtkWidget *menu; | |
392 GtkWidget *item; | |
391 GList *user_splits; | 393 GList *user_splits; |
392 GList *l, *l2; | 394 GList *l, *l2; |
393 char *username = NULL; | 395 char *username = NULL; |
394 | 396 |
395 if (dialog->protocol_menu != NULL) | 397 if (dialog->protocol_menu != NULL) |
472 l != NULL && l2 != NULL; | 474 l != NULL && l2 != NULL; |
473 l = l->prev, l2 = l2->prev) { | 475 l = l->prev, l2 = l2->prev) { |
474 | 476 |
475 GtkWidget *entry = l->data; | 477 GtkWidget *entry = l->data; |
476 PurpleAccountUserSplit *split = l2->data; | 478 PurpleAccountUserSplit *split = l2->data; |
477 const char *value = NULL; | 479 const char *value = NULL, *protocol = NULL; |
478 char *c; | 480 char *c; |
479 | 481 |
480 if (dialog->account != NULL) { | 482 if (dialog->account != NULL) { |
481 c = strrchr(username, | 483 c = strrchr(username, |
482 purple_account_user_split_get_separator(split)); | 484 purple_account_user_split_get_separator(split)); |
486 c++; | 488 c++; |
487 | 489 |
488 value = c; | 490 value = c; |
489 } | 491 } |
490 } | 492 } |
491 | |
492 if (value == NULL) | 493 if (value == NULL) |
493 value = purple_account_user_split_get_default_value(split); | 494 value = purple_account_user_split_get_default_value(split); |
495 | |
496 /* Google Talk default domain hackery! */ | |
497 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); | |
498 item = gtk_menu_get_active(GTK_MENU(menu)); | |
499 protocol = g_object_get_data(G_OBJECT(item), "protocol"); | |
500 if (value == NULL && !strcmp(protocol, "prpl-fake") && | |
501 !strcmp(purple_account_user_split_get_text(split), _("Domain"))) | |
502 value = "gmail.com"; | |
494 | 503 |
495 if (value != NULL) | 504 if (value != NULL) |
496 gtk_entry_set_text(GTK_ENTRY(entry), value); | 505 gtk_entry_set_text(GTK_ENTRY(entry), value); |
497 } | 506 } |
498 | 507 |
678 static void | 687 static void |
679 add_protocol_options(AccountPrefsDialog *dialog, GtkWidget *parent) | 688 add_protocol_options(AccountPrefsDialog *dialog, GtkWidget *parent) |
680 { | 689 { |
681 PurpleAccountOption *option; | 690 PurpleAccountOption *option; |
682 PurpleAccount *account; | 691 PurpleAccount *account; |
683 GtkWidget *frame, *vbox, *check, *entry, *combo; | 692 GtkWidget *frame, *vbox, *check, *entry, *combo, *menu, *item; |
684 const GList *list, *node; | 693 const GList *list, *node; |
685 gint i, idx, int_value; | 694 gint i, idx, int_value; |
686 GtkListStore *model; | 695 GtkListStore *model; |
687 GtkTreeIter iter; | 696 GtkTreeIter iter; |
688 GtkCellRenderer *renderer; | 697 GtkCellRenderer *renderer; |
689 PurpleKeyValuePair *kvp; | 698 PurpleKeyValuePair *kvp; |
690 GList *l; | 699 GList *l; |
691 char buf[1024]; | 700 char buf[1024]; |
692 char *title; | 701 char *title; |
693 const char *str_value; | 702 const char *str_value, *protocol; |
694 gboolean bool_value; | 703 gboolean bool_value; |
695 | 704 |
696 if (dialog->protocol_frame != NULL) { | 705 if (dialog->protocol_frame != NULL) { |
697 gtk_widget_destroy(dialog->protocol_frame); | 706 gtk_widget_destroy(dialog->protocol_frame); |
698 dialog->protocol_frame = NULL; | 707 dialog->protocol_frame = NULL; |
811 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | 820 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
812 if (gtk_entry_get_invisible_char(GTK_ENTRY(entry)) == '*') | 821 if (gtk_entry_get_invisible_char(GTK_ENTRY(entry)) == '*') |
813 gtk_entry_set_invisible_char(GTK_ENTRY(entry), PIDGIN_INVISIBLE_CHAR); | 822 gtk_entry_set_invisible_char(GTK_ENTRY(entry), PIDGIN_INVISIBLE_CHAR); |
814 } | 823 } |
815 | 824 |
825 /* Google Talk default domain hackery! */ | |
826 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); | |
827 item = gtk_menu_get_active(GTK_MENU(menu)); | |
828 protocol = g_object_get_data(G_OBJECT(item), "protocol"); | |
829 if (str_value == NULL && !strcmp(protocol, "prpl-fake") && | |
830 !strcmp(_("Connect server"), purple_account_option_get_text(option))) | |
831 str_value = "talk.google.com"; | |
832 | |
816 if (str_value != NULL) | 833 if (str_value != NULL) |
817 gtk_entry_set_text(GTK_ENTRY(entry), str_value); | 834 gtk_entry_set_text(GTK_ENTRY(entry), str_value); |
818 | 835 |
819 title = g_strdup_printf("%s:", | 836 title = g_strdup_printf("%s:", |
820 purple_account_option_get_text(option)); | 837 purple_account_option_get_text(option)); |