| 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); |