* toys/widgets: update for mumsgpart changes

This commit is contained in:
djcb 2012-08-01 10:49:41 +03:00
parent 279f627c5e
commit 1cd20c9921
4 changed files with 55 additions and 43 deletions

View File

@ -67,36 +67,36 @@ save_file_for_cid (MuMsg *msg, const char* cid)
{ {
gint idx; gint idx;
gchar *filepath; gchar *filepath;
gboolean rv;
GError *err; GError *err;
g_return_val_if_fail (msg, NULL); g_return_val_if_fail (msg, NULL);
g_return_val_if_fail (cid, NULL); g_return_val_if_fail (cid, NULL);
idx = mu_msg_part_find_cid (msg, cid); idx = mu_msg_find_index_for_cid (msg, MU_MSG_OPTION_NONE, cid);
if (idx < 0) { if (idx < 0) {
g_warning ("%s: cannot find %s", __FUNCTION__, cid); g_warning ("%s: cannot find %s", __FUNCTION__, cid);
return NULL; return NULL;
} }
filepath = mu_msg_part_filepath_cache (msg, idx);
if (!filepath) {
g_warning ("%s: cannot create filepath", filepath);
return NULL;
}
err = NULL; err = NULL;
rv = mu_msg_part_save (msg, filepath, idx, FALSE, TRUE, &err); filepath = mu_msg_part_get_cache_path (msg, MU_MSG_OPTION_NONE, idx, NULL);
if (!rv) { if (!filepath)
g_warning ("%s: failed to save %s: %s", __FUNCTION__, goto errexit;
filepath,
err&&err->message?err->message:"error"); if (!mu_msg_part_save (msg, MU_MSG_OPTION_USE_EXISTING, filepath, idx,
g_clear_error (&err); &err))
g_free (filepath); goto errexit;
filepath = NULL;
}
return filepath; return filepath;
errexit:
g_warning ("%s: failed to save %s: %s", __FUNCTION__,
filepath,
err&&err->message?err->message:"error");
g_clear_error (&err);
g_free (filepath);
return NULL;
} }
static void static void

View File

