Commit Diff


commit - 6f1b42f263b7acd091cfae63c46a15c26e82a721
commit + a00047c8ca49fe4b9529d03c403a093b438847ac
blob - 2d29ee5f78448955e7e95fc357c4117142309068 (mode 644)
blob + /dev/null
--- src/export.c
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2024 the Claws Mail team and Hiroyuki Yamamoto
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "defs.h"
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "claws.h"
-#include "main.h"
-#include "inc.h"
-#include "mbox.h"
-#include "filesel.h"
-#include "foldersel.h"
-#include "gtkutils.h"
-#include "manage_window.h"
-#include "folder.h"
-#include "utils.h"
-#include "codeconv.h"
-#include "alertpanel.h"
-
-static GtkWidget *window;
-static GtkWidget *src_entry;
-static GtkWidget *file_entry;
-static GtkWidget *src_button;
-static GtkWidget *file_button;
-static GtkWidget *ok_button;
-static GtkWidget *cancel_button;
-static gboolean export_ok; /* see export_mbox() return values */
-
-static void export_create(void);
-static void export_ok_cb(GtkWidget *widget, gpointer data);
-static void export_cancel_cb(GtkWidget *widget, gpointer data);
-static void export_srcsel_cb(GtkWidget *widget, gpointer data);
-static void export_filesel_cb(GtkWidget *widget, gpointer data);
-static gint delete_event(GtkWidget *widget, GdkEventAny *event, gpointer data);
-
-gint export_mbox(FolderItem *default_src)
-/* return values: -2 skipped/cancelled, -1 error, 0 OK */
-{
-	gchar *src_id = NULL;
-
-	export_ok = -2;	// skipped or cancelled
-
-	if (!window) {
-		export_create();
-	}
-	else {
-		gtk_widget_show(window);
-	}
-
-	gtk_window_set_modal(GTK_WINDOW(window), TRUE);
-	change_dir(claws_get_startup_dir());
-
-	if (default_src && default_src->path) {
-		src_id = folder_item_get_identifier(default_src);
-	}
-
-	if (src_id) {
-		gtk_entry_set_text(GTK_ENTRY(src_entry), src_id);
-		g_free(src_id);
-	} else {
-		gtk_entry_set_text(GTK_ENTRY(src_entry), "");
-	}
-	gtk_entry_set_text(GTK_ENTRY(file_entry), "");
-	gtk_widget_grab_focus(file_entry);
-
-	manage_window_set_transient(GTK_WINDOW(window));
-
-	gtk_main();
-
-	gtk_widget_hide(window);
-	gtk_window_set_modal(GTK_WINDOW(window), FALSE);
-
-	return export_ok;
-}
-
-static void export_create(void)
-{
-	GtkWidget *vbox;
-	GtkWidget *hbox;
-	GtkWidget *desc_label;
-	GtkWidget *table;
-	GtkWidget *file_label;
-	GtkWidget *src_label;
-	GtkWidget *confirm_area;
-
-	window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "export");
-	gtk_window_set_title(GTK_WINDOW(window), _("Export to mbox file"));
-	gtk_container_set_border_width(GTK_CONTAINER(window), 5);
-	gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
-	gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
-	gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
-	g_signal_connect(G_OBJECT(window), "delete_event",
-			 G_CALLBACK(delete_event), NULL);
-	MANAGE_WINDOW_SIGNALS_CONNECT(window);
-
-	vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
-	gtk_container_add(GTK_CONTAINER(window), vbox);
-
-	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
-	gtk_container_set_border_width(GTK_CONTAINER(hbox), 4);
-
-	desc_label = gtk_label_new
-		(_("Locate the folder to export and specify the mbox file."));
-	gtk_label_set_line_wrap(GTK_LABEL(desc_label), TRUE);
-	gtk_box_pack_start(GTK_BOX(hbox), desc_label, FALSE, FALSE, 0);
-
-	table = gtk_grid_new();
-	gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
-	gtk_container_set_border_width(GTK_CONTAINER(table), 8);
-	gtk_grid_set_row_spacing(GTK_GRID(table), 8);
-	gtk_grid_set_column_spacing(GTK_GRID(table), 8);
-	gtk_widget_set_size_request(table, 420, -1);
-
-	src_label = gtk_label_new(_("Source folder:"));
-	gtk_label_set_xalign(GTK_LABEL(src_label), 1.0);
-	gtk_grid_attach(GTK_GRID(table), src_label, 0, 0, 1, 1);
-
-	file_label = gtk_label_new(_("Mbox file:"));
-	gtk_label_set_xalign(GTK_LABEL(file_label), 1.0);
-	gtk_grid_attach(GTK_GRID(table), file_label, 0, 1, 1, 1);
-
-	src_entry = gtk_entry_new();
-	gtk_grid_attach(GTK_GRID(table), src_entry, 1, 0, 1, 1);
-	gtk_widget_set_hexpand(src_entry, TRUE);
-	gtk_widget_set_halign(src_entry, GTK_ALIGN_FILL);
-
-	file_entry = gtk_entry_new();
-	gtk_entry_set_activates_default(GTK_ENTRY(file_entry), TRUE);
-	gtk_grid_attach(GTK_GRID(table), file_entry, 1, 1, 1, 1);
-	gtk_widget_set_hexpand(file_entry, TRUE);
-	gtk_widget_set_halign(file_entry, GTK_ALIGN_FILL);
-
-	src_button = gtkut_get_browse_directory_btn(_("_Browse"));
-	gtk_grid_attach(GTK_GRID(table), src_button, 2, 0, 1, 1);
-
-	g_signal_connect(G_OBJECT(src_button), "clicked",
-			 G_CALLBACK(export_srcsel_cb), NULL);
-
-	file_button = gtkut_get_browse_file_btn(_("B_rowse"));
-	gtk_grid_attach(GTK_GRID(table), file_button, 2, 1, 1, 1);
-
-	g_signal_connect(G_OBJECT(file_button), "clicked",
-			 G_CALLBACK(export_filesel_cb), NULL);
-
-	gtkut_stock_button_set_create(&confirm_area,
-				      &cancel_button, NULL, _("_Cancel"),
-				      &ok_button, NULL, _("_OK"),
-				      NULL, NULL, NULL);
-	gtk_box_pack_end(GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
-	gtk_widget_grab_default(ok_button);
-
-	g_signal_connect(G_OBJECT(ok_button), "clicked",
-			 G_CALLBACK(export_ok_cb), NULL);
-	g_signal_connect(G_OBJECT(cancel_button), "clicked",
-			 G_CALLBACK(export_cancel_cb), NULL);
-
-	gtk_widget_show_all(window);
-}
-
-static void export_ok_cb(GtkWidget *widget, gpointer data)
-{
-	const gchar *srcdir, *utf8mbox;
-	FolderItem *src;
-	gchar *mbox;
-
-	srcdir = gtk_entry_get_text(GTK_ENTRY(src_entry));
-	utf8mbox = gtk_entry_get_text(GTK_ENTRY(file_entry));
-
-	if (!utf8mbox || !*utf8mbox) {
-		alertpanel_error(_("Mbox file can't be left empty."));
-		gtk_widget_grab_focus(file_entry);
-		return;
-	}
-	if (!srcdir || !*srcdir) {
-		alertpanel_error(_("Source folder can't be left empty."));
-		gtk_widget_grab_focus(src_entry);
-		return;
-	}
-
-	mbox = g_filename_from_utf8(utf8mbox, -1, NULL, NULL, NULL);
-	if (!mbox) {
-		g_warning("export_ok_cb(): failed to convert character set");
-		mbox = g_strdup(utf8mbox);
-	}
-
-	src = folder_find_item_from_identifier(srcdir);
-	if (!src) {
-		alertpanel_error(_("Couldn't find the source folder."));
-		gtk_widget_grab_focus(src_entry);
-		g_free(mbox);
-		return;
-	} else {
-		export_ok = export_to_mbox(src, mbox);
-	}
-
-	g_free(mbox);
-
-	if (gtk_main_level() > 1)
-		gtk_main_quit();
-}
-
-static void export_cancel_cb(GtkWidget *widget, gpointer data)
-{
-	if (gtk_main_level() > 1)
-		gtk_main_quit();
-}
-
-static void export_filesel_cb(GtkWidget *widget, gpointer data)
-{
-	gchar *filename;
-
-	filename = filesel_select_file_save(_("Select exporting file"), NULL);
-	if (!filename) return;
-
-	if (g_getenv ("G_BROKEN_FILENAMES")) {
-		const gchar *oldstr = filename;
-		filename = conv_codeset_strdup (filename,
-						conv_get_locale_charset_str(),
-						CS_UTF_8);
-		if (!filename) {
-			g_warning("export_filesel_cb(): failed to convert character set");
-			filename = g_strdup(oldstr);
-		}
-		gtk_entry_set_text(GTK_ENTRY(file_entry), filename);
-		g_free(filename);
-	} else
-		gtk_entry_set_text(GTK_ENTRY(file_entry), filename);
-}
-
-static void export_srcsel_cb(GtkWidget *widget, gpointer data)
-{
-	FolderItem *src;
-
-	src = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL, FALSE,
-			_("Select folder to export"));
-	if (src && src->path)
-		gtk_entry_set_text(GTK_ENTRY(src_entry), src->path);
-}
-
-static gint delete_event(GtkWidget *widget, GdkEventAny *event, gpointer data)
-{
-	export_cancel_cb(NULL, NULL);
-	return TRUE;
-}
blob - c56ef212b7afa75b74470fbb24d2c154a1dea014 (mode 644)
blob + /dev/null
--- src/export.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * 
- */
-
-#ifndef __EXPORT_H__
-#define __EXPORT_H__
-
-#include <glib.h>
-
-#include "folder.h"
-
-gint export_mbox(FolderItem *default_src);
-
-#endif /* __EXPORT_H__ */
blob - 5b807c82b3cb5c7e37fa5144cbdcabe11a348d0b
blob + ff8056081e163f6a672f4900d0f8b677bb65f741
--- src/folderview.c
+++ src/folderview.c
@@ -2471,7 +2471,6 @@ static void folderview_startup_folder_cb(GtkAction *ac
 
 	item = folderview_get_selected_item(folderview);
 
-	prefs_common.goto_last_folder_on_startup = FALSE;
 	prefs_common.startup_folder = folder_item_get_identifier(item);
 	prefs_common.goto_folder_on_startup = prefs_common.startup_folder? TRUE : FALSE;
 }
