2007-11-20 [colin] 3.1.0cvs11
[claws.git] / src / main.c
index d3a17afe98949da0b2220ff28d28f934f95b1c01..7e69f2f2295dbda1445857a4de3e5054fb61c55b 100644 (file)
 #include "tags.h"
 #ifdef HAVE_LIBETPAN
 #include "imap-thread.h"
+#include "nntp-thread.h"
 #endif
 #include "stock_pixmap.h"
 #ifdef HAVE_VALGRIND
 #include "valgrind.h"
 #endif
-#if USE_OPENSSL
+#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
 #  include "ssl.h"
 #endif
 
 #include "timing.h"
 
 #ifdef MAEMO
+#ifdef CHINOOK
+#include <hildon/hildon-banner.h>
+#include <hildon/hildon-program.h>
+#else
+#include <hildon-widgets/hildon-banner.h>
 #include <hildon-widgets/hildon-program.h>
+#endif
 #include <gtk/gtkmain.h>
 #include <libosso.h>
 #include <libgnomevfs/gnome-vfs-volume.h>
@@ -141,6 +148,10 @@ static GnomeVFSVolumeMonitor *volmon;
 gchar *prog_version;
 gchar *argv0;
 
+#ifdef MAEMO
+HildonProgram *hildon_program;
+#endif
+
 #ifdef HAVE_STARTUP_NOTIFICATION
 static SnLauncheeContext *sn_context = NULL;
 static SnDisplay *sn_display = NULL;
@@ -212,7 +223,6 @@ static void exit_claws                      (MainWindow *mainwin);
 static MainWindow *static_mainwindow;
 
 #ifdef MAEMO
-static HildonProgram *static_hildonprogram;
 static osso_context_t *static_osso_context;
 
 void exit_event_handler(gboolean die_now, gpointer data)
@@ -805,6 +815,44 @@ int main(int argc, char *argv[])
                return 0;
        }
 
+       debug_print("GTK+ %d.%d.%d / GLib %d.%d.%d\n",
+                  gtk_major_version, gtk_minor_version, gtk_micro_version,
+                  glib_major_version, glib_minor_version, glib_micro_version);
+       debug_print("Compiled-in features:\n");
+#if HAVE_LIBCOMPFACE
+       debug_print(" compface\n");
+#endif
+#if USE_ASPELL
+       debug_print(" aspell\n");
+#endif
+#if USE_GNUTLS
+       debug_print(" gnutls\n");
+#endif
+#if INET6
+       debug_print(" ipv6\n");
+#endif
+#if HAVE_ICONV
+       debug_print(" iconv\n");
+#endif
+#if USE_JPILOT
+       debug_print(" jpilot\n");
+#endif
+#if USE_LDAP
+       debug_print(" ldap\n");
+#endif
+#if HAVE_LIBETPAN
+       debug_print(" libetpan %d.%d\n", LIBETPAN_VERSION_MAJOR, LIBETPAN_VERSION_MINOR);
+#endif
+#if USE_GNOMEPRINT
+       debug_print(" gnomeprint\n");
+#endif
+#if HAVE_LIBSM
+       debug_print(" libsm\n");
+#endif
+#if USE_OPENSSL
+       debug_print(" openssl\n");
+#endif
+
        prog_version = PROG_VERSION;
        argv0 = g_strdup(argv[0]);
 
@@ -858,7 +906,7 @@ int main(int argc, char *argv[])
        if (osso_context == NULL) {
                return OSSO_ERROR;
        }
-       static_hildonprogram = HILDON_PROGRAM(hildon_program_get_instance());
+       hildon_program = HILDON_PROGRAM(hildon_program_get_instance());
        static_osso_context = osso_context;
 #endif 
        gdk_rgb_init();
@@ -1032,7 +1080,6 @@ int main(int argc, char *argv[])
        prefs_display_header_read_config();
        /* prefs_filtering_read_config(); */
        addressbook_read_file();
-       renderer_read_config();
 
        gtkut_widget_init();
        stock_pixbuf_gdk(NULL, STOCK_PIXMAP_CLAWS_MAIL_ICON, &icon);
@@ -1048,8 +1095,8 @@ int main(int argc, char *argv[])
 #ifdef MAEMO
        AppData *appdata;
        appdata = g_new0(AppData, 1);
-       appdata->program = static_hildonprogram;
-       appdata->window = mainwin->window;
+       appdata->program = hildon_program;
+       appdata->window = HILDON_WINDOW(mainwin->window);
        appdata->osso_context = osso_context;
        result = osso_rpc_set_cb_f(appdata->osso_context, 
                 OSSO_SERVICE, 
@@ -1060,6 +1107,7 @@ int main(int argc, char *argv[])
                return OSSO_ERROR;
        }
 
+#ifndef CHINOOK
        /* Add handler for Exit D-BUS messages */
        result = osso_application_set_exit_cb(appdata->osso_context,
                                                exit_event_handler,
@@ -1067,6 +1115,7 @@ int main(int argc, char *argv[])
        if (result != OSSO_OK) {
                return OSSO_ERROR;
        }
+#endif
 #endif
        manage_window_focus_in(mainwin->window, NULL, NULL);
        folderview = mainwin->folderview;
@@ -1141,6 +1190,7 @@ int main(int argc, char *argv[])
 #ifdef HAVE_LIBETPAN
        imap_main_init(prefs_common.skip_ssl_cert_check);
        imap_main_set_timeout(prefs_common.io_timeout_secs);
+       nntp_main_init(prefs_common.skip_ssl_cert_check);
 #endif 
        account_set_missing_folder();
        folder_set_missing_folders();
@@ -1404,6 +1454,7 @@ static void exit_claws(MainWindow *mainwin)
 
 #ifdef HAVE_LIBETPAN
        imap_main_done();
+       nntp_main_done();
 #endif
        /* delete crashfile */
        if (!cmd.crash)
@@ -1438,6 +1489,7 @@ static void exit_claws(MainWindow *mainwin)
        prefs_message_done();
        prefs_other_done();
        prefs_receive_done();
+       prefs_logging_done();
        prefs_send_done();
        tags_write_tags();
 #ifdef USE_ASPELL       
@@ -1631,7 +1683,9 @@ static void initial_processing(FolderItem *item, gpointer data)
 
        
        if (item->prefs->enable_processing) {
+               item->processing_pending = TRUE;
                folder_item_apply_processing(item);
+               item->processing_pending = FALSE;
        }
 
        STATUSBAR_POP(mainwin);
@@ -2091,10 +2145,6 @@ static void install_basic_sighandlers()
 }
 
 #ifdef MAEMO
-HildonProgram *hildon_program(void)
-{
-       return static_hildonprogram;
-}
 osso_context_t *get_osso_context(void)
 {
        return static_osso_context;