* Fixed some GNOME build problems
authorSergio Villar Senin <svillar@igalia.com>
Thu, 3 May 2007 19:03:00 +0000 (19:03 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Thu, 3 May 2007 19:03:00 +0000 (19:03 +0000)
* Removed the code that updates the msg preview from the UI actions, it's only used by GNOME
* The Maemo version now, does not read the message when a header is clicked

pmo-trunk-r1748

src/gnome/modest-main-window.c
src/gnome/modest-platform.c
src/modest-mail-operation.c
src/modest-ui-actions.c

index 0b15ec5..475a097 100644 (file)
@@ -30,6 +30,8 @@
 #include <glib/gi18n.h>
 #include <gtk/gtktreeviewcolumn.h>
 #include <tny-account-store-view.h>
+#include <tny-simple-list.h>
+#include <tny-error.h>
 
 #include <widgets/modest-main-window.h>
 #include <widgets/modest-window-priv.h>
@@ -81,6 +83,10 @@ static void         on_header_status_update              (ModestHeaderView *head
                                                          gint total,  
                                                          ModestMainWindow *main_window);
 
+static void         on_header_selected                   (ModestHeaderView *header_view, 
+                                                         TnyHeader *header,
+                                                         ModestMainWindow *main_window);
+
 /* list my signals */
 enum {
        /* MY_SIGNAL_1, */
@@ -114,15 +120,6 @@ struct _ModestMainWindowPrivate {
                                                 MODEST_TYPE_MAIN_WINDOW, \
                                                 ModestMainWindowPrivate))
 
-typedef struct _GetMsgAsyncHelper {
-       ModestMainWindowPrivate *main_window_private;
-       guint action;
-       ModestTnyMsgReplyType reply_type;
-       ModestTnyMsgForwardType forward_type;
-       gchar *from;
-       TnyIterator *iter;
-} GetMsgAsyncHelper;
-
 /* globals */
 static GtkWindowClass *parent_class = NULL;
 
@@ -398,6 +395,8 @@ connect_signals (ModestMainWindow *self)
                          G_CALLBACK(on_header_status_update), self);
        g_signal_connect (G_OBJECT(priv->header_view), "header_selected",
                          G_CALLBACK(modest_ui_actions_on_header_selected), self);
