aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-component.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-03-18 12:58:29 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-03-18 12:58:29 +0800
commit4b308cddb0efde0acf808f3a52a4e7653e9e0070 (patch)
tree07b26e695cf25781e620946712c210e5348e5c6c /mail/mail-component.c
parentbc6046b8f1bb7c50cae563c08cb9d55c956ff38b (diff)
downloadgsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.tar
gsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.tar.gz
gsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.tar.bz2
gsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.tar.lz
gsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.tar.xz
gsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.tar.zst
gsoc2013-evolution-4b308cddb0efde0acf808f3a52a4e7653e9e0070.zip
started writing this, but i couldn't be fucked right now - apparently
2004-03-18 Not Zed <NotZed@Ximian.com> * mail-config.c (mail_config_writable): started writing this, but i couldn't be fucked right now - apparently gnome is supposed to use the gconf thing which just doens't work. i'll waste a few hours trying to get it to work again first before i keep going with this. 2004-03-17 Not Zed <NotZed@Ximian.com> * em-format-html.c (efh_message_deliverystatus): format as plain text too. * em-format.c (emf_message_deliverystatus): format delivery status messages as plain text, rather than as messages. since they wont be CamelMimeMessages. Maybe they should be silently hidden. * mail-offline-handler.c (store_go_online): split this, only call add_store/note_store once we've actually set the store online. (store_went_online): set the store up once we're fully online. Works around a deadlock in #55618. * em-account-prefs.c (account_cursor_change): disable editing/adding/removing accounts etc if accounts aren't editable. (em_account_prefs_construct): call above after setup. * mail-component.c (mc_quit_sync): if we have empty on exit days, check that. keep track of the last empty on exit time. * em-mailer-prefs.c (emmp_empty_trash_init): init the trash stuff here. (em_mailer_prefs_apply): save empty trash on exit frequency. svn path=/trunk/; revision=25110
Diffstat (limited to 'mail/mail-component.c')
-rw-r--r--mail/mail-component.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mail/mail-component.c b/mail/mail-component.c
index c519e108dd..73d178f47a 100644
--- a/mail/mail-component.c
+++ b/mail/mail-component.c
@@ -539,10 +539,19 @@ mc_quit_sync_done(CamelStore *store, void *data)
static void
mc_quit_sync(CamelStore *store, struct _store_info *si, MailComponent *mc)
{
- int expunge = gconf_client_get_bool(mail_config_get_gconf_client(), "/apps/evolution/mail/trash/empty_on_exit", NULL);
+ GConfClient *gconf = mail_config_get_gconf_client();
+ gboolean expunge;
+ int now = time(NULL)/60/60/24, days;
+
+ expunge = gconf_client_get_bool(gconf, "/apps/evolution/mail/trash/empty_on_exit", NULL)
+ && ((days = gconf_client_get_int(gconf, "/apps/evolution/mail/trash/empty_on_exit_days", NULL)) == 0
+ || (days + gconf_client_get_int(gconf, "/apps/evolution/mail/trash/empty_date", NULL)) <= now);
mc->priv->quit_count++;
mail_sync_store(store, expunge, mc_quit_sync_done, mc);
+
+ if (expunge)
+ gconf_client_set_int(gconf, "/apps/evolution/mail/trash/empty_date", now, NULL);
}
static CORBA_boolean