From: Jose Dapena Paz Date: Mon, 4 May 2009 07:14:03 +0000 (+0200) Subject: Added msg view window reload feature. Now we can force a message reload X-Git-Tag: 3.0.16-rc1~8 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=57cedf59b21a6e53f87a7ad79b9d5c25b62f5db1 Added msg view window reload feature. Now we can force a message reload from cache or server. --- diff --git a/src/gnome/modest-msg-view-window.c b/src/gnome/modest-msg-view-window.c index 1685ebf..ec9c4d8 100644 --- a/src/gnome/modest-msg-view-window.c +++ b/src/gnome/modest-msg-view-window.c @@ -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; +} diff --git a/src/hildon2/modest-msg-view-window.c b/src/hildon2/modest-msg-view-window.c index b0cb7cd..acf889c 100644 --- a/src/hildon2/modest-msg-view-window.c +++ b/src/hildon2/modest-msg-view-window.c @@ -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); +} diff --git a/src/maemo/modest-msg-view-window.c b/src/maemo/modest-msg-view-window.c index 7c0fee1..165dc80 100644 --- a/src/maemo/modest-msg-view-window.c +++ b/src/maemo/modest-msg-view-window.c @@ -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); +} diff --git a/src/modest-plugin-ui-actions.h b/src/modest-plugin-ui-actions.h index 775687e..b17b320 100644 --- a/src/modest-plugin-ui-actions.h +++ b/src/modest-plugin-ui-actions.h @@ -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__ */ diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 6e067cd..23967ab 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -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)); +} diff --git a/src/widgets/modest-msg-view-window.h b/src/widgets/modest-msg-view-window.h index fa495db..ba812b3 100644 --- a/src/widgets/modest-msg-view-window.h +++ b/src/widgets/modest-msg-view-window.h @@ -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__ */