modest_msg_view_set_shadow_type (MODEST_MSG_VIEW (priv->msg_view), GTK_SHADOW_NONE);
main_vbox = gtk_vbox_new (FALSE, 6);
priv->main_scroll = hildon_pannable_area_new ();
+ g_object_set (G_OBJECT (priv->main_scroll),
+ "mov-mode", HILDON_MOVEMENT_MODE_BOTH,
+ "hovershoot-max", 0,
+ NULL);
gtk_container_add (GTK_CONTAINER (priv->main_scroll), priv->msg_view);
gtk_box_pack_start (GTK_BOX(main_vbox), priv->main_scroll, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER(obj), main_vbox);
GtkTreeRowReference *row_reference)
{
ModestWindowMgr *mgr;
- TnyAccount *account;
+ TnyAccount *account = NULL;
MsgReaderInfo *info;
/* We set the header from model while we're loading */
TNY_FOLDER_STORE (folder),
message_reader_performer,
info);
- g_object_unref (folder);
+ if (folder)
+ g_object_unref (folder);
return TRUE;
}
}
if (header) {
folder = tny_header_get_folder (header);
}
- account = tny_folder_get_account (folder);
+ if (folder)
+ account = tny_folder_get_account (folder);
+
info = g_slice_new (MsgReaderInfo);
info->msg_uid = g_strdup (msg_uid);
if (folder)
info->row_reference = NULL;
message_reader_performer (FALSE, NULL, (GtkWindow *) window, account, info);
- g_object_unref (account);
+ if (account)
+ g_object_unref (account);
if (folder)
g_object_unref (folder);
return TRUE;
}
-gboolean
+gboolean
modest_msg_view_window_select_next_message (ModestMsgViewWindow *window)
{
ModestMsgViewWindowPrivate *priv;
for (iter = files; (iter != NULL) && (replaced_files < 2); iter = g_list_next(iter)) {
SaveMimePartPair *pair = iter->data;
- if (modest_utils_file_exists (pair->filename)) {
+ gchar *unescaped = g_uri_unescape_string (pair->filename, NULL);
+
+ if (modest_utils_file_exists (unescaped)) {
replaced_files++;
if (replaced_files == 1)
to_replace = iter;
}
+ g_free (unescaped);
}
if (replaced_files) {
gint response;
GTK_FILE_CHOOSER_ACTION_SAVE);
/* Get last used folder */
- conf_folder = modest_conf_get_string (modest_runtime_get_conf (), MODEST_CONF_LATEST_SAVE_ATTACHMENT_PATH, NULL);
+ conf_folder = modest_conf_get_string (modest_runtime_get_conf (),
+ MODEST_CONF_LATEST_SAVE_ATTACHMENT_PATH, NULL);
/* File chooser stops working if we select "file:///" as current folder */
if (conf_folder && g_ascii_strcasecmp (root_folder, conf_folder) != 0) {
gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (save_dialog), conf_folder);
} else {
gchar *docs_folder;
- /* Set the default folder to images folder */
- docs_folder = g_build_filename (g_getenv (MYDOCS_ENV), DOCS_FOLDER, NULL);
+ /* Set the default folder to documents folder */
+ docs_folder = (gchar *) g_strdup(g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS));
+ if (!docs_folder) {
+ /* fallback */
+ docs_folder = g_build_filename (g_getenv (MYDOCS_ENV), DOCS_FOLDER, NULL);
+ }
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (save_dialog), docs_folder);
g_free (docs_folder);
}
modest_msg_view_window_reload (ModestMsgViewWindow *self)
{
ModestMsgViewWindowPrivate *priv;
- TnyHeader *header;
+ const gchar *msg_uid;
+ TnyHeader *header = NULL;
+ TnyFolder *folder = NULL;
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, NULL, NULL, priv->row_reference)) {
- g_warning ("Shouldn't happen, trying to reload a message failed");
- }
+ header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (self));
+ if (!header)
+ return;
+ folder = tny_header_get_folder (header);
g_object_unref (header);
+
+ if (!folder)
+ return;
+
+ msg_uid = modest_msg_view_window_get_message_uid (self);
+ if (msg_uid)
+ if (!message_reader (self, priv, NULL, msg_uid, folder, priv->row_reference))
+ g_warning ("Shouldn't happen, trying to reload a message failed");
+
+ g_object_unref (folder);
}
static void