blob - 7bcd5382abb660b0ed07e823c16fc3f34b452241
blob + 24b8ec400f59cba75f149aad556ced44672ce505
--- src/imap.c
+++ src/imap.c
@@ -976,15 +976,9 @@ static gint imap_auth(IMAPSession *session, const gcha
 				     "account preferences.");
 		}
 		if (time(NULL) - last_login_err > 10) {
-			if (prefs_common.show_recv_err_dialog) {
-				alertpanel_error_log(_("Connection to %s failed: "
-					"login refused.%s"),
-					server, ext_info);
-			} else {
-				log_error(LOG_PROTOCOL, _("Connection to %s failed: "
-					"login refused.%s\n"),
-					server, ext_info);
-			}
+			char msg[BUFSIZ];
+			snprintf(msg, sizeof(msg), "login to %s: login refused: %s", server, ext_info);
+			alertpanel_error_log("%s", msg);
 		}
 		last_login_err = time(NULL);
 	}
@@ -1182,14 +1176,7 @@ static IMAPSession *imap_session_new(Folder * folder,
 		else
 			imap_handle_error(NULL, account->recv_server, r);
 
-		if(prefs_common.show_recv_err_dialog) {
-			alertpanel_error_log(_("Can't connect to IMAP server: %s:%d"),
-					 account->recv_server, port);
-		} else {
-			log_error(LOG_PROTOCOL, _("Can't connect to IMAP server: %s:%d\n"),
-					 account->recv_server, port);
-		}
-
+		alertpanel_error_log("Cannot connect to IMAP server: %s:%d", account->recv_server, port);
 		return NULL;
 	}
 