@ -128,10 +128,14 @@ accumulate_parts (MuMsgAttachView *self, GtkTreePath *path, GSList **lst)
gchar *filepath; gchar *filepath;
gint idx; gint idx;
gtk_tree_model_get (model, &iter, PARTNUM_COL, &idx, -1); gtk_tree_model_get (model, &iter, PARTNUM_COL, &idx, -1);
filepath = mu_msg_part_filepath_cache (self->_priv->_msg, idx); filepath = mu_msg_part_get_cache_path (self->_priv->_msg,
MU_MSG_OPTION_NONE,
idx, NULL);
if (filepath) { if (filepath) {
if (mu_msg_part_save (self->_priv->_msg, filepath, if (mu_msg_part_save (self->_priv->_msg,
idx, FALSE, TRUE, NULL)) { MU_MSG_OPTION_USE_EXISTING,
filepath,
idx, NULL)) {
GFile *file; GFile *file;
file = g_file_new_for_path (filepath); file = g_file_new_for_path (filepath);
*lst = g_slist_prepend (*lst, g_file_get_uri(file)); *lst = g_slist_prepend (*lst, g_file_get_uri(file));
@ -257,7 +261,7 @@ each_part (MuMsg *msg, MuMsgPart *part, CBData *cbdata)
gtk_list_store_append (cbdata->store, &treeiter); gtk_list_store_append (cbdata->store, &treeiter);
gtk_list_store_set (cbdata->store, &treeiter, gtk_list_store_set (cbdata->store, &treeiter,
NAME_COL, mu_msg_part_file_name (part), NAME_COL, mu_msg_part_get_filename (part, TRUE),
ICON_COL, pixbuf, ICON_COL, pixbuf,
PARTNUM_COL, part->index, PARTNUM_COL, part->index,
-1); -1);
@ -286,8 +290,8 @@ mu_msg_attach_view_set_message (MuMsgAttachView *self, MuMsg *msg)
cbdata.store = store; cbdata.store = store;
cbdata.count = 0; cbdata.count = 0;
mu_msg_part_foreach (msg, (MuMsgPartForeachFunc)each_part, &cbdata, mu_msg_part_foreach (msg, MU_MSG_OPTION_NONE,
MU_MSG_OPTION_NONE); (MuMsgPartForeachFunc)each_part, &cbdata);
return cbdata.count; return cbdata.count;
} }

View File

@ -108,25 +108,25 @@ save_file_for_cid (MuMsg *msg, const char* cid)
g_return_val_if_fail (msg, NULL); g_return_val_if_fail (msg, NULL);
g_return_val_if_fail (cid, NULL); g_return_val_if_fail (cid, NULL);
idx = mu_msg_part_find_cid (msg, cid); idx = mu_msg_find_index_for_cid (msg, MU_MSG_OPTION_NONE, cid);
if (idx < 0) { if (idx < 0) {
g_warning ("%s: cannot find %s", __FUNCTION__, cid); g_warning ("%s: cannot find %s", __FUNCTION__, cid);
return NULL; return NULL;
} }
filepath = mu_msg_part_filepath_cache (msg, idx); filepath = mu_msg_part_get_cache_path (msg, MU_MSG_OPTION_NONE, idx, NULL);
if (!filepath) { if (!filepath) {
g_warning ("%s: cannot create filepath", filepath); g_warning ("%s: cannot create filepath", filepath);
return NULL; return NULL;
} }
err = NULL; err = NULL;
rv = mu_msg_part_save (msg, filepath, idx, FALSE, TRUE, &err); rv = mu_msg_part_save (msg, MU_MSG_OPTION_USE_EXISTING,
filepath, idx, &err);
if (!rv) { if (!rv) {
g_warning ("%s: failed to save %s: %s", __FUNCTION__, filepath, g_warning ("%s: failed to save %s: %s", __FUNCTION__, filepath,
err&&err->message?err->message:"error"); err&&err->message?err->message:"error");
if (err) g_clear_error (&err);
g_error_free (err);
g_free (filepath); g_free (filepath);
filepath = NULL; filepath = NULL;
} }

View File

@ -115,31 +115,39 @@ on_body_action_requested (GtkWidget *w, const char* action,
if (self->_priv->_msg) if (self->_priv->_msg)
mu_msg_view_set_message (self, self->_priv->_msg); mu_msg_view_set_message (self, self->_priv->_msg);
} else if (g_strcmp0 (action, "reindex") == 0) { } else if (g_strcmp0 (action, "reindex") == 0)
g_warning ("reindex"); g_warning ("reindex");
} else { else
g_warning ("unknown action '%s'", action); g_warning ("unknown action '%s'", action);
}
} }
static void static void
on_attach_activated (GtkWidget *w, guint partnum, MuMsg *msg) on_attach_activated (GtkWidget *w, guint partnum, MuMsg *msg)
{ {
gchar *filepath; gchar *filepath;
GError *err;
filepath = mu_msg_part_filepath_cache (msg, partnum); err = NULL;
if (filepath) { filepath = mu_msg_part_get_cache_path (msg, MU_MSG_OPTION_NONE, partnum,
GError *err; &err);
err = NULL; if (!filepath) {
if (!mu_msg_part_save (msg, filepath, partnum, FALSE, TRUE, &err)) { g_warning ("failed to get cache path: %s",
g_warning ("failed to save %s: %s", filepath, err&&err->message?err->message:"error");
err&&err->message?err->message:"error"); g_clear_error (&err);
g_clear_error (&err); return;
}
mu_util_play (filepath, TRUE, FALSE, NULL);
g_free (filepath);
} }
if (!mu_msg_part_save (msg, MU_MSG_OPTION_USE_EXISTING,
filepath, partnum, &err)) {
g_warning ("failed to save %s: %s", filepath,
err&&err->message?err->message:"error");
g_clear_error (&err);
return;
} else
mu_util_play (filepath, TRUE, FALSE, NULL);
g_free (filepath);
} }