( cvs diff -u -r 1.1.2.18 -r 1.1.2.19 src/ldapupdate.c; ) > 3.4.0cvs33.patchset
( cvs diff -u -r 1.382.2.448 -r 1.382.2.449 src/compose.c; ) > 3.4.0cvs34.patchset
( cvs diff -u -r 1.382.2.449 -r 1.382.2.450 src/compose.c; cvs diff -u -r 1.204.2.169 -r 1.204.2.170 src/prefs_common.c; cvs diff -u -r 1.103.2.107 -r 1.103.2.108 src/prefs_common.h; cvs diff -u -r 1.1.2.20 -r 1.1.2.21 src/prefs_send.c; ) > 3.4.0cvs35.patchset
+( cvs diff -u -r 1.115.2.194 -r 1.115.2.195 src/main.c; cvs diff -u -r 1.274.2.240 -r 1.274.2.241 src/mainwindow.c; cvs diff -u -r 1.39.2.44 -r 1.39.2.45 src/mainwindow.h; ) > 3.4.0cvs36.patchset
debug_print("shutting down\n");
inc_autocheck_timer_remove();
- if (prefs_common.clean_on_exit && !emergency_exit) {
- main_window_empty_trash(mainwin, prefs_common.ask_on_clean);
- }
-
#ifdef HAVE_NETWORKMANAGER_SUPPORT
if (prefs_common.work_offline && went_offline_nm)
prefs_common.work_offline = FALSE;
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mainwin->progressbar), "");
}
-void main_window_empty_trash(MainWindow *mainwin, gboolean confirm)
+static gboolean main_window_empty_trash(MainWindow *mainwin, gboolean confirm)
{
if (confirm && procmsg_have_trashed_mails_fast()) {
- if (alertpanel(_("Empty trash"),
+ AlertValue val = alertpanel(_("Empty trash"),
_("Delete all messages in trash folders?"),
- GTK_STOCK_NO, "+" GTK_STOCK_YES, NULL)
- != G_ALERTALTERNATE)
- return;
+ GTK_STOCK_NO, "+" GTK_STOCK_YES, _("Don't quit"));
+ if (val == G_ALERTALTERNATE) {
+ debug_print("will empty trash\n");
+ } else if (val == G_ALERTDEFAULT) {
+ debug_print("will not empty trash\n");
+ return TRUE;
+ } else {
+ return FALSE; /* cancel exit */
+ }
manage_window_focus_in(mainwin->window, NULL, NULL);
}
if (mainwin->summaryview->folder_item &&
mainwin->summaryview->folder_item->stype == F_TRASH)
gtk_widget_grab_focus(mainwin->folderview->ctree);
+ return TRUE;
}
static void main_window_add_mailbox(MainWindow *mainwin)
static void app_exit_cb(MainWindow *mainwin, guint action, GtkWidget *widget)
{
+ if (prefs_common.clean_on_exit) {
+ if (!main_window_empty_trash(mainwin, prefs_common.ask_on_clean))
+ return;
+ }
+
if (prefs_common.confirm_on_exit) {
if (alertpanel(_("Exit"), _("Exit Claws Mail?"),
GTK_STOCK_CANCEL, GTK_STOCK_QUIT, NULL)