@@ -1282,11 +1269,7 @@ try_again:
 			}
 			goto try_again;
 		} else {
-			if (!prefs_common.show_recv_err_dialog) {
-				log_error(LOG_PROTOCOL, _("Couldn't login to IMAP server %s.\n"), account->recv_server);
-				mainwindow_show_error();
-			} else
-				alertpanel_error_log(_("Couldn't login to IMAP server %s."), account->recv_server);
+			alertpanel_error_log("Cannot login to IMAP server %s", account->recv_server);
 		}
 
 		if (acc_pass != NULL) {
blob - d0ebe04cef5b4b3bceeeea6885648894f810f7bd (mode 644)
blob + /dev/null
--- src/import.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2024 the Claws Mail team and Hiroyuki Yamamoto
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "defs.h"
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "claws.h"
-#include "main.h"
-#include "inc.h"
-#include "mbox.h"
-#include "folderview.h"
-#include "filesel.h"
-#include "foldersel.h"
-#include "gtkutils.h"
-#include "manage_window.h"
-#include "folder.h"
-#include "codeconv.h"
-#include "alertpanel.h"
-
-static GtkWidget *window;
-static GtkWidget *file_entry;
-static GtkWidget *dest_entry;
-static GtkWidget *file_button;
-static GtkWidget *dest_button;
-static GtkWidget *ok_button;
-static GtkWidget *cancel_button;
-static gboolean import_ok; /* see import_mbox() return values */
-
-static void import_create(void);
-static void import_ok_cb(GtkWidget *widget, gpointer data);
-static void import_cancel_cb(GtkWidget *widget, gpointer data);
-static void import_filesel_cb(GtkWidget *widget, gpointer data);
-static void import_destsel_cb(GtkWidget *widget, gpointer data);
-static gint delete_event(GtkWidget *widget, GdkEventAny *event, gpointer data);
-
-gint import_mbox(FolderItem *default_dest, const gchar* mbox_file)
-/* return values: -2 skipped/cancelled, -1 error, 0 OK */
-{
-	gchar *dest_id = NULL;
-
-	import_ok = -2;	// skipped or cancelled
-
-	if (!window) {
-		import_create();
-	}
-	else {
-		gtk_widget_show(window);
-	}
-
-	gtk_window_set_modal(GTK_WINDOW(window), TRUE);
-	change_dir(claws_get_startup_dir());
-
-	if (default_dest && default_dest->path) {
-		dest_id = folder_item_get_identifier(default_dest);
-	}
-
-	if (dest_id) {
-		gtk_entry_set_text(GTK_ENTRY(dest_entry), dest_id);
-		g_free(dest_id);
-	} else {
-		gtk_entry_set_text(GTK_ENTRY(dest_entry), "");
-	}
-	if (mbox_file)
-		gtk_entry_set_text(GTK_ENTRY(file_entry), mbox_file);
-	else
-		gtk_entry_set_text(GTK_ENTRY(file_entry), "");
-	gtk_widget_grab_focus(file_entry);
-
-	manage_window_set_transient(GTK_WINDOW(window));
-
-	gtk_main();
-
-	gtk_widget_hide(window);
-	gtk_window_set_modal(GTK_WINDOW(window), FALSE);
-
-	return import_ok;
-}
-
-static void import_create(void)
-{
-	GtkWidget *vbox;
-	GtkWidget *hbox;
-	GtkWidget *desc_label;
-	GtkWidget *table;
-	GtkWidget *file_label;
-	GtkWidget *dest_label;
-	GtkWidget *confirm_area;
-
-	window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "import");
-	gtk_window_set_title(GTK_WINDOW(window), _("Import mbox file"));
-	gtk_window_set_modal(GTK_WINDOW(window), TRUE);
-	gtk_container_set_border_width(GTK_CONTAINER(window), 5);
-	gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
-	gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
-	gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG);
-	g_signal_connect(G_OBJECT(window), "delete_event",
-			 G_CALLBACK(delete_event), NULL);
-	MANAGE_WINDOW_SIGNALS_CONNECT(window);
-
-	vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
-	gtk_container_add(GTK_CONTAINER(window), vbox);
-
-	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
-	gtk_container_set_border_width(GTK_CONTAINER(hbox), 4);
-
-	desc_label = gtk_label_new
-		(_("Locate the mbox file and specify the destination folder."));
-	gtk_label_set_line_wrap(GTK_LABEL(desc_label), TRUE);
-	gtk_box_pack_start(GTK_BOX(hbox), desc_label, FALSE, FALSE, 0);
-
-	table = gtk_grid_new();
-	gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
-	gtk_container_set_border_width(GTK_CONTAINER(table), 8);
-	gtk_grid_set_row_spacing(GTK_GRID(table), 8);
-	gtk_grid_set_column_spacing(GTK_GRID(table), 8);
-	gtk_widget_set_size_request(table, 420, -1);
-
-	file_label = gtk_label_new(_("Mbox file:"));
-	gtk_label_set_xalign(GTK_LABEL(file_label), 1.0);
-	gtk_grid_attach(GTK_GRID(table), file_label, 0, 0, 1, 1);
-
-	dest_label = gtk_label_new(_("Destination folder:"));
-	gtk_label_set_xalign(GTK_LABEL(dest_label), 1.0);
-	gtk_grid_attach(GTK_GRID(table), dest_label, 0, 1, 1, 1);
-
-	file_entry = gtk_entry_new();
-	gtk_grid_attach(GTK_GRID(table), file_entry, 1, 0, 1, 1);
-	gtk_widget_set_hexpand(file_entry, TRUE);
-	gtk_widget_set_halign(file_entry, GTK_ALIGN_FILL);
-
-	dest_entry = gtk_entry_new();
-	gtk_grid_attach(GTK_GRID(table), dest_entry, 1, 1, 1, 1);
-	gtk_widget_set_hexpand(dest_entry, TRUE);
-	gtk_widget_set_halign(dest_entry, GTK_ALIGN_FILL);
-
-	file_button = gtkut_get_browse_file_btn(_("_Browse"));
-	gtk_grid_attach(GTK_GRID(table), file_button, 2, 0, 1, 1);
-
-	g_signal_connect(G_OBJECT(file_button), "clicked",
-			 G_CALLBACK(import_filesel_cb), NULL);
-
-	dest_button = gtkut_get_browse_directory_btn(_("B_rowse"));
-	gtk_grid_attach(GTK_GRID(table), dest_button, 2, 1, 1, 1);
-
-	g_signal_connect(G_OBJECT(dest_button), "clicked",
-			 G_CALLBACK(import_destsel_cb), NULL);
-
-	gtkut_stock_button_set_create(&confirm_area,
-				      &cancel_button, NULL, _("_Cancel"),
-				      &ok_button, NULL, _("_OK"),
-				      NULL, NULL, NULL);
-	gtk_box_pack_end(GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0);
-	gtk_widget_grab_default(ok_button);
-
-	g_signal_connect(G_OBJECT(ok_button), "clicked",
-			 G_CALLBACK(import_ok_cb), NULL);
-	g_signal_connect(G_OBJECT(cancel_button), "clicked",
-			 G_CALLBACK(import_cancel_cb), NULL);
-
-	gtk_widget_show_all(window);
-}
-
-static void import_ok_cb(GtkWidget *widget, gpointer data)
-{
-	GtkWidget *window;
-	const gchar *utf8mbox, *destdir;
-	FolderItem *dest;
-	gchar *mbox;
-
-	utf8mbox = gtk_entry_get_text(GTK_ENTRY(file_entry));
-	destdir = gtk_entry_get_text(GTK_ENTRY(dest_entry));
-
-	cm_return_if_fail(utf8mbox);
-	cm_return_if_fail(destdir);
-
-	if (!*utf8mbox) {
-		alertpanel_error(_("Mbox file can't be left empty."));
-		gtk_widget_grab_focus(file_entry);
-		return;
-	}
-	if (!*destdir) {
-		alertpanel_error(_("Destination folder can't be left empty."));
-		gtk_widget_grab_focus(dest_entry);
-		return;
-	}
-
-	mbox = g_filename_from_utf8(utf8mbox, -1, NULL, NULL, NULL);
-	if (!mbox) {
-		g_warning("import_ok_cb(): failed to convert character set");
-		mbox = g_strdup(utf8mbox);
-	}
-
-	dest = folder_find_item_from_identifier(destdir);
-
-	if (!dest) {
-		alertpanel_error(_("Can't find the destination folder."));
-		gtk_widget_grab_focus(dest_entry);
-		g_free(mbox);
-		return;
-	} else {
-		window = label_window_create(_("Importing mbox file..."));
-		import_ok = proc_mbox(dest, mbox, NULL);
-		label_window_destroy(window);
-	}
-
-	g_free(mbox);
-
-	if (gtk_main_level() > 0)
-		gtk_main_quit();
-}
-
-static void import_cancel_cb(GtkWidget *widget, gpointer data)
-{
-	if (gtk_main_level() > 0)
-		gtk_main_quit();
-}
-
-static void import_filesel_cb(GtkWidget *widget, gpointer data)
-{
-	gchar *filename;
-	gchar *utf8_filename;
-
-	filename = filesel_select_file_open(_("Select importing file"), NULL);
-	if (!filename) return;
-
-	utf8_filename = g_filename_to_utf8(filename, -1, NULL, NULL, NULL);
-	if (!utf8_filename) {
-		g_warning("import_filesel_cb(): failed to convert character set");
-		utf8_filename = g_strdup(filename);
-	}
-	gtk_entry_set_text(GTK_ENTRY(file_entry), utf8_filename);
-	g_free(utf8_filename);
-}
-
-static void import_destsel_cb(GtkWidget *widget, gpointer data)
-{
-	FolderItem *dest;
-	gchar *path;
-
-	dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL, FALSE,
-			_("Select folder to import to"));
-	if (!dest)
-		 return;
-	path = folder_item_get_identifier(dest);
-	gtk_entry_set_text(GTK_ENTRY(dest_entry), path);
-	g_free(path);
-}
-
-static gint delete_event(GtkWidget *widget, GdkEventAny *event, gpointer data)
-{
-	import_cancel_cb(NULL, NULL);
-	return TRUE;
-}
blob - 33eb733c8664e9a8db874dfcabbc71ca4d7a183b (mode 644)
blob + /dev/null
--- src/import.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2024 Hiroyuki Yamamoto and the Claws Mail team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __IMPORT_H__
-#define __IMPORT_H__
-
-#include <glib.h>
-
-#include "folder.h"
-
-gint import_mbox(FolderItem *default_dest, const gchar* mbox_file);
-
-#endif /* __IMPORT_H__ */
blob - a7c869026a6666c82ab8a9c55a7f50e720ff43a9
blob + 549f2e7a1059c7c2df696cf53f672176caf30cc0
--- src/inc.c
+++ src/inc.c
@@ -417,13 +417,6 @@ static IncProgressDialog *inc_progress_dialog_create(g
 	gtk_widget_set_size_request(progress->window, prefs_common.receivewin_width,
 				    prefs_common.receivewin_height);
 
-	if (prefs_common.recv_dialog_mode == RECV_DIALOG_ALWAYS ||
-	    (prefs_common.recv_dialog_mode == RECV_DIALOG_MANUAL &&
-	     !autocheck)) {
-		dialog->show_dialog = TRUE;
-		gtk_widget_show_now(progress->window);
-	}
-
 	dialog->dialog = progress;
 	dialog->progress_tv = g_date_time_new_now_local();
 	dialog->folder_tv = g_date_time_new_now_local();
@@ -644,14 +637,6 @@ static gint inc_start(IncProgressDialog *inc_dialog)
 			break;
 		}
 
-		if (pop3_session->error_val == PS_AUTHFAIL) {
-			if(prefs_common.show_recv_err_dialog) {
-				if((prefs_common.recv_dialog_mode == RECV_DIALOG_ALWAYS) ||
-				    ((prefs_common.recv_dialog_mode == RECV_DIALOG_MANUAL) && focus_window))
-					manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
-			}
-		}
-
 		/* CLAWS: perform filtering actions on dropped message */
 		/* CLAWS: get default inbox (perhaps per account) */
 		if (pop3_session->ac_prefs->inbox) {
@@ -710,16 +695,7 @@ static gint inc_start(IncProgressDialog *inc_dialog)
 		inc_session_destroy(session);
 		inc_dialog->queue_list = g_list_remove(inc_dialog->queue_list, session);
 	}
-
-	if (prefs_common.close_recv_dialog || !inc_dialog->show_dialog) {
-		inc_progress_dialog_destroy(inc_dialog);
-	} else {
-		gtk_window_set_title(GTK_WINDOW(inc_dialog->dialog->window), fin_msg);
-		gtk_button_set_label(GTK_BUTTON(inc_dialog->dialog->cancel_btn), "_Close");
-		gtk_button_set_image(GTK_BUTTON(inc_dialog->dialog->cancel_btn),
-			gtk_image_new_from_icon_name("window-close-symbolic", GTK_ICON_SIZE_BUTTON));
-	}
-
+	inc_progress_dialog_destroy(inc_dialog);
 	return new_msgs;
 }
 