+       g_signal_connect (G_OBJECT(priv->header_view), "header_selected",
+                         G_CALLBACK(on_header_selected), self);
        g_signal_connect (G_OBJECT(priv->header_view), "header_activated",
                          G_CALLBACK(modest_ui_actions_on_header_activated), self);
        g_signal_connect (G_OBJECT(priv->header_view), "item_not_found",
@@ -718,3 +717,46 @@ modest_main_window_set_contents_style (ModestMainWindow *self,
 {
        /* TODO */
 }
+
+static void
+get_msg_callback (TnyFolder *folder, 
+                 TnyMsg *msg, 
+                 GError **err, 
+                 gpointer user_data)
+{
+       if (!(*err)) {
+               ModestMsgView *msg_preview;
+
+               msg_preview = MODEST_MSG_VIEW (user_data);
+               modest_msg_view_set_message (msg_preview, msg);
+       }
+
+       /* Frees */
+       g_object_unref (folder);
+}
+
+static void 
+on_header_selected (ModestHeaderView *header_view, 
+                   TnyHeader *header,
+                   ModestMainWindow *main_window)
+{
+       TnyFolder *folder;
+       ModestMainWindowPrivate *priv;
+
+       priv = MODEST_MAIN_WINDOW_GET_PRIVATE (main_window);
+
+       if (!header)
+               return;
+
+       folder = tny_header_get_folder (header);
+
+       g_print ("SI");
+
+       /* FIXME: do not use this directly. Use a mail operation
+          instead in order to get progress info */
+       tny_folder_get_msg_async (folder, 
+                                 header, 
+                                 get_msg_callback, 
+                                 NULL, 
+                                 priv->msg_preview);
+}
index 9b80c90..b59819f 100644 (file)
@@ -197,3 +197,9 @@ gboolean modest_platform_set_update_interval (guint minutes)
        /* TODO. */
 }
 
+void
+modest_platform_run_sort_dialog (GtkWindow *parent_window,
+                                ModestSortDialogType type)
+{
+       /* TODO */
+}
index 940f96b..334eff4 100644 (file)
@@ -1017,7 +1017,7 @@ on_refresh_folder (TnyFolder   *folder,
 
 static void
 on_refresh_folder_status_update (GObject *obj,
-                                TnyStatus *status,  
+                                TnyStatus *status,
                                 gpointer user_data)
 {
        ModestMailOperation *self;
@@ -1026,6 +1026,11 @@ on_refresh_folder_status_update (GObject *obj,
        g_return_if_fail (status != NULL);
        g_return_if_fail (status->code == TNY_FOLDER_STATUS_CODE_REFRESH);
 
+       /* Temporary FIX: useful when tinymail send us status
+          information *after* calling the function callback */
+       if (!user_data)
+               return;
+
        self = MODEST_MAIL_OPERATION (user_data);
        priv = MODEST_MAIL_OPERATION_GET_PRIVATE(self);
 
index dbdc0b4..0931689 100644 (file)
@@ -97,7 +97,7 @@ do_headers_action (ModestWindow *win,
 
 
 static void     reply_forward_func     (gpointer data, gpointer user_data);
-static void     read_msg_func          (gpointer data, gpointer user_data);
+
 static void     get_msg_cb             (TnyFolder *folder, TnyMsg *msg,        GError **err,
                                        gpointer user_data);
 static void     reply_forward          (ReplyForwardAction action, ModestWindow *win);
@@ -867,37 +867,6 @@ modest_ui_actions_toggle_header_list_view (GtkAction *action, ModestMainWindow *
                                      MODEST_CONF_HEADER_VIEW_KEY);
 }
 
-
-
-/*
- * Marks a message as read and passes it to the msg preview widget
- */
-static void
-read_msg_func (gpointer data, gpointer user_data)
-{
-       TnyMsg *msg;
-       TnyHeader *header;
-       GetMsgAsyncHelper *helper;
-       TnyHeaderFlags header_flags;
-       GtkWidget *msg_preview;
-       
-       msg = TNY_MSG (data);
-       helper = (GetMsgAsyncHelper *) user_data;
-
-       msg_preview = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (helper->window),
-                                                          MODEST_WIDGET_TYPE_MSG_PREVIEW);
-       if (!msg_preview)
-               return;
-       
-       header = TNY_HEADER (tny_iterator_get_current (helper->iter));
-       header_flags = tny_header_get_flags (header);
-       tny_header_set_flags (header, header_flags | TNY_HEADER_FLAG_SEEN);
-       g_object_unref (G_OBJECT (header));
-
-       /* Set message on msg view */
-       modest_msg_view_set_message (MODEST_MSG_VIEW(msg_preview), msg);
-}
-
 /*
  * This function is a generic handler for the tny_folder_get_msg_async
  * call. It expects as user_data a #GetMsgAsyncHelper. This helper
@@ -960,25 +929,8 @@ modest_ui_actions_on_header_selected (ModestHeaderView *header_view,
                                      TnyHeader *header,
                                      ModestMainWindow *main_window)
 {
-/*     TnyFolder *folder; */
-       GetMsgAsyncHelper *helper;
-       TnyList *list;
-
        g_return_if_fail (MODEST_IS_MAIN_WINDOW(main_window));
 
-       /* when there's no header, clear the msgview */
-       if (!header) {
-               GtkWidget *msg_preview;
-
-               /* Clear msg preview if exists */
-               msg_preview = modest_main_window_get_child_widget(main_window,
-                                                                 MODEST_WIDGET_TYPE_MSG_PREVIEW);
-       
-               if (msg_preview)
-                       modest_msg_view_set_message (MODEST_MSG_VIEW(msg_preview), NULL);
-               return;
-       }
-
        /* Update Main window title */
        if (GTK_WIDGET_HAS_FOCUS (header_view)) {
                const gchar *subject = tny_header_get_subject (header);
@@ -987,30 +939,6 @@ modest_ui_actions_on_header_selected (ModestHeaderView *header_view,
                else
                        gtk_window_set_title (GTK_WINDOW (main_window), _("mail_va_no_subject"));
        }
-
-       /* Create list */
-       list = tny_simple_list_new ();
-       tny_list_prepend (list, G_OBJECT (header));
-
-       /* Fill helper data */
-       helper = g_slice_new0 (GetMsgAsyncHelper);
-       helper->window = MODEST_WINDOW (main_window);
-       helper->iter = tny_list_create_iterator (list);
-       helper->func = read_msg_func;
-       helper->num_ops = tny_list_get_length (list);
-
-/*     folder = tny_header_get_folder (TNY_HEADER(header)); */
-
-/*     tny_folder_get_msg_async (TNY_FOLDER(folder), */
-/*                               header, get_msg_cb, */
-/*                               NULL, helper); */
-
-       helper->mail_op = modest_mail_operation_new (MODEST_MAIL_OPERATION_ID_RECEIVE);
-       modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), helper->mail_op);
-       modest_mail_operation_process_msg (helper->mail_op, header, helper->num_ops, get_msg_cb, helper);
-
-       /* Frees */
-/*     g_object_unref (G_OBJECT (folder)); */
 }