diff options
author | Peter Williams <peterw@ximian.com> | 2001-07-27 23:36:42 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2001-07-27 23:36:42 +0800 |
commit | 4157d65284dfe6d8547bd2176cbe48f13f08bc5a (patch) | |
tree | 56253d8bab379800f6c17f651f3c385077f32d62 /mail/mail-mt.c | |
parent | 68481415b4bd4eca6ed941cd34b90db5fef70b55 (diff) | |
download | gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.tar gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.tar.gz gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.tar.bz2 gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.tar.lz gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.tar.xz gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.tar.zst gsoc2013-evolution-4157d65284dfe6d8547bd2176cbe48f13f08bc5a.zip |
Figure out whether we're getting the password for the source or the
2001-07-26 Peter Williams <peterw@ximian.com>
* mail-mt.c (do_get_pass): Figure out whether we're getting the password
for the source or the transport, and get the toggle button accordingly.
(pass_got): Same.
* mail-config.c (mail_config_get_account_by_transport_url): New function.
Cut + paste + search + replace of _by_source_url.
* mail-config.h: Prototype here.
svn path=/trunk/; revision=11446
Diffstat (limited to 'mail/mail-mt.c')
-rw-r--r-- | mail/mail-mt.c | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/mail/mail-mt.c b/mail/mail-mt.c index a4d7f91d9a..369af19548 100644 --- a/mail/mail-mt.c +++ b/mail/mail-mt.c @@ -409,12 +409,21 @@ pass_got (char *string, void *data) if (string) { const MailConfigAccount *mca; - + gboolean remember; + m->result = g_strdup (string); + remember = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m->tb)); mca = mail_config_get_account_by_source_url (m->service_url); - mail_config_service_set_save_passwd (mca->source, - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m->tb))); + if (mca) + mail_config_service_set_save_passwd (mca->source, remember); + else { + mca = mail_config_get_account_by_transport_url (m->service_url); + if (mca) + mail_config_service_set_save_passwd (mca->transport, remember); + else + printf ("Cannot figure out which account owns URL \"%s\" (could before?)\n", m->service_url); + } } } @@ -432,11 +441,22 @@ do_get_pass(struct _mail_msg *mm) 0, pass_got, m, NULL); /* Remember the password? */ - mca = mail_config_get_account_by_source_url (m->service_url); tb = gtk_check_button_new_with_label (_("Remember this password")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->source->save_passwd); gtk_widget_show (tb); + mca = mail_config_get_account_by_source_url (m->service_url); + if (mca) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->source->save_passwd); + else { + mca = mail_config_get_account_by_transport_url (m->service_url); + if (mca) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tb), mca->transport->save_passwd); + else { + printf ("Cannot figure out which account owns URL \"%s\"\n", m->service_url); + gtk_widget_hide (tb); + } + } + /* do some dirty stuff to put the checkbutton after the entry */ entry = NULL; children = gtk_container_children (GTK_CONTAINER (GNOME_DIALOG (dialogue)->vbox)); |