@@ -766,18 +742,11 @@ static IncState inc_pop3_session_do(IncSession *sessio
 			    prefs_common.io_timeout_secs * 1000);
 
 	if (session_connect(SESSION(pop3_session), server, port) < 0) {
-		if(prefs_common.show_recv_err_dialog) {
-			if((prefs_common.recv_dialog_mode == RECV_DIALOG_ALWAYS) ||
-			    ((prefs_common.recv_dialog_mode == RECV_DIALOG_MANUAL) && focus_window)) {
-				manage_window_focus_in(inc_dialog->dialog->window, NULL, NULL);
-			}
-			alertpanel_error(_("Can't connect to POP3 server: %s:%d"),
-					 server, port);
-			manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
-		} else {
-			log_error(LOG_PROTOCOL, _("Can't connect to POP3 server: %s:%d\n"),
-			    server, port);
-		}
+		char msg[BUFSIZ];
+		snprintf(msg, sizeof(msg), "Cannot connect to POP3 server at %s:%d", server, port);
+		alertpanel_error(msg);
+		manage_window_focus_out(inc_dialog->dialog->window, NULL, NULL);
+		log_error(LOG_PROTOCOL, msg);
 		session->inc_state = INC_CONNECT_ERROR;
 		statusbar_pop_all();
 		return INC_CONNECT_ERROR;
@@ -1066,8 +1035,6 @@ static void inc_put_error(IncState istate, Pop3Session
 	switch (istate) {
 	case INC_CONNECT_ERROR:
 		fatal_error = TRUE;
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		err_msg = g_strdup_printf(_("Connection to %s:%d failed."),
 					  SESSION(session)->server,
 					  SESSION(session)->port);
@@ -1075,8 +1042,6 @@ static void inc_put_error(IncState istate, Pop3Session
 	case INC_ERROR:
 		log_msg = _("Error occurred while processing mail.");
 		fatal_error = TRUE;
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		if (session->error_msg)
 			err_msg = g_strdup_printf
 				(_("Error occurred while processing mail:\n%s"),
@@ -1096,24 +1061,18 @@ static void inc_put_error(IncState istate, Pop3Session
 		break;
 	case INC_SOCKET_ERROR:
 		log_msg = _("Socket error.");
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		err_msg = g_strdup_printf(_("Socket error on connection to %s:%d."),
 					  SESSION(session)->server,
 					  SESSION(session)->port);
 		break;
 	case INC_EOF:
 		log_msg = _("Connection closed by the remote host.");
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		err_msg = g_strdup_printf(_("Connection to %s:%d closed by the remote host."),
 					  SESSION(session)->server,
 					  SESSION(session)->port);
 		break;
 	case INC_LOCKED:
 		log_msg = _("Mailbox is locked.");
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		if (session->error_msg)
 			err_msg = g_strdup_printf(_("Mailbox is locked:\n%s"),
 						  session->error_msg);
@@ -1123,8 +1082,6 @@ static void inc_put_error(IncState istate, Pop3Session
 	case INC_AUTH_FAILED:
 		log_msg = _("Authentication failed.");
 		fatal_error = TRUE;
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		if (session->error_msg)
 			err_msg = g_strdup_printf
 				(_("Authentication failed:\n%s"), session->error_msg);
@@ -1135,8 +1092,6 @@ static void inc_put_error(IncState istate, Pop3Session
 		log_msg = _("Session timed out. You may be able to "
 			    "recover by increasing the timeout value in "
 			    "Preferences/Other/Miscellaneous.");
-		if (!prefs_common.show_recv_err_dialog)
-			break;
 		err_msg = g_strdup_printf(_("Connection to %s:%d timed out."),
 					  SESSION(session)->server,
 					  SESSION(session)->port);
@@ -1151,8 +1106,6 @@ static void inc_put_error(IncState istate, Pop3Session
 		else
 			log_warning(LOG_PROTOCOL, "%s\n", log_msg);
 	}
-	if (!prefs_common.show_recv_err_dialog && fatal_error)
-		mainwindow_show_error();
 
 	if (err_msg) {
 		alertpanel_error_log("%s", err_msg);
blob - 950fd90232125bb635d5095dece6d78d0998b856
blob + 9e20c709981d8cc970ba99f5fb3345eb49703e07
--- src/main.c
+++ src/main.c
@@ -59,7 +59,6 @@
 #include "inc.h"
 #include "imap.h"
 #include "send_message.h"
-#include "import.h"
 #include "manage_window.h"
 #include "alertpanel.h"
 #include "statusbar.h"
@@ -124,7 +123,6 @@ static struct RemoteCmd {
 	const gchar *target;
 	gboolean debug;
 	const gchar *geometry;
-	const gchar *import_mbox;
 } cmd;
 
 static void parse_cmd_opt(int argc, char *argv[]);
@@ -511,16 +509,9 @@ int main(int argc, char *argv[])
 	folderview_thaw(mainwin->folderview);
 	main_window_cursor_normal(mainwin);
 
-	if (cmd.import_mbox) {
-		mainwindow_import_mbox(cmd.import_mbox);
-	}
-
 	if (!cmd.target && prefs_common.goto_folder_on_startup &&
 	    folder_find_item_from_identifier(prefs_common.startup_folder) != NULL) {
 		cmd.target = prefs_common.startup_folder;
-	} else if (!cmd.target && prefs_common.goto_last_folder_on_startup &&
-	    folder_find_item_from_identifier(prefs_common.last_opened_folder) != NULL) {
-		cmd.target = prefs_common.last_opened_folder;
 	}
 
 	if (cmd.receive_all && !cmd.target) {
@@ -602,11 +593,6 @@ static void exit_claws(MainWindow *mainwin)
 	if((item = folderview_get_opened_item(mainwin->folderview)) != NULL) {
 		summary_save_prefs_to_folderitem(
 			mainwin->summaryview, item);
-		if (prefs_common.last_opened_folder != NULL)
-			g_free(prefs_common.last_opened_folder);
-		prefs_common.last_opened_folder =
-			!prefs_common.goto_last_folder_on_startup ? NULL :
-			folder_item_get_identifier(item);
 	}
 
 	/* save all state before exiting */
@@ -933,7 +919,6 @@ static void parse_cmd_opt(int argc, char *argv[])
  			                  "                         show the status of each folder"));
 			g_print("%s\n", _("  --select folder[/msg]  jump to the specified folder/message\n"
 					  "                         folder is a folder id like 'folder/subfolder', a file:// uri or an absolute path"));
-			g_print("%s\n", _("  --import-mbox file     import the specified mbox file\n"));
 			g_print("%s\n", _("  --online               switch to online mode"));
 			g_print("%s\n", _("  --offline              switch to offline mode"));
 			g_print("%s\n", _("  --exit --quit -q       exit Claws Mail"));
@@ -975,13 +960,6 @@ static void parse_cmd_opt(int argc, char *argv[])
 		    } else {
                 parse_cmd_opt_error(_("Missing folder argument for option %s"), argv[i]);
 			}
-		} else if (!strcmp(argv[i], "--import-mbox")) {
-			if (i+1 < argc) {
-				cmd.import_mbox = argv[i+1];
-				i++;
-			} else {
-				parse_cmd_opt_error(_("Missing file argument for option %s"), argv[i]);
-			}
 		} else if (i == 1 && argc == 2) {
 			/* only one parameter. Do something intelligent about it */
 			if ((strstr(argv[i], "@") || !STRNCMP(argv[i], "mailto:")) && !strstr(argv[i], "://")) {
@@ -1283,10 +1261,6 @@ static gint prohibit_duplicate_launch(int *argc, char 
 		gchar *str = g_strdup_printf("select %s\n", cmd.target);
 		CM_FD_WRITE_ALL(str);
 		g_free(str);
-	} else if (cmd.import_mbox) {
-		gchar *str = g_strdup_printf("import %s\n", cmd.import_mbox);
-		CM_FD_WRITE_ALL(str);
-		g_free(str);
 	} else if (cmd.search) {
 		gchar buf[BUFFSIZE];
 		gchar *str =
@@ -1469,9 +1443,6 @@ static void lock_socket_input_cb(gpointer data,
 	} else if (!STRNCMP(buf, "select ")) {
 		const gchar *target = buf+7;
 		mainwindow_jump_to(target, TRUE);
-	} else if (!STRNCMP(buf, "import ")) {
-		const gchar *mbox_file = buf + 7;
-		mainwindow_import_mbox(mbox_file);
 	} else if (!STRNCMP(buf, "exit")) {
 		app_will_exit(NULL, mainwin);
 	}
blob - f648114613c5b64dfeecabdb2836029d4e817f58
blob + 79b008002735b0346ecbfce17d9173fbcbdf1a73
--- src/mainwindow.c
+++ src/mainwindow.c
@@ -41,8 +41,6 @@
 #include "log.h"
 #include "compose.h"
 #include "procmsg.h"
-#include "import.h"
-#include "export.h"
 #include "password.h"
 #include "prefs_common.h"
 #include "prefs_actions.h"
@@ -123,12 +121,6 @@ static void add_mailbox_cb	 (GtkAction	*action,
 				  gpointer	 data);
 static void foldersort_cb	 (GtkAction	*action,
 				  gpointer	 data);
-static void import_mbox_cb	 (GtkAction	*action,
-				  gpointer	 data);
-static void export_mbox_cb	 (GtkAction	*action,
-				  gpointer	 data);
-static void export_list_mbox_cb  (GtkAction	*action,
-				  gpointer	 data);
 static void empty_trash_cb	 (GtkAction	*action,
 				  gpointer	 data);
 static void save_as_cb		 (GtkAction	*action,
@@ -433,11 +425,6 @@ static GtkActionEntry mainwin_entries[] =
 
 	{"File/SortMailboxes",          NULL, N_("Change mailbox order..."), NULL, NULL, G_CALLBACK(foldersort_cb) },
 
-	/* {"File/---",                 NULL, "---", NULL, NULL, NULL }, */
-	{"File/ImportMbox",             NULL, N_("_Import mbox file..."), NULL, NULL, G_CALLBACK(import_mbox_cb) },
-	{"File/ExportMbox",             NULL, N_("_Export to mbox file..."), NULL, NULL, G_CALLBACK(export_mbox_cb) },
-	{"File/ExportSelMbox",          NULL, N_("_Export selected to mbox file..."), NULL, NULL, G_CALLBACK(export_list_mbox_cb) },
-	/* {"File/---",                 NULL, "---", NULL, NULL, NULL }, */
 	{"File/EmptyTrashes",           NULL, N_("Empty all _Trash folders"), "<shift>D", NULL, G_CALLBACK(empty_trash_cb) },
 	/* {"File/---",                 NULL, "---", NULL, NULL, NULL }, */
 
@@ -959,10 +946,6 @@ MainWindow *main_window_create()
 	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File/AddMailbox", "MH", "File/AddMailbox/MH", GTK_UI_MANAGER_MENUITEM)
 	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "Separator1", "File/---", GTK_UI_MANAGER_SEPARATOR)
 	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "SortMailboxes", "File/SortMailboxes", GTK_UI_MANAGER_MENUITEM)
-	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "Separator2", "File/---", GTK_UI_MANAGER_SEPARATOR)
-	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "ImportMbox", "File/ImportMbox", GTK_UI_MANAGER_MENUITEM)
-	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "ExportMbox", "File/ExportMbox", GTK_UI_MANAGER_MENUITEM)
-	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "ExportSelMbox", "File/ExportSelMbox", GTK_UI_MANAGER_MENUITEM)
 	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "Separator3", "File/---", GTK_UI_MANAGER_SEPARATOR)
 	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "EmptyTrashes", "File/EmptyTrashes", GTK_UI_MANAGER_MENUITEM)
 	MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/File", "Separator4", "File/---", GTK_UI_MANAGER_SEPARATOR)
@@ -2967,33 +2950,6 @@ static void foldersort_cb(GtkAction *action, gpointer 
 	foldersort_open();
 }
 
-static void import_mbox_cb(GtkAction *action, gpointer data)
-{
-	MainWindow *mainwin = (MainWindow *)data;
-	/* only notify if import has failed */
-	if (import_mbox(mainwin->summaryview->folder_item, NULL) == -1) {
-		alertpanel_error(_("Mbox import has failed."));
-	}
-}
-
-static void export_mbox_cb(GtkAction *action, gpointer data)
-{
-	MainWindow *mainwin = (MainWindow *)data;
-	/* only notify if export has failed */
-	if (export_mbox(mainwin->summaryview->folder_item) == -1) {
-		alertpanel_error(_("Export to mbox has failed."));
-	}
-}
-
-static void export_list_mbox_cb(GtkAction *action, gpointer data)
-{
-	MainWindow *mainwin = (MainWindow *)data;
-	/* only notify if export has failed */
-	if (summaryview_export_mbox_list(mainwin->summaryview) == -1) {
-		alertpanel_error(_("Export to mbox has failed."));
-	}
-}
-
 static void empty_trash_cb(GtkAction *action, gpointer data)
 {
 	MainWindow *mainwin = (MainWindow *)data;
@@ -4165,14 +4121,3 @@ static void goto_prev_part_cb(GtkAction *action, gpoin
 	&&  mainwin->messageview->mimeview)
 		mimeview_select_prev_part(mainwin->messageview->mimeview);
 }
-
-void mainwindow_import_mbox(const gchar* mbox_file)
-{
-	MainWindow *mainwin = mainwindow_get_mainwindow();
-
-	strcrlftrunc((gchar *) mbox_file);
-	/* only notify if import has failed */
-	if (import_mbox(mainwin->summaryview->folder_item, mbox_file) == -1) {
-		alertpanel_error(_("Mbox import has failed."));
-	}
-}
blob - b97f118e9a897827e685b6f7850ea821c3427594
blob + 3f05add1efc094af4e57289cf7ff33fcecffd948
--- src/mbox.c
+++ src/mbox.c
@@ -266,141 +266,3 @@ int copy_mbox(gint srcfd, const gchar *dest) {
 	}
 	return fclose(dest_fp);
 }
-
-gint export_list_to_mbox(GSList *mlist, const gchar *mbox)
-/* return values: -2 skipped, -1 error, 0 OK */
-{
-	GSList *cur;
-	MsgInfo *msginfo;
-	FILE *msg_fp;
-	FILE *mbox_fp;
-	gchar buf[BUFFSIZE];
-	int err = 0;
-
-	gint msgs = 1, total = g_slist_length(mlist);
-	if (g_file_test(mbox, G_FILE_TEST_EXISTS) == TRUE) {
-		if (alertpanel_full(_("Overwrite mbox file"),
-					_("This file already exists. Do you want to overwrite it?"),
-					NULL, _("_Cancel"), NULL, _("Overwrite"), NULL, NULL,
-					ALERTFOCUS_FIRST, FALSE, NULL, ALERT_WARNING)
-				!= G_ALERTALTERNATE) {
-			return -2;
-		}
-	}
-
-	if ((mbox_fp = g_fopen(mbox, "wb")) == NULL) {
-		FILE_OP_ERROR(mbox, "g_fopen");
-		alertpanel_error(_("Could not create mbox file:\n%s\n"), mbox);
-		return -1;
-	}
-
-	statusbar_print_all(_("Exporting to mbox..."));
-	for (cur = mlist; cur != NULL; cur = cur->next) {
-		int len;
-		gchar buft[BUFFSIZE];
-		msginfo = (MsgInfo *)cur->data;
-
-		msg_fp = procmsg_open_message(msginfo, TRUE);
-		if (!msg_fp) {
-			continue;
-		}
-
-		strncpy2(buf,
-			 msginfo->from ? msginfo->from :
-			 cur_account && cur_account->address ?
-			 cur_account->address : "unknown",
-			 sizeof(buf));
-		extract_address(buf);
-
-		if (fprintf(mbox_fp, "From %s %s",
-			buf, ctime_r(&msginfo->date_t, buft)) < 0) {
-			err = -1;
-			fclose(msg_fp);
-			goto out;
-		}
-
-		buf[0] = '\0';
-
-		/* write email to mboxrc */
-		while (fgets(buf, sizeof(buf), msg_fp) != NULL) {
-			/* quote any From, >From, >>From, etc., according to mbox format specs */
-			int offset;
-
-			offset = 0;
-			/* detect leading '>' char(s) */
-			while (buf[offset] == '>') {
-				offset++;
-			}
-			if (!strncmp(buf+offset, "From ", 5)) {
-				if (fputc('>', mbox_fp) == EOF) {
-					err = -1;
-					fclose(msg_fp);
-					goto out;
-				}
-			}
-			if (fputs(buf, mbox_fp) == EOF) {
-				err = -1;
-				fclose(msg_fp);
-				goto out;
-			}
-		}
-
-		/* force last line to end w/ a newline */
-		len = strlen(buf);
-		if (len > 0) {
-			len--;
-			if ((buf[len] != '\n') && (buf[len] != '\r')) {
-				if (fputc('\n', mbox_fp) == EOF) {
-					err = -1;
-					fclose(msg_fp);
-					goto out;
-				}
-			}
-		}
-
-		/* add a trailing empty line */
-		if (fputc('\n', mbox_fp) == EOF) {
-			err = -1;
-			fclose(msg_fp);
-			goto out;
-		}
-
-		fclose(msg_fp);
-		statusbar_progress_all(msgs++,total, 500);
-		if (msgs%500 == 0)
-			GTK_EVENTS_FLUSH();
-	}
-
-out:
-	statusbar_progress_all(0,0,0);
-	statusbar_pop_all();
-
-	fclose(mbox_fp);
-
-	return err;
-}
-
-/* read all messages in SRC, and store them into one MBOX file. */
-/* return values: -2 skipped, -1 error, 0 OK */
-gint export_to_mbox(FolderItem *src, const gchar *mbox)
-{
-	GSList *mlist;
-	gint ret;
-
-	cm_return_val_if_fail(src != NULL, -1);
-	cm_return_val_if_fail(src->folder != NULL, -1);
-	cm_return_val_if_fail(mbox != NULL, -1);
-
-	debug_print("Exporting messages from %s into %s...\n",
-		    src->path, mbox);
-
-	mlist = folder_item_get_msg_list(src);
-
-	folder_item_update_freeze();
-	ret = export_list_to_mbox(mlist, mbox);
-	folder_item_update_thaw();
-
-	procmsg_msg_list_free(mlist);
-
-	return ret;
-}
blob - 890b165b08684f9d066b621b633681fcbc18ff80
blob + ff987fadfd9690a8b9d878c0aefa4e07f8e7bb1f
--- src/mbox.h
+++ src/mbox.h
@@ -26,7 +26,5 @@
 
 gint proc_mbox(FolderItem *dest, const gchar *mbox, PrefsAccount *account);
 gint copy_mbox(gint srcfd, const gchar *dest);
-gint export_to_mbox (FolderItem	*src, const gchar *mbox);
-gint export_list_to_mbox(GSList *mlist, const gchar *mbox);
 
 #endif /* __MBOX_H__ */
blob - 341b8d4745379897a64537d53dbc32680ddd06ad
blob + de92c5cfec760e3066120f1022937d864e2341ae
--- src/prefs_common.c
+++ src/prefs_common.c
@@ -88,18 +88,10 @@ static PrefParam param[] = {
 	P_BOOL, NULL, NULL, NULL},
  	{"newmail_notify_cmd", "", &prefs_common.newmail_notify_cmd, P_STRING,
  	 NULL, NULL, NULL},
-	{"receive_dialog_mode", "2", &prefs_common.recv_dialog_mode, P_ENUM,
-	 NULL, NULL, NULL},
 	{"receivewin_width", "460", &prefs_common.receivewin_width, P_INT,
 	 NULL, NULL, NULL},
 	{"receivewin_height", "-1", &prefs_common.receivewin_height, P_INT,
 	 NULL, NULL, NULL},
-	{"no_receive_error_panel", "FALSE", &prefs_common.no_recv_err_panel,
-	 P_BOOL, NULL, NULL, NULL}, /* deprecated */
-	{"show_receive_error_dialog", "TRUE", &prefs_common.show_recv_err_dialog,
-	 P_BOOL, NULL, NULL, NULL},
-	{"close_receive_dialog", "TRUE", &prefs_common.close_recv_dialog,
-	 P_BOOL, NULL, NULL, NULL},
 
 	/* Send */
 	{"save_message", "TRUE", &prefs_common.savemsg, P_BOOL,
@@ -792,10 +784,6 @@ static PrefParam param[] = {
 
 	{"thread_by_subject_max_age", "10", &prefs_common.thread_by_subject_max_age,
 	P_INT, NULL, NULL, NULL },
-	{"last_opened_folder", "", &prefs_common.last_opened_folder,
-	P_STRING, NULL, NULL, NULL },
-	{"goto_last_folder_on_startup", "FALSE", &prefs_common.goto_last_folder_on_startup,
-	P_BOOL, NULL, NULL, NULL },
 	{"startup_folder", "", &prefs_common.startup_folder,
 	P_STRING, NULL, NULL, NULL },
 	{"goto_folder_on_startup", "FALSE", &prefs_common.goto_folder_on_startup,
blob - 08ba425530831de503bcf416445d2a4d04148433
blob + 156d264b58496ef320af88cb191359044e6dff9e
--- src/prefs_common.h
+++ src/prefs_common.h
@@ -34,12 +34,6 @@
 typedef struct _PrefsCommon	PrefsCommon;
 
 typedef enum {
-	RECV_DIALOG_ALWAYS,
-	RECV_DIALOG_MANUAL,
-	RECV_DIALOG_NEVER
-} RecvDialogMode;
-
-typedef enum {
 	COMPOSE_DND_ASK,
 	COMPOSE_DND_INSERT,
 	COMPOSE_DND_ATTACH
@@ -140,12 +134,8 @@ struct _PrefsCommon
  	gboolean newmail_notify_auto;
  	gboolean newmail_notify_manu;
  	gchar   *newmail_notify_cmd;
-	RecvDialogMode recv_dialog_mode;
 	gint receivewin_width;
 	gint receivewin_height;
-	gboolean close_recv_dialog;
-	gboolean no_recv_err_panel;
-	gboolean show_recv_err_dialog;
 
 	/* Send */
 	gboolean savemsg;
@@ -223,8 +213,6 @@ struct _PrefsCommon
 	gboolean folder_default_hide_read_msgs;
 	gboolean folder_default_hide_del_msgs;
 
-	gchar *last_opened_folder;
-	gboolean goto_last_folder_on_startup;
 	gchar *startup_folder;
 	gboolean goto_folder_on_startup;
 
blob - 1e8e9adcf016cc9c4bd898d79c75cd8c20fc143e
blob + 30d2c048bf5d086a3ba3d5b5050bb272076f8d2e
--- src/prefs_receive.c
+++ src/prefs_receive.c
@@ -50,9 +50,6 @@ typedef struct _ReceivePage
 	GtkWidget *checkbtn_newmail_manu;
 	GtkWidget *entry_newmail_notify_cmd;
 	GtkWidget *hbox_newmail_notify;
-	GtkWidget *optmenu_recvdialog;
-	GtkWidget *checkbtn_show_recv_err_dialog;
-	GtkWidget *checkbtn_close_recv_dialog;
 } ReceivePage;
 
 ReceivePage *prefs_receive;
@@ -89,13 +86,6 @@ static void prefs_receive_create_widget(PrefsPage *_pa
 	GtkWidget *label_newmail_notify_cmd;
 	GtkWidget *label_newmail_notify_cmd_syntax;
 
-	GtkWidget *label_recvdialog;
-	GtkListStore *menu;
-	GtkTreeIter iter;
-	GtkWidget *optmenu_recvdialog;
-	GtkWidget *checkbtn_show_recv_err_dialog;
-	GtkWidget *checkbtn_close_recv_dialog;
-
 	vbox1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING);
 	gtk_widget_show (vbox1);
 	gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
@@ -119,35 +109,6 @@ static void prefs_receive_create_widget(PrefsPage *_pa
 	gtk_widget_show (entry_incext);
 	gtk_box_pack_start (GTK_BOX (hbox), entry_incext, TRUE, TRUE, 0);
 
-	/* receive dialog */
-	vbox2 = gtkut_get_options_frame(vbox1, &frame, _("Dialogs"));
-
-	label_recvdialog = gtk_label_new (_("Show receive dialog"));
-	gtk_label_set_xalign(GTK_LABEL(label_recvdialog), 0.0);
-	gtk_widget_show (label_recvdialog);
-
-	optmenu_recvdialog = gtkut_sc_combobox_create(NULL, FALSE);
-	gtk_widget_show (optmenu_recvdialog);
-
-	menu = GTK_LIST_STORE(gtk_combo_box_get_model(
-				GTK_COMBO_BOX(optmenu_recvdialog)));
-	COMBOBOX_ADD (menu, _("Always"), RECV_DIALOG_ALWAYS);
-	COMBOBOX_ADD (menu, _("Only on manual receiving"), RECV_DIALOG_MANUAL);
-	COMBOBOX_ADD (menu, _("Never"), RECV_DIALOG_NEVER);
-
-	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 20);
-	gtk_widget_show(hbox);
-	gtk_box_pack_start(GTK_BOX(hbox), label_recvdialog, FALSE, FALSE, 0);
-	gtk_box_pack_start(GTK_BOX(hbox), optmenu_recvdialog, FALSE, FALSE, 0);
-
-	gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
-
-	PACK_CHECK_BUTTON (vbox2, checkbtn_close_recv_dialog,
-			   _("Close receive dialog when finished"));
-
-	PACK_CHECK_BUTTON (vbox2, checkbtn_show_recv_err_dialog,
-			   _("Show error dialog on receive error"));
-
  	vbox3 = gtkut_get_options_frame(vbox1, &frame, _("Run command after receiving new mail"));
 
 	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
@@ -193,15 +154,9 @@ static void prefs_receive_create_widget(PrefsPage *_pa
 		prefs_common.newmail_notify_cmd);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_incext),
 		prefs_common.use_extinc);
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_show_recv_err_dialog),
-		prefs_common.show_recv_err_dialog);
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_close_recv_dialog),
-		prefs_common.close_recv_dialog);
 
 	gtk_entry_set_text(GTK_ENTRY(entry_incext),
 		prefs_common.extinc_cmd);
