diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2006-12-08 09:40:09 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2006-12-08 09:40:09 +0000 |
commit | 250608fdd38ac19b93609e7c88a4263febf7143c (patch) | |
tree | 8a022394f5d50949bb718654ee7af857a1fbbc6f /src/prefs_account_dialog.c | |
parent | dca30a04e7c82a23f4c45777f31c10180f2f37ed (diff) |
added the option to input signature directly.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1408 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/prefs_account_dialog.c')
-rw-r--r-- | src/prefs_account_dialog.c | 54 |
1 files changed, 47 insertions, 7 deletions
diff --git a/src/prefs_account_dialog.c b/src/prefs_account_dialog.c index f8c7e549..7df38ce6 100644 --- a/src/prefs_account_dialog.c +++ b/src/prefs_account_dialog.c @@ -118,7 +118,8 @@ static struct Send { } p_send; static struct Compose { - GtkWidget *sigfile_radiobtn; + GtkWidget *sig_radiobtn; + GtkWidget *sig_text; GtkWidget *sigpath_entry; GtkWidget *autocc_chkbtn; @@ -291,11 +292,13 @@ static PrefsUIData ui_data[] = { prefs_set_data_from_toggle, prefs_set_toggle}, /* Compose */ - {"signature_type", &compose.sigfile_radiobtn, + {"signature_type", &compose.sig_radiobtn, prefs_account_enum_set_data_from_radiobtn, prefs_account_enum_set_radiobtn}, {"signature_path", &compose.sigpath_entry, prefs_set_data_from_entry, prefs_set_entry}, + {"signature_text", &compose.sig_text, + prefs_set_data_from_text, prefs_set_text}, {"set_autocc", &compose.autocc_chkbtn, prefs_set_data_from_toggle, prefs_set_toggle}, {"auto_cc", &compose.autocc_entry, @@ -1188,6 +1191,9 @@ static void prefs_account_compose_create(void) { GtkWidget *vbox1; GtkWidget *sig_vbox; + GtkWidget *sig_radiobtn; + GtkWidget *sigtext_scrwin; + GtkWidget *sig_text; GtkWidget *sig_hbox; GtkWidget *sigfile_radiobtn; GtkWidget *sigcmd_radiobtn; @@ -1213,11 +1219,34 @@ static void prefs_account_compose_create(void) gtk_container_add (GTK_CONTAINER (frame), sig_vbox); gtk_container_set_border_width (GTK_CONTAINER (sig_vbox), 8); + sig_radiobtn = gtk_radio_button_new_with_label + (NULL, _("Direct input")); + gtk_widget_show (sig_radiobtn); + gtk_box_pack_start (GTK_BOX (sig_vbox), sig_radiobtn, FALSE, FALSE, 0); + g_object_set_data (G_OBJECT (sig_radiobtn), MENU_VAL_ID, + GINT_TO_POINTER (SIG_DIRECT)); + + sigtext_scrwin = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (sigtext_scrwin); + gtk_box_pack_start (GTK_BOX (sig_vbox), sigtext_scrwin, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy + (GTK_SCROLLED_WINDOW (sigtext_scrwin), + GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type + (GTK_SCROLLED_WINDOW (sigtext_scrwin), GTK_SHADOW_IN); + + sig_text = gtk_text_view_new (); + gtk_widget_show (sig_text); + gtk_container_add (GTK_CONTAINER (sigtext_scrwin), sig_text); + gtk_text_view_set_editable (GTK_TEXT_VIEW (sig_text), TRUE); + gtk_widget_set_size_request(sig_text, -1, 60); + sig_hbox = gtk_hbox_new (FALSE, 8); gtk_widget_show (sig_hbox); gtk_box_pack_start (GTK_BOX (sig_vbox), sig_hbox, FALSE, FALSE, 0); - sigfile_radiobtn = gtk_radio_button_new_with_label (NULL, _("File")); + sigfile_radiobtn = gtk_radio_button_new_with_label_from_widget + (GTK_RADIO_BUTTON(sig_radiobtn), _("File")); gtk_widget_show (sigfile_radiobtn); gtk_box_pack_start (GTK_BOX (sig_hbox), sigfile_radiobtn, FALSE, FALSE, 0); @@ -1225,7 +1254,7 @@ static void prefs_account_compose_create(void) GINT_TO_POINTER (SIG_FILE)); sigcmd_radiobtn = gtk_radio_button_new_with_label_from_widget - (GTK_RADIO_BUTTON(sigfile_radiobtn), _("Command output")); + (GTK_RADIO_BUTTON(sig_radiobtn), _("Command output")); gtk_widget_show (sigcmd_radiobtn); gtk_box_pack_start (GTK_BOX (sig_hbox), sigcmd_radiobtn, FALSE, FALSE, 0); @@ -1236,7 +1265,17 @@ static void prefs_account_compose_create(void) gtk_widget_show (sigpath_entry); gtk_box_pack_start (GTK_BOX (sig_vbox), sigpath_entry, TRUE, TRUE, 0); - PACK_FRAME (vbox1, frame, _("Automatically set the following addresses")); + SET_TOGGLE_SENSITIVITY (sig_radiobtn, sig_text); + SET_TOGGLE_SENSITIVITY (sigfile_radiobtn, sigpath_entry); + SET_TOGGLE_SENSITIVITY (sigcmd_radiobtn, sigpath_entry); + SET_TOGGLE_SENSITIVITY_REV (sig_radiobtn, sigpath_entry); + SET_TOGGLE_SENSITIVITY_REV (sigfile_radiobtn, sig_text); + SET_TOGGLE_SENSITIVITY_REV (sigcmd_radiobtn, sig_text); + gtk_widget_set_sensitive (sig_text, TRUE); + gtk_widget_set_sensitive (sigpath_entry, FALSE); + + PACK_FRAME (vbox1, frame, + _("Automatically set the following addresses")); table = gtk_table_new (3, 2, FALSE); gtk_widget_show (table); @@ -1285,8 +1324,9 @@ static void prefs_account_compose_create(void) SET_TOGGLE_SENSITIVITY (autoreplyto_chkbtn, autoreplyto_entry); - compose.sigfile_radiobtn = sigfile_radiobtn; - compose.sigpath_entry = sigpath_entry; + compose.sig_radiobtn = sig_radiobtn; + compose.sig_text = sig_text; + compose.sigpath_entry = sigpath_entry; compose.autocc_chkbtn = autocc_chkbtn; compose.autocc_entry = autocc_entry; |