| 2481 |
2481 |
| 2482 static GtkWidget * |
2482 static GtkWidget * |
| 2483 proxy_page(void) |
2483 proxy_page(void) |
| 2484 { |
2484 { |
| 2485 GtkWidget *ret = NULL, *vbox = NULL, *hbox = NULL; |
2485 GtkWidget *ret = NULL, *vbox = NULL, *hbox = NULL; |
| 2486 GtkWidget *table = NULL, *entry = NULL, *proxy_button = NULL; |
2486 GtkWidget *grid = NULL, *entry = NULL, *proxy_button = NULL; |
| 2487 GtkLabel *label = NULL; |
2487 GtkLabel *label = NULL; |
| 2488 GtkWidget *prefs_proxy_frame = NULL; |
2488 GtkWidget *prefs_proxy_frame = NULL; |
| 2489 PurpleProxyInfo *proxy_info; |
2489 PurpleProxyInfo *proxy_info; |
| 2490 |
2490 |
| 2491 ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); |
2491 ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_CAT_SPACE); |
| 2557 gtk_widget_show_all(ret); |
2557 gtk_widget_show_all(ret); |
| 2558 |
2558 |
| 2559 purple_prefs_connect_callback(prefs, "/purple/proxy/type", |
2559 purple_prefs_connect_callback(prefs, "/purple/proxy/type", |
| 2560 proxy_changed_cb, prefs_proxy_subframe); |
2560 proxy_changed_cb, prefs_proxy_subframe); |
| 2561 |
2561 |
| 2562 table = gtk_table_new(4, 2, FALSE); |
2562 grid = gtk_grid_table_new(4, 2); |
| 2563 gtk_container_set_border_width(GTK_CONTAINER(table), 0); |
2563 gtk_container_set_border_width(GTK_CONTAINER(grid), 0); |
| 2564 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
2564 gtk_grid_set_column_spacing(GTK_GRID(grid), 5); |
| 2565 gtk_table_set_row_spacings(GTK_TABLE(table), 10); |
2565 gtk_grid_set_row_spacing(GTK_GRID(grid), 10); |
| 2566 gtk_container_add(GTK_CONTAINER(prefs_proxy_subframe), table); |
2566 gtk_container_add(GTK_CONTAINER(prefs_proxy_subframe), grid); |
| 2567 |
2567 |
| 2568 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("_Host:"))); |
2568 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("_Host:"))); |
| 2569 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
2569 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
| 2570 gtk_table_attach(GTK_TABLE(table), GTK_WIDGET(label), |
2570 gtk_grid_attach_full(GTK_GRID(grid), GTK_WIDGET(label), 0, 0, 1, 1, |
| 2571 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
2571 GTK_FILL, 0, 0, 0); |
| 2572 |
2572 |
| 2573 entry = gtk_entry_new(); |
2573 entry = gtk_entry_new(); |
| 2574 gtk_label_set_mnemonic_widget(label, entry); |
2574 gtk_label_set_mnemonic_widget(label, entry); |
| 2575 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); |
2575 gtk_grid_attach_full(GTK_GRID(grid), entry, 1, 0, 1, 1, |
| |
2576 GTK_FILL, 0, 0, 0); |
| 2576 g_signal_connect(G_OBJECT(entry), "changed", |
2577 g_signal_connect(G_OBJECT(entry), "changed", |
| 2577 G_CALLBACK(proxy_print_option), (void *)PROXYHOST); |
2578 G_CALLBACK(proxy_print_option), (void *)PROXYHOST); |
| 2578 |
2579 |
| 2579 if (proxy_info != NULL && purple_proxy_info_get_host(proxy_info)) |
2580 if (proxy_info != NULL && purple_proxy_info_get_host(proxy_info)) |
| 2580 gtk_entry_set_text(GTK_ENTRY(entry), |
2581 gtk_entry_set_text(GTK_ENTRY(entry), |
| 2585 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2586 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 2586 pidgin_set_accessible_label(entry, label); |
2587 pidgin_set_accessible_label(entry, label); |
| 2587 |
2588 |
| 2588 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("P_ort:"))); |
2589 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("P_ort:"))); |
| 2589 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
2590 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
| 2590 gtk_table_attach(GTK_TABLE(table), GTK_WIDGET(label), |
2591 gtk_grid_attach_full(GTK_GRID(grid), GTK_WIDGET(label), 2, 0, 1, 1, |
| 2591 2, 3, 0, 1, GTK_FILL, 0, 0, 0); |
2592 GTK_FILL, 0, 0, 0); |
| 2592 |
2593 |
| 2593 entry = gtk_spin_button_new_with_range(0, 65535, 1); |
2594 entry = gtk_spin_button_new_with_range(0, 65535, 1); |
| 2594 gtk_label_set_mnemonic_widget(label, entry); |
2595 gtk_label_set_mnemonic_widget(label, entry); |
| 2595 gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 0, 1, GTK_FILL, 0, 0, 0); |
2596 gtk_grid_attach_full(GTK_GRID(grid), entry, 3, 0, 1, 1, |
| |
2597 GTK_FILL, 0, 0, 0); |
| 2596 g_signal_connect(G_OBJECT(entry), "changed", |
2598 g_signal_connect(G_OBJECT(entry), "changed", |
| 2597 G_CALLBACK(proxy_print_option), (void *)PROXYPORT); |
2599 G_CALLBACK(proxy_print_option), (void *)PROXYPORT); |
| 2598 |
2600 |
| 2599 if (proxy_info != NULL && purple_proxy_info_get_port(proxy_info) != 0) { |
2601 if (proxy_info != NULL && purple_proxy_info_get_port(proxy_info) != 0) { |
| 2600 gtk_spin_button_set_value(GTK_SPIN_BUTTON(entry), |
2602 gtk_spin_button_set_value(GTK_SPIN_BUTTON(entry), |
| 2602 } |
2604 } |
| 2603 pidgin_set_accessible_label(entry, label); |
2605 pidgin_set_accessible_label(entry, label); |
| 2604 |
2606 |
| 2605 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("User_name:"))); |
2607 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("User_name:"))); |
| 2606 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
2608 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
| 2607 gtk_table_attach(GTK_TABLE(table), GTK_WIDGET(label), |
2609 gtk_grid_attach_full(GTK_GRID(grid), GTK_WIDGET(label), 0, 1, 1, 1, |
| 2608 0, 1, 1, 2, GTK_FILL, 0, 0, 0); |
2610 GTK_FILL, 0, 0, 0); |
| 2609 |
2611 |
| 2610 entry = gtk_entry_new(); |
2612 entry = gtk_entry_new(); |
| 2611 gtk_label_set_mnemonic_widget(label, entry); |
2613 gtk_label_set_mnemonic_widget(label, entry); |
| 2612 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); |
2614 gtk_grid_attach_full(GTK_GRID(grid), entry, 1, 1, 1, 1, |
| |
2615 GTK_FILL, 0, 0, 0); |
| 2613 g_signal_connect(G_OBJECT(entry), "changed", |
2616 g_signal_connect(G_OBJECT(entry), "changed", |
| 2614 G_CALLBACK(proxy_print_option), (void *)PROXYUSER); |
2617 G_CALLBACK(proxy_print_option), (void *)PROXYUSER); |
| 2615 |
2618 |
| 2616 if (proxy_info != NULL && purple_proxy_info_get_username(proxy_info) != NULL) |
2619 if (proxy_info != NULL && purple_proxy_info_get_username(proxy_info) != NULL) |
| 2617 gtk_entry_set_text(GTK_ENTRY(entry), |
2620 gtk_entry_set_text(GTK_ENTRY(entry), |
| 2622 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2625 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 2623 pidgin_set_accessible_label(entry, label); |
2626 pidgin_set_accessible_label(entry, label); |
| 2624 |
2627 |
| 2625 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("Pa_ssword:"))); |
2628 label = GTK_LABEL(gtk_label_new_with_mnemonic(_("Pa_ssword:"))); |
| 2626 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
2629 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); |
| 2627 gtk_table_attach(GTK_TABLE(table), GTK_WIDGET(label), |
2630 gtk_grid_attach_full(GTK_GRID(grid), GTK_WIDGET(label), 2, 1, 1, 1, |
| 2628 2, 3, 1, 2, GTK_FILL, 0, 0, 0); |
2631 GTK_FILL, 0, 0, 0); |
| 2629 |
2632 |
| 2630 entry = gtk_entry_new(); |
2633 entry = gtk_entry_new(); |
| 2631 gtk_label_set_mnemonic_widget(label, entry); |
2634 gtk_label_set_mnemonic_widget(label, entry); |
| 2632 gtk_table_attach(GTK_TABLE(table), entry, 3, 4, 1, 2, GTK_FILL , 0, 0, 0); |
2635 gtk_grid_attach_full(GTK_GRID(grid), entry, 3, 1, 1, 1, |
| |
2636 GTK_FILL, 0, 0, 0); |
| 2633 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
2637 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
| 2634 g_signal_connect(G_OBJECT(entry), "changed", |
2638 g_signal_connect(G_OBJECT(entry), "changed", |
| 2635 G_CALLBACK(proxy_print_option), (void *)PROXYPASS); |
2639 G_CALLBACK(proxy_print_option), (void *)PROXYPASS); |
| 2636 |
2640 |
| 2637 if (proxy_info != NULL && purple_proxy_info_get_password(proxy_info) != NULL) |
2641 if (proxy_info != NULL && purple_proxy_info_get_password(proxy_info) != NULL) |