-	combobox_select_by_data(GTK_COMBO_BOX(optmenu_recvdialog),
-		prefs_common.recv_dialog_mode);
 
 	prefs_receive->window = GTK_WIDGET(window);
 	prefs_receive->checkbtn_incext = checkbtn_incext;
@@ -211,9 +166,6 @@ static void prefs_receive_create_widget(PrefsPage *_pa
 	prefs_receive->entry_newmail_notify_cmd = entry_newmail_notify_cmd;
 	prefs_receive->hbox_newmail_notify = hbox_newmail_notify;
 
-	prefs_receive->optmenu_recvdialog = optmenu_recvdialog;
-	prefs_receive->checkbtn_show_recv_err_dialog = checkbtn_show_recv_err_dialog;
-	prefs_receive->checkbtn_close_recv_dialog = checkbtn_close_recv_dialog;
 	prefs_receive->page.widget = vbox1;
 
 	g_signal_connect(G_OBJECT(checkbtn_newmail_auto), "toggled",
@@ -231,11 +183,6 @@ static void prefs_receive_save(PrefsPage *_page)
 
 	prefs_common.use_extinc = gtk_toggle_button_get_active(
 		GTK_TOGGLE_BUTTON(page->checkbtn_incext));
-	prefs_common.show_recv_err_dialog = gtk_toggle_button_get_active(
-		GTK_TOGGLE_BUTTON(page->checkbtn_show_recv_err_dialog));
-	prefs_common.close_recv_dialog = gtk_toggle_button_get_active(
-		GTK_TOGGLE_BUTTON(page->checkbtn_close_recv_dialog));
-
 	prefs_common.newmail_notify_auto = gtk_toggle_button_get_active(
 		GTK_TOGGLE_BUTTON(page->checkbtn_newmail_auto));
 	prefs_common.newmail_notify_manu = gtk_toggle_button_get_active(
@@ -248,8 +195,6 @@ static void prefs_receive_save(PrefsPage *_page)
 	tmp = gtk_editable_get_chars(GTK_EDITABLE(page->entry_newmail_notify_cmd), 0, -1);
 	g_free(prefs_common.newmail_notify_cmd);
 	prefs_common.newmail_notify_cmd = tmp;
-	prefs_common.recv_dialog_mode =
-		combobox_get_active_data(GTK_COMBO_BOX(page->optmenu_recvdialog));
 }
 
 static void prefs_receive_destroy_widget(PrefsPage *_page) {}
blob - /dev/null
blob + 19f46de8dc3248b2d5ce3c0366dda093a3db8b1a (mode 644)
--- /dev/null
+++ src/prefs_summaries.ui
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<interface>
+  <object id="folder-list" class="GtkBox">
+    <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+    <property name="border-width">8</property>
+
+    <child>
+      <object class="GtkBox">
+        <property name="spacing">8</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">Displayed columns</property>
+          </object>
+        </child>
+        <child>
+          <object id="dispitem" class="GtkButton">
+            <property name="label">Edit</property>
+          </object>
+        </child>
+      </object>
+    </child>
+
+    <child>
+      <object id="startup-folder" class="GtkBox">
+        <property name="spacing">8</property>
+        <child>
+          <object id="startup-folder-checkbutton" class="GtkCheckButton">
+            <property name="label">Open folder on startup</property>
+          </object>
+        </child>
+        <child>
+          <object id="startup-folder-entry" class="GtkEntry">
+            <property name="width-chars">32</property>
+          </object>
+        </child>
+        <child>
+          <object id="startup-folder-button" class="GtkButton">
+            <property name="label">Select...</property>
+          </object>
+        </child>
+      </object>
+    </child>
+
+  </object>
+</interface>
blob - 400bf6015e423f4161bdff135f36defac37fca2b
blob + ba09256908f24c618c2f264ba595498e282430a7
--- src/prefs_summaries.c
+++ src/prefs_summaries.c
@@ -46,14 +46,12 @@ typedef struct _SummariesPage
 
 	GtkWidget *window;
 
-	GtkWidget *optmenu_folder_unread;
 	GtkWidget *checkbtn_useaddrbook;
 	GtkWidget *checkbtn_show_tooltips;
 	GtkWidget *checkbtn_threadsubj;
 	GtkWidget *button_datefmt;
 	GtkWidget *entry_datefmt;
 
-	GtkWidget *checkbtn_reopen_last_folder;
 	GtkWidget *checkbtn_startup_folder;
 	GtkWidget *startup_folder_entry;
 	GtkWidget *startup_folder_select;
@@ -104,24 +102,12 @@ static void mark_as_read_toggled		(GtkToggleButton *bu
 static void always_show_msg_toggled		(GtkToggleButton *button,
 						 gpointer user_data);
 
-static void reopen_last_folder_toggled(GtkToggleButton *toggle_btn, GtkWidget *widget)
-{
-	gboolean is_active;
-
-	is_active = gtk_toggle_button_get_active(toggle_btn);
-	gtk_widget_set_sensitive(widget, !is_active);
-	if (is_active)
-		prefs_common.goto_folder_on_startup = FALSE;
-}
-
 static void startup_folder_toggled(GtkToggleButton *toggle_btn, GtkWidget *widget)
 {
 	gboolean is_active;
 
 	is_active = gtk_toggle_button_get_active(toggle_btn);
 	gtk_widget_set_sensitive(widget, !is_active);
-	if (is_active)
-		prefs_common.goto_last_folder_on_startup = FALSE;
 }
 
 static void foldersel_cb(GtkWidget *widget, gpointer data)
@@ -350,7 +336,6 @@ static void prefs_summaries_create_widget(PrefsPage *_
 	GtkWidget *hbox0, *hbox1, *hbox2;
 	GtkWidget *vbox1, *vbox2, *vbox3, *vbox4;
 	GtkWidget *frame_new_folders;
-	GtkWidget *optmenu_folder_unread;
 	GtkWidget *checkbtn_useaddrbook;
 	GtkWidget *checkbtn_show_tooltips;
 	GtkWidget *checkbtn_threadsubj;
@@ -358,7 +343,6 @@ static void prefs_summaries_create_widget(PrefsPage *_
 	GtkWidget *button_datefmt;
 	GtkWidget *entry_datefmt;
 	GtkWidget *button_dispitem;
-	GtkWidget *checkbtn_reopen_last_folder;
 	GtkWidget *checkbtn_startup_folder;
 	GtkWidget *startup_folder_entry;
 	GtkWidget *startup_folder_select;
@@ -392,88 +376,36 @@ static void prefs_summaries_create_widget(PrefsPage *_
 	notebook = gtk_notebook_new();
 	gtk_widget_show(notebook);
 
-	vbox1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING);
-	gtk_widget_show (vbox1);
-	gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
-	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1,
-				 gtk_label_new(_("Folder list")));
+	char path[PATH_MAX];
+	strlcpy(path, getenv("HOME"), sizeof(path));
+	strlcat(path, "/.local/share/talons/prefs_summaries.ui", sizeof(path));
+	GtkBuilder *builder = gtk_builder_new_from_file(path);
 
-	hbox0 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
-	gtk_widget_show (hbox0);
-	gtk_box_pack_start(GTK_BOX(vbox1), hbox0, FALSE, TRUE, 0);
+	button_dispitem = GTK_WIDGET(gtk_builder_get_object(builder, "dispitem"));
+	g_signal_connect(G_OBJECT (button_dispitem), "clicked", G_CALLBACK(prefs_folder_column_open), NULL);
 
-	label = gtk_label_new(_("Displayed columns"));
-	gtk_widget_show(label);
-	gtk_box_pack_start(GTK_BOX(hbox0), label, FALSE, FALSE, 0);
-	button_dispitem = gtk_button_new_with_mnemonic(_("_Edit"));
-	gtk_widget_show (button_dispitem);
-	gtk_box_pack_start (GTK_BOX (hbox0), button_dispitem, FALSE, FALSE, 0);
-	g_signal_connect (G_OBJECT (button_dispitem), "clicked",
-			  G_CALLBACK (prefs_folder_column_open),
-			  NULL);
+	startup_folder_entry = GTK_WIDGET(gtk_builder_get_object(builder, "startup-folder-entry"));
+	startup_folder_select = GTK_WIDGET(gtk_builder_get_object(builder, "startup-folder-button"));
+	checkbtn_startup_folder = GTK_WIDGET(gtk_builder_get_object(builder, "startup-folder-checkbutton"));
+	g_signal_connect(startup_folder_select, "clicked", G_CALLBACK(foldersel_cb), startup_folder_entry);
 
-	hbox0 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
-	gtk_widget_show (hbox0);
-	gtk_box_pack_start(GTK_BOX (vbox1), hbox0, FALSE, FALSE, 0);
+	GtkWidget *folderlist = GTK_WIDGET(gtk_builder_get_object(builder, "folder-list"));
+	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), folderlist, gtk_label_new("Folder list"));
+	gtk_widget_show_all(folderlist);
 
-	label = gtk_label_new (_("Display message count next to folder name"));
-	gtk_widget_show (label);
-	gtk_box_pack_start(GTK_BOX(hbox0), label, FALSE, FALSE, 0);
-
-	optmenu_folder_unread = gtkut_sc_combobox_create(NULL, FALSE);
-	menu = GTK_LIST_STORE(gtk_combo_box_get_model(
-				GTK_COMBO_BOX(optmenu_folder_unread)));
-	gtk_widget_show (optmenu_folder_unread);
-
-	COMBOBOX_ADD (menu, _("No"), 0);
-	COMBOBOX_ADD (menu, _("Unread messages"), 1);
-	COMBOBOX_ADD (menu, _("Unread and Total messages"), 2);
-
-	gtk_box_pack_start(GTK_BOX(hbox0), optmenu_folder_unread, FALSE, FALSE, 0);
-
-	PACK_CHECK_BUTTON
-		(vbox1, checkbtn_reopen_last_folder,
-		 _("Open last opened folder at start-up"));
-
-	hbox0 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
-	gtk_widget_show(hbox0);
-	gtk_box_pack_start(GTK_BOX(vbox1), hbox0, FALSE, FALSE, 0);
-
-	PACK_CHECK_BUTTON
-		(hbox0, checkbtn_startup_folder,
-		 _("Open selected folder at start-up"));
-
-	startup_folder_entry = gtk_entry_new();
-	gtk_widget_show(startup_folder_entry);
-	gtk_box_pack_start(GTK_BOX(hbox0), startup_folder_entry, TRUE, TRUE, 0);
-	startup_folder_select = gtkut_get_browse_directory_btn(_("_Browse"));
-	gtk_widget_show(startup_folder_select);
-	gtk_box_pack_start(GTK_BOX(hbox0), startup_folder_select, FALSE, FALSE, 0);
-
-	SET_TOGGLE_SENSITIVITY(checkbtn_startup_folder, startup_folder_entry)
-	SET_TOGGLE_SENSITIVITY(checkbtn_startup_folder, startup_folder_select)
-
-	g_signal_connect(G_OBJECT(checkbtn_reopen_last_folder), "toggled",
-			 G_CALLBACK(reopen_last_folder_toggled), checkbtn_startup_folder);
-	g_signal_connect(G_OBJECT(checkbtn_startup_folder), "toggled",
-			 G_CALLBACK(startup_folder_toggled), checkbtn_reopen_last_folder);
-	g_signal_connect(G_OBJECT(startup_folder_select), "clicked",
-			 G_CALLBACK(foldersel_cb), startup_folder_entry);
-
 	vbox1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING);
 	gtk_widget_show (vbox1);
 	gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
-	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1,
-				 gtk_label_new(_("Message list")));
+	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1, gtk_label_new("Message list"));
 
 	hbox0 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
 	gtk_widget_show (hbox0);
 	gtk_box_pack_start(GTK_BOX(vbox1), hbox0, FALSE, TRUE, 0);
 
