Added msg view window reload feature. Now we can force a message reload
authorJose Dapena Paz <jdapena@igalia.com>
Mon, 4 May 2009 07:14:03 +0000 (09:14 +0200)
committerJose Dapena Paz <jdapena@igalia.com>
Mon, 4 May 2009 07:44:05 +0000 (09:44 +0200)
from cache or server.

src/gnome/modest-msg-view-window.c
src/hildon2/modest-msg-view-window.c
src/maemo/modest-msg-view-window.c
src/modest-plugin-ui-actions.h
src/modest-ui-actions.c
src/widgets/modest-msg-view-window.h

index 1685ebf..ec9c4d8 100644 (file)
@@ -544,3 +544,10 @@ modest_msg_view_window_has_blocked_external_images (ModestMsgViewWindow *self)
 
        return modest_msg_view_has_blocked_external_images (MODEST_MSG_VIEW (priv->msg_view));
 }
+
+void
+modest_msg_view_window_reload (ModestMsgViewWindow *self)
+{
+       /* Not implemented */
+       return;
+}
index b0cb7cd..acf889c 100644 (file)
@@ -3352,3 +3352,21 @@ modest_msg_view_window_has_blocked_external_images (ModestMsgViewWindow *self)
 
        return modest_msg_view_has_blocked_external_images (MODEST_MSG_VIEW (priv->msg_view));
 }
+
+void 
+modest_msg_view_window_reload (ModestMsgViewWindow *self)
+{
+       ModestMsgViewWindowPrivate *priv;
+       TnyHeader *header;
+
+       g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (self));
+
+       priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
+       header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (self));     
+
+       if (!message_reader (self, priv, header, priv->row_reference)) {
+               g_warning ("Shouldn't happen, trying to reload a message failed");
+       }
+
+       g_object_unref (header);
+}
index 7c0fee1..165dc80 100644 (file)
@@ -3241,3 +3241,21 @@ modest_msg_view_window_has_blocked_external_images (ModestMsgViewWindow *self)
 
        return modest_msg_view_has_blocked_external_images (MODEST_MSG_VIEW (priv->msg_view));
 }
+
+void 
+modest_msg_view_window_reload (ModestMsgViewWindow *self)
+{
+       ModestMsgViewWindowPrivate *priv;
+       TnyHeader *header;
+
+       g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (self));
+
+       priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
+       header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (self));     
+
+       if (!message_reader (self, priv, header, priv->row_reference)) {
+               g_warning ("Shouldn't happen, trying to reload a message failed");
+       }
+
+       g_object_unref (header);
+}
index 775687e..b17b320 100644 (file)
@@ -55,5 +55,14 @@ G_BEGIN_DECLS
 gboolean modest_ui_actions_on_delete_account (GtkWindow *parent_window,
                                              const gchar *account_name,
                                              const gchar *account_display_name);
+
+/**
+ * modest_ui_actions_on_reload_message:
+ * @msg_id: a message id
+ *
+ * Reload the message if it's currently being shown in a view.
+ */
+void
+modest_ui_actions_on_reload_message (const gchar *msg_id);
 G_END_DECLS
 #endif /* __MODEST_PLUGIN_UI_ACTIONS_H__ */
index 6e067cd..23967ab 100644 (file)
@@ -6703,3 +6703,21 @@ modest_ui_actions_on_fetch_images (GtkAction *action,
        modest_msg_view_window_fetch_images (MODEST_MSG_VIEW_WINDOW (window));
 
 }
+
+void
+modest_ui_actions_on_reload_message (const gchar *msg_id)
+{
+       ModestWindow *window = NULL;
+
+       g_return_if_fail (msg_id && msg_id[0] != '\0');
+       if (!modest_window_mgr_find_registered_message_uid (modest_runtime_get_window_mgr (),
+                                                           msg_id,
+                                                           &window))
+               return;
+
+
+       if (window == NULL || !MODEST_IS_MSG_VIEW_WINDOW (window))
+               return;
+
+       modest_msg_view_window_reload (MODEST_MSG_VIEW_WINDOW (window));
+}
index fa495db..ba812b3 100644 (file)
@@ -361,6 +361,15 @@ modest_msg_view_window_fetch_images (ModestMsgViewWindow *self);
  */
 gboolean modest_msg_view_window_has_blocked_external_images (ModestMsgViewWindow *self);
 
+/**
+ * modest_msg_view_window_reload:
+ * @self: a #ModestMsgViewWindow
+ *
+ * Reloads currently loaded message. This is intended to show the message in case it
+ * has some update on the previously visible result.
+ */
+void modest_msg_view_window_reload (ModestMsgViewWindow *self);
+
 G_END_DECLS
 
 #endif /* __MODEST_MSG_VIEW_WINDOW_H__ */