Revision 1053 src/prefs_common_dialog.c
| prefs_common_dialog.c (revision 1053) | ||
|---|---|---|
| 80 | 80 |
GtkWidget *checkbtn_filter_sent; |
| 81 | 81 |
|
| 82 | 82 |
GtkWidget *optmenu_encoding_method; |
| 83 |
GtkWidget *optmenu_mime_fencoding_method; |
|
| 83 | 84 |
} p_send; |
| 84 | 85 |
|
| 85 | 86 |
static struct Compose {
|
| ... | ... | |
| 243 | 244 |
|
| 244 | 245 |
static void prefs_common_charset_set_data_from_optmenu (PrefParam *pparam); |
| 245 | 246 |
static void prefs_common_charset_set_optmenu (PrefParam *pparam); |
| 246 |
static void prefs_common_encoding_set_data_from_optmenu (PrefParam *pparam); |
|
| 247 |
static void prefs_common_encoding_set_optmenu (PrefParam *pparam); |
|
| 248 |
static void prefs_common_recv_dialog_set_data_from_optmenu (PrefParam *pparam); |
|
| 249 | 247 |
static void prefs_common_recv_dialog_set_optmenu (PrefParam *pparam); |
| 250 | 248 |
static void prefs_common_uri_set_data_from_entry (PrefParam *pparam); |
| 251 | 249 |
static void prefs_common_uri_set_entry (PrefParam *pparam); |
| ... | ... | |
| 281 | 279 |
prefs_set_data_from_toggle, prefs_set_toggle}, |
| 282 | 280 |
|
| 283 | 281 |
{"encoding_method", &p_send.optmenu_encoding_method,
|
| 284 |
prefs_common_encoding_set_data_from_optmenu, |
|
| 285 |
prefs_common_encoding_set_optmenu}, |
|
| 282 |
prefs_set_data_from_optmenu, prefs_set_optmenu}, |
|
| 283 |
{"mime_filename_encoding_method", &p_send.optmenu_mime_fencoding_method,
|
|
| 284 |
prefs_set_data_from_optmenu, prefs_set_optmenu}, |
|
| 286 | 285 |
|
| 287 | 286 |
/* {"allow_jisx0201_kana", NULL, NULL, NULL}, */
|
| 288 | 287 |
|
| ... | ... | |
| 461 | 460 |
|
| 462 | 461 |
/* Other */ |
| 463 | 462 |
{"receive_dialog_mode", &other.optmenu_recvdialog,
|
| 464 |
prefs_common_recv_dialog_set_data_from_optmenu, |
|
| 465 |
prefs_common_recv_dialog_set_optmenu}, |
|
| 463 |
prefs_set_data_from_optmenu, prefs_common_recv_dialog_set_optmenu}, |
|
| 466 | 464 |
{"no_receive_error_panel", &other.checkbtn_no_recv_err_panel,
|
| 467 | 465 |
prefs_set_data_from_toggle, prefs_set_toggle}, |
| 468 | 466 |
{"close_receive_dialog", &other.checkbtn_close_recv_dialog,
|
| ... | ... | |
| 835 | 833 |
GtkWidget *optmenu_trencoding; |
| 836 | 834 |
GtkWidget *optmenu_menu; |
| 837 | 835 |
GtkWidget *menuitem; |
| 836 |
GtkWidget *optmenu_fencoding; |
|
| 838 | 837 |
GtkWidget *label_encoding; |
| 839 | 838 |
GtkWidget *label_encoding_desc; |
| 839 |
GtkWidget *label_fencoding; |
|
| 840 |
GtkWidget *label_fencoding_desc; |
|
| 840 | 841 |
|
| 841 | 842 |
vbox1 = gtk_vbox_new (FALSE, VSPACING); |
| 842 | 843 |
gtk_widget_show (vbox1); |
| ... | ... | |
| 876 | 877 |
SET_MENUITEM("quoted-printable", CTE_QUOTED_PRINTABLE);
|
| 877 | 878 |
SET_MENUITEM("8bit", CTE_8BIT);
|
| 878 | 879 |
|
| 879 |
#undef SET_MENUITEM |
|
| 880 |
|
|
| 881 | 880 |
gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu_trencoding), |
| 882 | 881 |
optmenu_menu); |
| 883 | 882 |
|
| ... | ... | |
| 885 | 884 |
_("Specify Content-Transfer-Encoding used when "
|
| 886 | 885 |
"message body contains non-ASCII characters.")); |
| 887 | 886 |
|
| 887 |
hbox1 = gtk_hbox_new (FALSE, 8); |
|
| 888 |
gtk_widget_show (hbox1); |
|
| 889 |
gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0); |
|
| 890 |
|
|
| 891 |
label_fencoding = gtk_label_new (_("MIME filename encoding"));
|
|
| 892 |
gtk_widget_show (label_fencoding); |
|
| 893 |
gtk_box_pack_start (GTK_BOX (hbox1), label_fencoding, FALSE, FALSE, 0); |
|
| 894 |
|
|
| 895 |
optmenu_fencoding = gtk_option_menu_new (); |
|
| 896 |
gtk_widget_show (optmenu_fencoding); |
|
| 897 |
gtk_box_pack_start (GTK_BOX (hbox1), optmenu_fencoding, |
|
| 898 |
FALSE, FALSE, 0); |
|
| 899 |
|
|
| 900 |
optmenu_menu = gtk_menu_new (); |
|
| 901 |
|
|
| 902 |
SET_MENUITEM(_("MIME header"), FENC_MIME);
|
|
| 903 |
SET_MENUITEM(_("RFC 2231"), FENC_RFC2231);
|
|
| 904 |
|
|
| 905 |
gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu_fencoding), |
|
| 906 |
optmenu_menu); |
|
| 907 |
|
|
| 908 |
#undef SET_MENUITEM |
|
| 909 |
|
|
| 910 |
PACK_SMALL_LABEL |
|
| 911 |
(vbox1, label_fencoding_desc, |
|
| 912 |
_("Specify encoding method for MIME filename with "
|
|
| 913 |
"non-ASCII characters.\n" |
|
| 914 |
"MIME header: most popular, but violates RFC 2047\n" |
|
| 915 |
"RFC 2231: conforms to standard, but not popular")); |
|
| 916 |
|
|
| 888 | 917 |
p_send.checkbtn_savemsg = checkbtn_savemsg; |
| 889 | 918 |
p_send.checkbtn_filter_sent = checkbtn_filter_sent; |
| 890 | 919 |
|
| 891 | 920 |
p_send.optmenu_encoding_method = optmenu_trencoding; |
| 921 |
p_send.optmenu_mime_fencoding_method = optmenu_fencoding; |
|
| 892 | 922 |
} |
| 893 | 923 |
|
| 894 | 924 |
static void prefs_compose_create(void) |
| ... | ... | |
| 3671 | 3701 |
} |
| 3672 | 3702 |
} |
| 3673 | 3703 |
|
| 3674 |
static void prefs_common_encoding_set_data_from_optmenu(PrefParam *pparam) |
|
| 3675 |
{
|
|
| 3676 |
PrefsUIData *ui_data; |
|
| 3677 |
GtkWidget *menu; |
|
| 3678 |
GtkWidget *menuitem; |
|
| 3679 |
|
|
| 3680 |
ui_data = (PrefsUIData *)pparam->ui_data; |
|
| 3681 |
g_return_if_fail(ui_data != NULL); |
|
| 3682 |
g_return_if_fail(*ui_data->widget != NULL); |
|
| 3683 |
|
|
| 3684 |
menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(*ui_data->widget)); |
|
| 3685 |
menuitem = gtk_menu_get_active(GTK_MENU(menu)); |
|
| 3686 |
*((TransferEncodingMethod *)pparam->data) = GPOINTER_TO_INT |
|
| 3687 |
(g_object_get_data(G_OBJECT(menuitem), MENU_VAL_ID)); |
|
| 3688 |
} |
|
| 3689 |
|
|
| 3690 |
static void prefs_common_encoding_set_optmenu(PrefParam *pparam) |
|
| 3691 |
{
|
|
| 3692 |
PrefsUIData *ui_data; |
|
| 3693 |
TransferEncodingMethod method = |
|
| 3694 |
*((TransferEncodingMethod *)pparam->data); |
|
| 3695 |
GtkOptionMenu *optmenu; |
|
| 3696 |
gint index; |
|
| 3697 |
|
|
| 3698 |
ui_data = (PrefsUIData *)pparam->ui_data; |
|
| 3699 |
g_return_if_fail(ui_data != NULL); |
|
| 3700 |
g_return_if_fail(*ui_data->widget != NULL); |
|
| 3701 |
|
|
| 3702 |
optmenu = GTK_OPTION_MENU(*ui_data->widget); |
|
| 3703 |
g_return_if_fail(optmenu != NULL); |
|
| 3704 |
|
|
| 3705 |
index = menu_find_option_menu_index(optmenu, GINT_TO_POINTER(method), |
|
| 3706 |
NULL); |
|
| 3707 |
if (index >= 0) |
|
| 3708 |
gtk_option_menu_set_history(optmenu, index); |
|
| 3709 |
else {
|
|
| 3710 |
gtk_option_menu_set_history(optmenu, 0); |
|
| 3711 |
prefs_common_encoding_set_data_from_optmenu(pparam); |
|
| 3712 |
} |
|
| 3713 |
} |
|
| 3714 |
|
|
| 3715 |
static void prefs_common_recv_dialog_set_data_from_optmenu(PrefParam *pparam) |
|
| 3716 |
{
|
|
| 3717 |
PrefsUIData *ui_data; |
|
| 3718 |
GtkWidget *menu; |
|
| 3719 |
GtkWidget *menuitem; |
|
| 3720 |
|
|
| 3721 |
ui_data = (PrefsUIData *)pparam->ui_data; |
|
| 3722 |
g_return_if_fail(ui_data != NULL); |
|
| 3723 |
g_return_if_fail(*ui_data->widget != NULL); |
|
| 3724 |
|
|
| 3725 |
menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(*ui_data->widget)); |
|
| 3726 |
menuitem = gtk_menu_get_active(GTK_MENU(menu)); |
|
| 3727 |
*((RecvDialogMode *)pparam->data) = GPOINTER_TO_INT |
|
| 3728 |
(g_object_get_data(G_OBJECT(menuitem), MENU_VAL_ID)); |
|
| 3729 |
} |
|
| 3730 |
|
|
| 3731 | 3704 |
static void prefs_common_recv_dialog_set_optmenu(PrefParam *pparam) |
| 3732 | 3705 |
{
|
| 3733 | 3706 |
PrefsUIData *ui_data; |
| ... | ... | |
| 3750 | 3723 |
gtk_option_menu_set_history(optmenu, index); |
| 3751 | 3724 |
else {
|
| 3752 | 3725 |
gtk_option_menu_set_history(optmenu, 0); |
| 3753 |
prefs_common_recv_dialog_set_data_from_optmenu(pparam);
|
|
| 3726 |
prefs_set_data_from_optmenu(pparam); |
|
| 3754 | 3727 |
} |
| 3755 | 3728 |
|
| 3756 | 3729 |
menu = gtk_option_menu_get_menu(optmenu); |
Also available in: Unified diff