diff options
author | Chris Toshok <toshok@ximian.com> | 2004-05-01 05:04:15 +0800 |
---|---|---|
committer | Chris Toshok <toshok@src.gnome.org> | 2004-05-01 05:04:15 +0800 |
commit | 343d0d815a4b59c13316e7125ef392be7ccdefcb (patch) | |
tree | 118be876a19402602d108772a0324c869a9efe56 /smime/gui/certificate-manager.c | |
parent | 5135f65c83b0256b275a4166c3dbfbe4315509b7 (diff) | |
download | gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.tar gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.tar.gz gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.tar.bz2 gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.tar.lz gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.tar.xz gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.tar.zst gsoc2013-evolution-343d0d815a4b59c13316e7125ef392be7ccdefcb.zip |
[ fixes bug #52724 ]
2004-04-30 Chris Toshok <toshok@ximian.com>
[ fixes bug #52724 ]
* gui/ca-trust-dialog.c (ca_trust_dialog_set_trust): new function,
set the toggle buttons' states.
* gui/ca-trust-dialog.h (ca_trust_dialog_set_trust): add
prototype.
* gui/certificate-manager.c (edit_ca): flesh out the rest of the
editing here. set the existing trust levels and get them back
from the dialog when OK is clicked (and store them to the cert
db.)
svn path=/trunk/; revision=25726
Diffstat (limited to 'smime/gui/certificate-manager.c')
-rw-r--r-- | smime/gui/certificate-manager.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/smime/gui/certificate-manager.c b/smime/gui/certificate-manager.c index a59f8a0d96..f291fffea4 100644 --- a/smime/gui/certificate-manager.c +++ b/smime/gui/certificate-manager.c @@ -487,10 +487,29 @@ edit_ca (GtkWidget *widget, CertificateManagerData *cfm) if (cert) { GtkWidget *dialog = ca_trust_dialog_show (cert, FALSE); - - gtk_dialog_run (GTK_DIALOG (dialog)); - - /* XXX more stuff here surely */ + CERTCertificate *icert = e_cert_get_internal_cert (cert); + + ca_trust_dialog_set_trust (dialog, + e_cert_trust_has_trusted_ca (icert->trust, TRUE, FALSE, FALSE), + e_cert_trust_has_trusted_ca (icert->trust, FALSE, TRUE, FALSE), + e_cert_trust_has_trusted_ca (icert->trust, FALSE, FALSE, TRUE)); + + if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { + gboolean trust_ssl, trust_email, trust_objsign; + CERTCertTrust trust; + + ca_trust_dialog_get_trust (dialog, + &trust_ssl, &trust_email, &trust_objsign); + + e_cert_trust_init (&trust); + e_cert_trust_set_valid_ca (&trust); + e_cert_trust_add_ca_trust (&trust, + trust_ssl, + trust_email, + trust_objsign); + + CERT_ChangeCertTrust (e_cert_db_peek (), icert, &trust); + } gtk_widget_destroy (dialog); } |