-	label = gtk_label_new(_("Displayed columns"));
+	label = gtk_label_new("Displayed columns");
 	gtk_widget_show(label);
 	gtk_box_pack_start(GTK_BOX(hbox0), label, FALSE, FALSE, 0);
-	button_dispitem = gtk_button_new_with_mnemonic(_("_Edit"));
+	button_dispitem = gtk_button_new_with_mnemonic("Edit");
 	gtk_widget_show (button_dispitem);
 	gtk_box_pack_start (GTK_BOX (hbox0), button_dispitem, FALSE, FALSE, 0);
 	g_signal_connect (G_OBJECT (button_dispitem), "clicked",
@@ -690,12 +622,10 @@ static void prefs_summaries_create_widget(PrefsPage *_
 		(vbox2, checkbtn_folder_default_hide_del_msgs,
 		 _("Hide deleted messages"));
 
-	prefs_summaries->optmenu_folder_unread = optmenu_folder_unread;
 	prefs_summaries->checkbtn_useaddrbook = checkbtn_useaddrbook;
 	prefs_summaries->checkbtn_show_tooltips = checkbtn_show_tooltips;
 	prefs_summaries->checkbtn_threadsubj = checkbtn_threadsubj;
 	prefs_summaries->entry_datefmt = entry_datefmt;
-	prefs_summaries->checkbtn_reopen_last_folder = checkbtn_reopen_last_folder;
 	prefs_summaries->checkbtn_startup_folder = checkbtn_startup_folder;
 	prefs_summaries->startup_folder_entry = startup_folder_entry;
 
@@ -732,8 +662,6 @@ static void prefs_summaries_create_widget(PrefsPage *_
 
 	prefs_summaries->window			= GTK_WIDGET(window);
 
-	combobox_select_by_data(GTK_COMBO_BOX(optmenu_folder_unread),
-			prefs_common.display_folder_unread);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_useaddrbook),
 			prefs_common.use_addr_book);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_show_tooltips),
