#include "utils.h"
#include "gtkutils.h"
#include "prefs_common.h"
-#include "rfc2015.h"
#include "stock_pixmap.h"
#include "gtk/gtkvscrollbutton.h"
gtk_widget_show(scrolledwin);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin),
GTK_POLICY_AUTOMATIC,
- GTK_POLICY_ALWAYS);
+ GTK_POLICY_AUTOMATIC);
ctree = gtk_sctree_new_with_titles(N_MIMEVIEW_COLS, 0, titles);
gtk_widget_show(ctree);
gchar *str[N_MIMEVIEW_COLS];
if (partinfo->type != MIMETYPE_UNKNOWN && partinfo->subtype) {
- g_snprintf(content_type, 64, "%s/%s", procmime_get_type_str(partinfo->type), partinfo->subtype);
+ g_snprintf(content_type, 64, "%s/%s", procmime_get_media_type_str(partinfo->type), partinfo->subtype);
} else {
g_snprintf(content_type, 64, "UNKNOWN");
}
MimeViewer *viewer = NULL;
if ((partinfo->type == MIMETYPE_APPLICATION) &&
- (!g_strcasecmp(partinfo->subtype, "octet-stream"))) {
+ (!g_ascii_strcasecmp(partinfo->subtype, "octet-stream"))) {
const gchar *filename;
filename = procmime_mimeinfo_get_parameter(partinfo, "filename");
switch (type) {
case MIMEVIEW_TEXT:
- gtk_notebook_set_page(GTK_NOTEBOOK(mimeview->mime_notebook),
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(mimeview->mime_notebook),
gtk_notebook_page_num(GTK_NOTEBOOK(mimeview->mime_notebook),
GTK_WIDGET_PTR(textview)));
break;
case MIMEVIEW_VIEWER:
- gtk_notebook_set_page(GTK_NOTEBOOK(mimeview->mime_notebook),
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(mimeview->mime_notebook),
gtk_notebook_page_num(GTK_NOTEBOOK(mimeview->mime_notebook),
GTK_WIDGET(mimeview->mimeviewer->get_widget(mimeview->mimeviewer))));
break;
noticeview_set_button_text(mimeview->siginfoview, button_text);
noticeview_set_button_press_callback(
mimeview->siginfoview,
- GTK_SIGNAL_FUNC(func),
+ G_CALLBACK(func),
(gpointer) mimeview);
noticeview_set_icon(mimeview->siginfoview, icon);
}
"/Display as text", TRUE);
if (partinfo &&
partinfo->type == MIMETYPE_APPLICATION &&
- !g_strcasecmp(partinfo->subtype, "octet-stream"))
+ !g_ascii_strcasecmp(partinfo->subtype, "octet-stream"))
menu_set_sensitive(mimeview->popupfactory,
"/Open", FALSE);
else
alertpanel_error
(_("Can't save the part of multipart message."));
- uriname = g_strconcat("file:/", filename, NULL);
+ uriname = g_strconcat("file://", filename, NULL);
gtk_selection_data_set(selection_data, selection_data->target, 8,
uriname, strlen(uriname));
{
gchar *dir;
- dir= g_dirname(filename);
+ dir= g_path_get_dirname(filename);
if (!is_dir_exist(dir))
make_dir_hier(dir);
g_free(dir);
startdir = g_strconcat(prefs_common.attach_save_dir,
G_DIR_SEPARATOR_S, NULL);
- dirname = filesel_select_file(_("Select destination folder"), startdir);
+ dirname = filesel_select_file_open_folder(_("Select destination folder"), startdir);
if (!dirname) {
if (startdir) g_free(startdir);
return;
if (dirname[strlen(dirname)-1] == G_DIR_SEPARATOR)
dirname[strlen(dirname)-1] = '\0';
+ /* Skip the first part, that is sometimes DISPOSITIONTYPE_UNKNOWN */
+ if (partinfo && partinfo->type == MIMETYPE_MESSAGE)
+ partinfo = procmime_mimeinfo_next(partinfo);
+ if (partinfo && partinfo->type == MIMETYPE_MULTIPART) {
+ partinfo = procmime_mimeinfo_next(partinfo);
+ if (partinfo && partinfo->type == MIMETYPE_TEXT)
+ partinfo = procmime_mimeinfo_next(partinfo);
+ }
+
while (partinfo != NULL) {
if (partinfo->type != MIMETYPE_MESSAGE &&
partinfo->type != MIMETYPE_MULTIPART &&
static void mimeview_save_as(MimeView *mimeview)
{
gchar *filename;
- gchar *defname = NULL;
gchar *filepath = NULL;
gchar *filedir = NULL;
MimeInfo *partinfo;
}
g_return_if_fail(partinfo != NULL);
- if ((partname = get_part_name(partinfo)) != NULL) {
- Xstrdup_a(defname, partname, return);
- subst_for_shellsafe_filename(defname);
+ if ((partname = get_part_name(partinfo)) == NULL) {
+ return;
}
if (prefs_common.attach_save_dir)
filepath = g_strconcat(prefs_common.attach_save_dir,
- G_DIR_SEPARATOR_S, defname, NULL);
+ G_DIR_SEPARATOR_S, partname, NULL);
else
- filepath = g_strdup(defname);
+ filepath = g_strdup(partname);
- filename = filesel_select_file(_("Save as"), filepath);
+ filename = filesel_select_file_save(_("Save as"), filepath);
if (!filename) {
g_free(filepath);
return;
mimeview_write_part(filename, partinfo);
- filedir = g_dirname(filename);
+ filedir = g_path_get_dirname(filename);
if (filedir && strcmp(filedir, ".")) {
if (prefs_common.attach_save_dir)
g_free(prefs_common.attach_save_dir);
cmd = cmdline;
def_cmd = NULL;
} else if (MIMETYPE_APPLICATION == partinfo->type &&
- !g_strcasecmp(partinfo->subtype, "octet-stream")) {
+ !g_ascii_strcasecmp(partinfo->subtype, "octet-stream")) {
return;
} else if (MIMETYPE_IMAGE == partinfo->type) {
cmd = prefs_common.mime_image_viewer;
switch (mimeinfo->type) {
case MIMETYPE_TEXT:
- if (mimeinfo->subtype && !g_strcasecmp(mimeinfo->subtype, "html"))
+ if (mimeinfo->subtype && !g_ascii_strcasecmp(mimeinfo->subtype, "html"))
stockp = STOCK_PIXMAP_MIME_TEXT_HTML;
- else if (mimeinfo->subtype && !g_strcasecmp(mimeinfo->subtype, "enriched"))
+ else if (mimeinfo->subtype && !g_ascii_strcasecmp(mimeinfo->subtype, "enriched"))
stockp = STOCK_PIXMAP_MIME_TEXT_ENRICHED;
else
stockp = STOCK_PIXMAP_MIME_TEXT_PLAIN;
static void icon_list_create(MimeView *mimeview, MimeInfo *mimeinfo)
{
GtkRequisition size;
- gint width;
+
g_return_if_fail(mimeinfo != NULL);
while (mimeinfo != NULL) {
if (mimeinfo->type != MIMETYPE_MULTIPART)
icon_list_append_icon(mimeview, mimeinfo);
if (mimeinfo->node->children != NULL)
- icon_list_create(mimeview, (MimeInfo *) mimeinfo->node->children->data);
- mimeinfo = mimeinfo->node->next != NULL ? (MimeInfo *) mimeinfo->node->next->data : NULL;
+ icon_list_create(mimeview,
+ (MimeInfo *) mimeinfo->node->children->data);
+ mimeinfo = mimeinfo->node->next != NULL
+ ? (MimeInfo *) mimeinfo->node->next->data
+ : NULL;
}
gtk_widget_size_request(mimeview->icon_vbox, &size);
- width = size.width + 4;
- if (width > mimeview->icon_mainbox->requisition.width) {
+ if (size.width > mimeview->icon_mainbox->requisition.width) {
gtk_widget_set_size_request(mimeview->icon_mainbox,
- width, -1);
+ size.width, -1);
}
}