comparison pidgin/gtkaccount.c @ 17526:8bc2b7ec45c1

Make sure if some plugin used pidgin_protocol_option_menu_new, they continue to work. Also, fix the google-talk selection.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sun, 27 May 2007 18:31:40 +0000
parents 3e611b1b379c
children a50f0188896b
comparison
equal deleted inserted replaced
17525:be7e6375ce7e 17526:8bc2b7ec45c1
474 l != NULL && l2 != NULL; 474 l != NULL && l2 != NULL;
475 l = l->prev, l2 = l2->prev) { 475 l = l->prev, l2 = l2->prev) {
476 476
477 GtkWidget *entry = l->data; 477 GtkWidget *entry = l->data;
478 PurpleAccountUserSplit *split = l2->data; 478 PurpleAccountUserSplit *split = l2->data;
479 const char *value = NULL, *protocol = NULL; 479 const char *value = NULL;
480 char *c; 480 char *c;
481 481
482 if (dialog->account != NULL) { 482 if (dialog->account != NULL) {
483 c = strrchr(username, 483 c = strrchr(username,
484 purple_account_user_split_get_separator(split)); 484 purple_account_user_split_get_separator(split));
494 value = purple_account_user_split_get_default_value(split); 494 value = purple_account_user_split_get_default_value(split);
495 495
496 /* Google Talk default domain hackery! */ 496 /* Google Talk default domain hackery! */
497 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); 497 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu));
498 item = gtk_menu_get_active(GTK_MENU(menu)); 498 item = gtk_menu_get_active(GTK_MENU(menu));
499 protocol = g_object_get_data(G_OBJECT(item), "protocol"); 499 if (value == NULL && g_object_get_data(G_OBJECT(item), "fake") &&
500 if (value == NULL && !strcmp(protocol, "prpl-fake") &&
501 !strcmp(purple_account_user_split_get_text(split), _("Domain"))) 500 !strcmp(purple_account_user_split_get_text(split), _("Domain")))
502 value = "gmail.com"; 501 value = "gmail.com";
503 502
504 if (value != NULL) 503 if (value != NULL)
505 gtk_entry_set_text(GTK_ENTRY(entry), value); 504 gtk_entry_set_text(GTK_ENTRY(entry), value);
697 GtkCellRenderer *renderer; 696 GtkCellRenderer *renderer;
698 PurpleKeyValuePair *kvp; 697 PurpleKeyValuePair *kvp;
699 GList *l; 698 GList *l;
700 char buf[1024]; 699 char buf[1024];
701 char *title; 700 char *title;
702 const char *str_value, *protocol; 701 const char *str_value;
703 gboolean bool_value; 702 gboolean bool_value;
704 703
705 if (dialog->protocol_frame != NULL) { 704 if (dialog->protocol_frame != NULL) {
706 gtk_widget_destroy(dialog->protocol_frame); 705 gtk_widget_destroy(dialog->protocol_frame);
707 dialog->protocol_frame = NULL; 706 dialog->protocol_frame = NULL;
823 } 822 }
824 823
825 /* Google Talk default domain hackery! */ 824 /* Google Talk default domain hackery! */
826 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); 825 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu));
827 item = gtk_menu_get_active(GTK_MENU(menu)); 826 item = gtk_menu_get_active(GTK_MENU(menu));
828 protocol = g_object_get_data(G_OBJECT(item), "protocol"); 827 if (str_value == NULL && g_object_get_data(G_OBJECT(item), "fake") &&
829 if (str_value == NULL && !strcmp(protocol, "prpl-fake") &&
830 !strcmp(_("Connect server"), purple_account_option_get_text(option))) 828 !strcmp(_("Connect server"), purple_account_option_get_text(option)))
831 str_value = "talk.google.com"; 829 str_value = "talk.google.com";
832 830
833 if (str_value != NULL) 831 if (str_value != NULL)
834 gtk_entry_set_text(GTK_ENTRY(entry), str_value); 832 gtk_entry_set_text(GTK_ENTRY(entry), str_value);
1461 } 1459 }
1462 1460
1463 if ((dialog->plugin = purple_find_prpl(dialog->protocol_id)) != NULL) 1461 if ((dialog->plugin = purple_find_prpl(dialog->protocol_id)) != NULL)
1464 dialog->prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(dialog->plugin); 1462 dialog->prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(dialog->plugin);
1465 1463
1466
1467 dialog->window = win = gtk_window_new(GTK_WINDOW_TOPLEVEL); 1464 dialog->window = win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
1468 gtk_window_set_role(GTK_WINDOW(win), "account"); 1465 gtk_window_set_role(GTK_WINDOW(win), "account");
1469 1466
1470 if (type == PIDGIN_ADD_ACCOUNT_DIALOG) 1467 if (type == PIDGIN_ADD_ACCOUNT_DIALOG)
1471 gtk_window_set_title(GTK_WINDOW(win), _("Add Account")); 1468 gtk_window_set_title(GTK_WINDOW(win), _("Add Account"));