@@ -742,8 +670,6 @@ static void prefs_summaries_create_widget(PrefsPage *_
 			prefs_common.thread_by_subject);
 	gtk_entry_set_text(GTK_ENTRY(entry_datefmt),
 			prefs_common.date_format?prefs_common.date_format:"");
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_reopen_last_folder),
-			prefs_common.goto_last_folder_on_startup);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_startup_folder),
 			prefs_common.goto_folder_on_startup);
 	gtk_entry_set_text(GTK_ENTRY(startup_folder_entry),
@@ -776,9 +702,6 @@ static void prefs_summaries_create_widget(PrefsPage *_
 	combobox_select_by_data(GTK_COMBO_BOX(optmenu_sort_type),
 			prefs_common.default_sort_type);
 
-	combobox_select_by_data(GTK_COMBO_BOX(optmenu_summaryfromshow),
-			prefs_common.summary_from_show);
-
 	combobox_select_by_data(GTK_COMBO_BOX(optmenu_nextunreadmsgdialog),
 			prefs_common.next_unread_msg_dialog);
 
@@ -800,12 +723,15 @@ static void prefs_summaries_create_widget(PrefsPage *_
 	prefs_summaries->page.widget = notebook;
 }
 
+#define MESSAGECOUNT_NONE 0
+#define MESSAGECOUNT_UNREAD 1
+#define MESSAGECOUNT_ALL 2
+
 static void prefs_summaries_save(PrefsPage *_page)
 {
 	SummariesPage *page = (SummariesPage *) _page;
 
-	prefs_common.display_folder_unread = combobox_get_active_data(
-			GTK_COMBO_BOX(page->optmenu_folder_unread));
+	prefs_common.display_folder_unread = MESSAGECOUNT_NONE;
 
 	prefs_common.use_addr_book = gtk_toggle_button_get_active(
 			GTK_TOGGLE_BUTTON(page->checkbtn_useaddrbook));
@@ -814,12 +740,10 @@ static void prefs_summaries_save(PrefsPage *_page)
 	prefs_common.thread_by_subject = gtk_toggle_button_get_active(
 			GTK_TOGGLE_BUTTON(page->checkbtn_threadsubj));
 
-	g_free(prefs_common.date_format);
+	free(prefs_common.date_format);
 	prefs_common.date_format = gtk_editable_get_chars(
 			GTK_EDITABLE(page->entry_datefmt), 0, -1);
 
-	prefs_common.goto_last_folder_on_startup = gtk_toggle_button_get_active(
-		GTK_TOGGLE_BUTTON(page->checkbtn_reopen_last_folder));
 	prefs_common.goto_folder_on_startup = gtk_toggle_button_get_active(
 		GTK_TOGGLE_BUTTON(page->checkbtn_startup_folder));
 	prefs_common.startup_folder = gtk_editable_get_chars(
blob - 1dfdaa000fa48c6b729bb178efa5e4828076b0ec
blob + 9fe6840cbeb78063e7c7c729f3c3e88af7388e58
--- src/summaryview.c
+++ src/summaryview.c
@@ -6631,26 +6631,6 @@ static gboolean summary_update_folder_hook(gpointer so
 	return FALSE;
 }
 
-gint summaryview_export_mbox_list(SummaryView *summaryview)
-/* return values: -2 skipped, -1 error, 0 OK */
-{
-	GSList *list = summary_get_selected_msg_list(summaryview);
-	gchar *mbox = filesel_select_file_save("Export to mbox file", NULL);
-	gint ret;
-
-	if (mbox == NULL)
-		return -2;
-	if (list == NULL)
-		return -1;
-
-	ret = export_list_to_mbox(list, mbox);
-
-	g_slist_free(list);
-	g_free(mbox);
-
-	return ret;
-}
-
 static void summary_reedit_cb(GtkAction *gaction, gpointer data)
 {
 	SummaryView *summaryview = (SummaryView *)data;
blob - fe141d0ae1637095ad074e5a1b7a74ae55b016df
blob + 49281071a207154175bbc7eef9b050b78d68e308
--- src/summaryview.h
+++ src/summaryview.h
@@ -305,7 +305,6 @@ void summary_set_prefs_from_folderitem
                                   (SummaryView *summaryview, FolderItem *item);
 void summary_save_prefs_to_folderitem
                                   (SummaryView *summaryview, FolderItem *item);
-gint summaryview_export_mbox_list (SummaryView *summaryview);
 void summary_set_menu_sensitive	(SummaryView		*summaryview);
 void summary_relayout(SummaryView *summaryview);
 void summary_update_unread(SummaryView *summaryview, FolderItem *removed_item);