diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/mail-accounts.c | 29 | ||||
-rw-r--r-- | mail/mail-accounts.h | 3 | ||||
-rw-r--r-- | mail/mail-config.glade | 56 |
4 files changed, 93 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 69bddff9d7..08b4a4be9b 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2001-02-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Construct the PGP Path + GnomeFileEntry widget. + (pgp_path_changed): Try to auto-detect which PGP type the binary + file is based on the basename (yuck). + 2001-02-23 Not Zed <NotZed@Ximian.com> * mail-ops.c (create_folder_get): Make op cancellable/report diff --git a/mail/mail-accounts.c b/mail/mail-accounts.c index 29200a5c5a..03eb142cc4 100644 --- a/mail/mail-accounts.c +++ b/mail/mail-accounts.c @@ -30,6 +30,7 @@ #include <stdlib.h> #include <string.h> #include <camel/camel-url.h> +#include <openpgp-utils.h> static void mail_accounts_dialog_class_init (MailAccountsDialogClass *class); static void mail_accounts_dialog_init (MailAccountsDialog *dialog); @@ -349,6 +350,27 @@ timeout_changed (GtkEntry *entry, gpointer data) } static void +pgp_path_changed (GtkEntry *entry, gpointer data) +{ + const char *path, *bin; + PgpType type = PGP_TYPE_NONE; + + path = gtk_entry_get_text (entry); + bin = g_basename (path); + + /* FIXME: This detection should be better */ + if (!strcmp (bin, "pgp")) + type = PGP_TYPE_PGP2; + else if (!strcmp (bin, "pgpv") || !strcmp (bin, "pgpe") || !strcmp (bin, "pgpk") || !strcmp (bin, "pgps")) + type = PGP_TYPE_PGP5; + else if (!strcmp (bin, "gpg")) + type = PGP_TYPE_GPG; + + mail_config_set_pgp_path (path && *path ? path : NULL); + mail_config_set_pgp_type (type); +} + +static void construct (MailAccountsDialog *dialog) { GladeXML *gui; @@ -420,6 +442,13 @@ construct (MailAccountsDialog *dialog) gtk_signal_connect (GTK_OBJECT (dialog->timeout), "changed", GTK_SIGNAL_FUNC (timeout_changed), dialog); + dialog->pgp_path = GNOME_FILE_ENTRY (glade_xml_get_widget (gui, "filePgpPath")); + gtk_entry_set_text (GTK_ENTRY (gnome_file_entry_gtk_entry (dialog->pgp_path)), + mail_config_get_pgp_path ()); + gnome_file_entry_set_default_path (dialog->pgp_path, mail_config_get_pgp_path ()); + gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (dialog->pgp_path)), + "changed", GTK_SIGNAL_FUNC (pgp_path_changed), dialog); + /* now to fill in the clists */ dialog->accounts_row = -1; dialog->accounts = mail_config_get_accounts (); diff --git a/mail/mail-accounts.h b/mail/mail-accounts.h index e2f355cd3d..dcee0528c6 100644 --- a/mail/mail-accounts.h +++ b/mail/mail-accounts.h @@ -63,9 +63,10 @@ struct _MailAccountsDialog { GtkButton *news_edit; GtkButton *news_delete; - /* temporary widgets */ + /* "Other" widgets */ GtkCheckButton *send_html; GtkSpinButton *timeout; + GnomeFileEntry *pgp_path; }; typedef struct _MailAccountsDialog MailAccountsDialog; diff --git a/mail/mail-config.glade b/mail/mail-config.glade index da0f2fc57b..5c7753cfb9 100644 --- a/mail/mail-config.glade +++ b/mail/mail-config.glade @@ -3116,7 +3116,7 @@ SMTP <class>GtkVBox</class> <name>vbox38</name> <homogeneous>False</homogeneous> - <spacing>0</spacing> + <spacing>4</spacing> <widget> <class>GtkCheckButton</class> @@ -3200,6 +3200,60 @@ SMTP </child> </widget> </widget> + + <widget> + <class>GtkHBox</class> + <name>hbox41</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>lblPgpPath</name> + <label>PGP binary path:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>4</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GnomeFileEntry</class> + <name>filePgpPath</name> + <max_saved>10</max_saved> + <title>Select PGP binary</title> + <directory>False</directory> + <modal>True</modal> + <child> + <padding>4</padding> + <expand>True</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkEntry</class> + <child_name>GnomeEntry:entry</child_name> + <name>combo-entry1</name> + <can_focus>True</can_focus> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text></text> + </widget> + </widget> + </widget> </widget> <widget> |