#include "gtkutils.h"
#if USE_GPGME
-#include "rfc2015.h"
-#endif /* USE_GPGME */
+# include "rfc2015.h"
+#endif
+#if USE_SSL
+# include "ssl.h"
+#endif
+
+#include "version.h"
gchar *prog_version;
gchar *startup_dir;
gtk_set_locale();
gtk_init(&argc, &argv);
-#if USE_THREADS
+#if USE_THREADS || USE_LDAP
g_thread_init(NULL);
if (!g_thread_supported())
g_error(_("g_thread is not supported by glib.\n"));
gtk_widget_push_colormap(gdk_imlib_get_colormap());
#endif
+#if USE_SSL
+ ssl_init();
+#endif
+
+ srandom((gint)time(NULL));
+
/* parse gtkrc files */
userrc = g_strconcat(get_home_dir(), G_DIR_SEPARATOR_S, ".gtkrc",
NULL);
prog_version = PROG_VERSION;
startup_dir = g_get_current_dir();
- /* parse_cmd_opt(argc, argv); */
-
CHDIR_RETURN_VAL_IF_FAIL(get_home_dir(), 1);
/* check and create unix domain socket */
MAKE_DIR_IF_NOT_EXIST(get_news_cache_dir());
MAKE_DIR_IF_NOT_EXIST(get_mime_tmp_dir());
+ if (is_file_exist(RC_DIR G_DIR_SEPARATOR_S "sylpheed.log")) {
+ if (rename(RC_DIR G_DIR_SEPARATOR_S "sylpheed.log",
+ RC_DIR G_DIR_SEPARATOR_S "sylpheed.log.bak") < 0)
+ FILE_OP_ERROR("sylpheed.log", "rename");
+ }
+ set_log_file(RC_DIR G_DIR_SEPARATOR_S "sylpheed.log");
+
if (is_file_exist(RC_DIR G_DIR_SEPARATOR_S "assortrc") &&
!is_file_exist(RC_DIR G_DIR_SEPARATOR_S "filterrc")) {
if (rename(RC_DIR G_DIR_SEPARATOR_S "assortrc",
"rename");
}
- srandom((gint)time(NULL));
+ prefs_common_read_config();
#if USE_GPGME
if (gpgme_check_engine()) { /* Also does some gpgme init */
debug_print("gpgme_engine_version:\n%s\n",
gpgme_get_engine_info());
- if (prefs_common.gpgme_warning) {
- AlertValue v = alertpanel_message_with_disable
+ if (prefs_common.gpg_warning) {
+ AlertValue val;
+
+ val = alertpanel_message_with_disable
(_("Warning"),
_("GnuPG is not installed properly.\n"
"OpenPGP support disabled."));
- if (v & G_ALERTDISABLE) {
- prefs_common.gpgme_warning = FALSE;
- prefs_common_save_config();
- }
+ if (val & G_ALERTDISABLE)
+ prefs_common.gpg_warning = FALSE;
}
}
gpgme_register_idle(idle_function_for_gpgme);
#endif
- prefs_common_read_config();
prefs_common_save_config();
prefs_filter_read_config();
prefs_filter_write_config();
prefs_display_header_read_config();
prefs_display_header_write_config();
- prefs_scoring_read_config();
prefs_filtering_read_config();
+ addressbook_read_file();
gtkut_widget_init();
account_read_config_all();
account_save_config_all();
- if (folder_read_list() < 0) setup(mainwin);
+ if (folder_read_list() < 0) {
+ setup(mainwin);
+ folder_write_list();
+ }
+ if (!account_get_list()) {
+ account_edit_open();
+ account_add();
+ }
+
account_set_missing_folder();
folderview_set(folderview);
+ prefs_scoring_read_config();
+
+ addressbook_read_file();
+
inc_autocheck_timer_init(mainwin);
if (cmd.receive_all || prefs_common.chk_on_startup)
/* ignore SIGPIPE signal for preventing sudden death of program */
signal(SIGPIPE, SIG_IGN);
+ gdk_threads_enter();
gtk_main();
+ gdk_threads_leave();
+
+#if USE_PSPELL
+ gtkpspell_finished(gtkpspellconfig);
+#endif
return 0;
}
puts("Sylpheed version " VERSION);
exit(0);
} else if (!strncmp(argv[i], "--help", 6)) {
- g_print(_("Usage: %s [OPTION]...\n"), g_get_prgname());
+ g_print(_("Usage: %s [OPTION]...\n"),
+ g_basename(argv[0]));
puts(_(" --compose [address] open composition window"));
puts(_(" --receive receive new messages"));
manage_window_focus_in(mainwin->window, NULL, NULL);
}
+ inc_autocheck_timer_remove();
+
if (prefs_common.clean_on_exit)
main_window_empty_trash(mainwin, prefs_common.ask_on_clean);
/* delete temporary files */
remove_all_files(get_mime_tmp_dir());
+ close_log_file();
+
/* delete unix domain socket */
gdk_input_remove(lock_socket_tag);
fd_close(lock_socket);
filename = get_socket_name();
unlink(filename);
+#if USE_SSL
+ ssl_done();
+#endif
+
gtk_main_quit();
}
else
compose_new(NULL);
}
-