comparison pidgin/gtkaccount.c @ 18043:6b7b13adb9b1

propagate from branch 'im.pidgin.pidgin' (head ac83216c7b78e652b47f1fd0bcb91f1eaf2cdf36) to branch 'im.pidgin.pidgin.2.1.0' (head 30a48520e9bc26b0d3914edad456b063cd6cf9fe)
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 04 Jun 2007 23:48:54 +0000
parents 2a6fb7c6d030 38a72d6dce7f
children 58e28ccf08e6
comparison
equal deleted inserted replaced
18036:ee9f7ee0be66 18043:6b7b13adb9b1
182 182
183 label = gtk_label_new_with_mnemonic(text); 183 label = gtk_label_new_with_mnemonic(text);
184 gtk_size_group_add_widget(dialog->sg, label); 184 gtk_size_group_add_widget(dialog->sg, label);
185 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 185 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
186 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 186 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
187 gtk_label_set_mnemonic_widget(GTK_LABEL(label), widget);
187 gtk_widget_show(label); 188 gtk_widget_show(label);
188 189
189 gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, PIDGIN_HIG_BORDER); 190 gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, PIDGIN_HIG_BORDER);
190 gtk_widget_show(widget); 191 gtk_widget_show(widget);
191 pidgin_set_accessible_label (widget, label); 192 pidgin_set_accessible_label (widget, label);
424 dialog->protocol_menu = pidgin_protocol_option_menu_new( 425 dialog->protocol_menu = pidgin_protocol_option_menu_new(
425 dialog->protocol_id, G_CALLBACK(set_account_protocol_cb), dialog); 426 dialog->protocol_id, G_CALLBACK(set_account_protocol_cb), dialog);
426 gtk_widget_ref(dialog->protocol_menu); 427 gtk_widget_ref(dialog->protocol_menu);
427 } 428 }
428 429
429 hbox = add_pref_box(dialog, vbox, _("Protocol:"), dialog->protocol_menu); 430 hbox = add_pref_box(dialog, vbox, _("Pro_tocol:"), dialog->protocol_menu);
430 g_object_set_data(G_OBJECT(dialog->protocol_menu), "container", hbox); 431 g_object_set_data(G_OBJECT(dialog->protocol_menu), "container", hbox);
431 432
432 gtk_widget_unref(dialog->protocol_menu); 433 gtk_widget_unref(dialog->protocol_menu);
433 434
434 /* Screen name */ 435 /* Screen name */
435 dialog->screenname_entry = gtk_entry_new(); 436 dialog->screenname_entry = gtk_entry_new();
436 #if GTK_CHECK_VERSION(2,10,0) 437 #if GTK_CHECK_VERSION(2,10,0)
437 g_object_set(G_OBJECT(dialog->screenname_entry), "truncate-multiline", TRUE, NULL); 438 g_object_set(G_OBJECT(dialog->screenname_entry), "truncate-multiline", TRUE, NULL);
438 #endif 439 #endif
439 440
440 add_pref_box(dialog, vbox, _("Screen name:"), dialog->screenname_entry); 441 add_pref_box(dialog, vbox, _("Screen _name:"), dialog->screenname_entry);
441 442
442 g_signal_connect(G_OBJECT(dialog->screenname_entry), "changed", 443 g_signal_connect(G_OBJECT(dialog->screenname_entry), "changed",
443 G_CALLBACK(screenname_changed_cb), dialog); 444 G_CALLBACK(screenname_changed_cb), dialog);
444 445
445 /* Do the user split thang */ 446 /* Do the user split thang */
477 l != NULL && l2 != NULL; 478 l != NULL && l2 != NULL;
478 l = l->prev, l2 = l2->prev) { 479 l = l->prev, l2 = l2->prev) {
479 480
480 GtkWidget *entry = l->data; 481 GtkWidget *entry = l->data;
481 PurpleAccountUserSplit *split = l2->data; 482 PurpleAccountUserSplit *split = l2->data;
482 const char *value = NULL, *protocol = NULL; 483 const char *value = NULL;
483 char *c; 484 char *c;
484 485
485 if (dialog->account != NULL) { 486 if (dialog->account != NULL) {
486 c = strrchr(username, 487 c = strrchr(username,
487 purple_account_user_split_get_separator(split)); 488 purple_account_user_split_get_separator(split));
497 value = purple_account_user_split_get_default_value(split); 498 value = purple_account_user_split_get_default_value(split);
498 499
499 /* Google Talk default domain hackery! */ 500 /* Google Talk default domain hackery! */
500 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); 501 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu));
501 item = gtk_menu_get_active(GTK_MENU(menu)); 502 item = gtk_menu_get_active(GTK_MENU(menu));
502 protocol = g_object_get_data(G_OBJECT(item), "protocol"); 503 if (value == NULL && g_object_get_data(G_OBJECT(item), "fake") &&
503 if (value == NULL && protocol != NULL && !strcmp(protocol, "prpl-fake") && 504 !strcmp(purple_account_user_split_get_text(split), _("Domain")))
504 !strcmp(purple_account_user_split_get_text(split), _("Domain")))
505 value = "gmail.com"; 505 value = "gmail.com";
506 506
507 if (value != NULL) 507 if (value != NULL)
508 gtk_entry_set_text(GTK_ENTRY(entry), value); 508 gtk_entry_set_text(GTK_ENTRY(entry), value);
509 } 509 }
517 /* Password */ 517 /* Password */
518 dialog->password_entry = gtk_entry_new(); 518 dialog->password_entry = gtk_entry_new();
519 gtk_entry_set_visibility(GTK_ENTRY(dialog->password_entry), FALSE); 519 gtk_entry_set_visibility(GTK_ENTRY(dialog->password_entry), FALSE);
520 if (gtk_entry_get_invisible_char(GTK_ENTRY(dialog->password_entry)) == '*') 520 if (gtk_entry_get_invisible_char(GTK_ENTRY(dialog->password_entry)) == '*')
521 gtk_entry_set_invisible_char(GTK_ENTRY(dialog->password_entry), PIDGIN_INVISIBLE_CHAR); 521 gtk_entry_set_invisible_char(GTK_ENTRY(dialog->password_entry), PIDGIN_INVISIBLE_CHAR);
522 dialog->password_box = add_pref_box(dialog, vbox, _("Password:"), 522 dialog->password_box = add_pref_box(dialog, vbox, _("_Password:"),
523 dialog->password_entry); 523 dialog->password_entry);
524 524
525 /* Alias */ 525 /* Alias */
526 dialog->alias_entry = gtk_entry_new(); 526 dialog->alias_entry = gtk_entry_new();
527 add_pref_box(dialog, vbox, _("Local alias:"), dialog->alias_entry); 527 add_pref_box(dialog, vbox, _("Local _alias:"), dialog->alias_entry);
528 528
529 /* Remember Password */ 529 /* Remember Password */
530 dialog->remember_pass_check = 530 dialog->remember_pass_check =
531 gtk_check_button_new_with_label(_("Remember password")); 531 gtk_check_button_new_with_mnemonic(_("Remember pass_word"));
532 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->remember_pass_check), 532 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->remember_pass_check),
533 FALSE); 533 FALSE);
534 gtk_box_pack_start(GTK_BOX(vbox), dialog->remember_pass_check, 534 gtk_box_pack_start(GTK_BOX(vbox), dialog->remember_pass_check,
535 FALSE, FALSE, 0); 535 FALSE, FALSE, 0);
536 gtk_widget_show(dialog->remember_pass_check); 536 gtk_widget_show(dialog->remember_pass_check);
597 gtk_container_add(GTK_CONTAINER(frame), vbox); 597 gtk_container_add(GTK_CONTAINER(frame), vbox);
598 gtk_widget_show(vbox); 598 gtk_widget_show(vbox);
599 599
600 /* New mail notifications */ 600 /* New mail notifications */
601 dialog->new_mail_check = 601 dialog->new_mail_check =
602 gtk_check_button_new_with_label(_("New mail notifications")); 602 gtk_check_button_new_with_mnemonic(_("New _mail notifications"));
603 gtk_box_pack_start(GTK_BOX(vbox), dialog->new_mail_check, FALSE, FALSE, 0); 603 gtk_box_pack_start(GTK_BOX(vbox), dialog->new_mail_check, FALSE, FALSE, 0);
604 gtk_widget_show(dialog->new_mail_check); 604 gtk_widget_show(dialog->new_mail_check);
605 605
606 /* Buddy icon */ 606 /* Buddy icon */
607 dialog->icon_check = gtk_check_button_new_with_label(_("Use this buddy icon for this account:")); 607 dialog->icon_check = gtk_check_button_new_with_mnemonic(_("Use this buddy _icon for this account:"));
608 g_signal_connect(G_OBJECT(dialog->icon_check), "toggled", G_CALLBACK(icon_check_cb), dialog); 608 g_signal_connect(G_OBJECT(dialog->icon_check), "toggled", G_CALLBACK(icon_check_cb), dialog);
609 gtk_widget_show(dialog->icon_check); 609 gtk_widget_show(dialog->icon_check);
610 gtk_box_pack_start(GTK_BOX(vbox), dialog->icon_check, FALSE, FALSE, 0); 610 gtk_box_pack_start(GTK_BOX(vbox), dialog->icon_check, FALSE, FALSE, 0);
611 611
612 dialog->icon_hbox = hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 612 dialog->icon_hbox = hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
700 GtkCellRenderer *renderer; 700 GtkCellRenderer *renderer;
701 PurpleKeyValuePair *kvp; 701 PurpleKeyValuePair *kvp;
702 GList *l; 702 GList *l;
703 char buf[1024]; 703 char buf[1024];
704 char *title; 704 char *title;
705 const char *str_value, *protocol; 705 const char *str_value;
706 gboolean bool_value; 706 gboolean bool_value;
707 707
708 if (dialog->protocol_frame != NULL) { 708 if (dialog->protocol_frame != NULL) {
709 gtk_widget_destroy(dialog->protocol_frame); 709 gtk_widget_destroy(dialog->protocol_frame);
710 dialog->protocol_frame = NULL; 710 dialog->protocol_frame = NULL;
826 } 826 }
827 827
828 /* Google Talk default domain hackery! */ 828 /* Google Talk default domain hackery! */
829 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu)); 829 menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->protocol_menu));
830 item = gtk_menu_get_active(GTK_MENU(menu)); 830 item = gtk_menu_get_active(GTK_MENU(menu));
831 protocol = g_object_get_data(G_OBJECT(item), "protocol"); 831 if (str_value == NULL && g_object_get_data(G_OBJECT(item), "fake") &&
832 if (str_value == NULL && protocol != NULL && !strcmp(protocol, "prpl-fake") &&
833 !strcmp(_("Connect server"), purple_account_option_get_text(option))) 832 !strcmp(_("Connect server"), purple_account_option_get_text(option)))
834 str_value = "talk.google.com"; 833 str_value = "talk.google.com";
835 834
836 if (str_value != NULL) 835 if (str_value != NULL)
837 gtk_entry_set_text(GTK_ENTRY(entry), str_value); 836 gtk_entry_set_text(GTK_ENTRY(entry), str_value);
838 837
839 title = g_strdup_printf("%s:", 838 title = g_strdup_printf("%s:",
1021 GtkWidget *vbox2; 1020 GtkWidget *vbox2;
1022 1021
1023 if (dialog->proxy_frame != NULL) 1022 if (dialog->proxy_frame != NULL)
1024 gtk_widget_destroy(dialog->proxy_frame); 1023 gtk_widget_destroy(dialog->proxy_frame);
1025 1024
1026 frame = pidgin_make_frame(parent, _("Proxy Options")); 1025 frame = pidgin_make_frame(parent, _("Pro_xy Options"));
1027 dialog->proxy_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); 1026 dialog->proxy_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame));
1028 1027
1029 gtk_box_reorder_child(GTK_BOX(parent), dialog->proxy_frame, 1); 1028 gtk_box_reorder_child(GTK_BOX(parent), dialog->proxy_frame, 1);
1030 gtk_widget_show(dialog->proxy_frame); 1029 gtk_widget_show(dialog->proxy_frame);
1031 1030
1464 } 1463 }
1465 1464
1466 if ((dialog->plugin = purple_find_prpl(dialog->protocol_id)) != NULL) 1465 if ((dialog->plugin = purple_find_prpl(dialog->protocol_id)) != NULL)
1467 dialog->prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(dialog->plugin); 1466 dialog->prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(dialog->plugin);
1468 1467
1469
1470 dialog->window = win = pidgin_create_window((type == PIDGIN_ADD_ACCOUNT_DIALOG) ? _("Add Account") : _("Modify Account"), 1468 dialog->window = win = pidgin_create_window((type == PIDGIN_ADD_ACCOUNT_DIALOG) ? _("Add Account") : _("Modify Account"),
1471 PIDGIN_HIG_BORDER, "account", FALSE); 1469 PIDGIN_HIG_BORDER, "account", FALSE);
1472 1470
1473 g_signal_connect(G_OBJECT(win), "delete_event", 1471 g_signal_connect(G_OBJECT(win), "delete_event",
1474 G_CALLBACK(account_win_destroy_cb), dialog); 1472 G_CALLBACK(account_win_destroy_cb), dialog);