From: Jose Dapena Paz Date: Wed, 4 Jul 2007 12:37:50 +0000 (+0000) Subject: * src/maemo/modest-msg-view-window.c: X-Git-Tag: git_migration_finished~2977 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=f199c37d367b79410dd33a9013159c1a85438c71 * src/maemo/modest-msg-view-window.c: * Now we show a confirmation dialog for "next message" and "previous message" actions, when the message is not currently cached (fixes NB#59472). pmo-trunk-r2561 --- diff --git a/src/maemo/modest-msg-view-window.c b/src/maemo/modest-msg-view-window.c index a067cd3..ff345e0 100644 --- a/src/maemo/modest-msg-view-window.c +++ b/src/maemo/modest-msg-view-window.c @@ -102,9 +102,10 @@ static void set_toolbar_mode (ModestMsgViewWindow *self, static gboolean set_toolbar_transfer_mode (ModestMsgViewWindow *self); - static void update_window_title (ModestMsgViewWindow *window); +static gboolean download_uncached_message (TnyHeader *header, GtkWindow *win); + /* list my signals */ enum { @@ -1051,6 +1052,10 @@ modest_msg_view_window_select_next_message (ModestMsgViewWindow *window) if (tny_header_get_flags (header) & TNY_HEADER_FLAG_DELETED) continue; + if (!download_uncached_message (header, GTK_WINDOW (window))) { + break; + } + /* Update the row reference */ gtk_tree_row_reference_free (priv->row_reference); path = gtk_tree_model_get_path (priv->header_model, &tmp_iter); @@ -1187,6 +1192,9 @@ modest_msg_view_window_select_previous_message (ModestMsgViewWindow *window) continue; } + if (!download_uncached_message (header, GTK_WINDOW (window))) { + break; + } /* Update the row reference */ gtk_tree_row_reference_free (priv->row_reference); priv->row_reference = gtk_tree_row_reference_new (priv->header_model, path); @@ -1927,4 +1935,21 @@ update_window_title (ModestMsgViewWindow *window) gtk_window_set_title (GTK_WINDOW (window), subject); } +static gboolean +download_uncached_message (TnyHeader *header, GtkWindow *win) +{ + TnyHeaderFlags flags; + gboolean retval = TRUE; + + flags = tny_header_get_flags (header); + if (! (flags & TNY_HEADER_FLAG_CACHED)) { + GtkResponseType response; + response = + modest_platform_run_confirmation_dialog (GTK_WINDOW (win), + _("mcen_nc_get_msg")); + if (response == GTK_RESPONSE_CANCEL) + retval = FALSE; + } + return retval; +} diff --git a/src/widgets/modest-attachments-view.c b/src/widgets/modest-attachments-view.c index e0b6501..09a7e77 100644 --- a/src/widgets/modest-attachments-view.c +++ b/src/widgets/modest-attachments-view.c @@ -108,7 +108,7 @@ modest_attachments_view_set_message (ModestAttachmentsView *attachments_view, Tn if (msg == priv->msg) return; - if (priv->msg) + if (priv->msg) g_object_unref (priv->msg); if (msg) g_object_ref (G_OBJECT(msg));