#include "version.h"
#include "statusbar.h"
#include "folder_item_prefs.h"
+#include "avatars.h"
#ifndef USE_NEW_ADDRBOOK
#include "addressbook.h"
#else
return messageview;
}
-GList *messageview_get_msgview_list(void)
+const GList *messageview_get_msgview_list(void)
{
return msgview_list;
}
ok = strcasecmp(to_addr, buf);
g_free(to_addr);
} else {
- strncpy(buf, _("<No Return-Path found>"),
+ g_strlcpy(buf, _("<No Return-Path found>"),
sizeof(buf));
}
}
gboolean messageview_nav_has_prev(MessageView *messageview) {
- return messageview->trail != NULL && messageview->trail_pos > 0;
+ return messageview != NULL && messageview->trail != NULL
+ && messageview->trail_pos > 0;
}
gboolean messageview_nav_has_next(MessageView *messageview) {
- if (!messageview->trail)
+ if (!messageview || !messageview->trail)
return FALSE;
return sc_g_list_bigger(messageview->trail, messageview->trail_pos + 1);
{
gchar *text = NULL;
gchar *file;
- MimeInfo *mimeinfo, *encinfo, *brokeninfo, *root;
+ MimeInfo *mimeinfo, *encinfo, *root;
gchar *subject = NULL;
cm_return_val_if_fail(msginfo != NULL, -1);
messageview_set_menu_sensitive(messageview);
messageview->msginfo = msginfo;
}
- headerview_show(messageview->headerview, messageview->msginfo);
+ if (prefs_common.display_header_pane)
+ headerview_show(messageview->headerview, messageview->msginfo);
messageview_register_nav(messageview);
messageview_set_position(messageview, 0);
return_receipt_show(messageview->noticeview,
messageview->msginfo);
- if ((brokeninfo = find_broken_part(mimeinfo)) != NULL) {
+ if (find_broken_part(mimeinfo) != NULL) {
noticeview_set_icon(messageview->noticeview,
STOCK_PIXMAP_NOTICE_WARN);
if (!noticeview_is_visible(messageview->noticeview)) {
mainwin = mainwindow_get_mainwindow();
printing_print(GTK_TEXT_VIEW(mimeview->textview->text),
mainwin ? GTK_WINDOW(mainwin->window) : NULL,
- sel_start, sel_end);
+ sel_start, sel_end,
+ (mimeview->textview->image
+ ? GTK_IMAGE(mimeview->textview->image)
+ : NULL));
}
}
static void goto_unread_folder_cb(GtkAction *action, gpointer data)
{
MessageView *messageview = (MessageView *)data;
+
messageview->updating = TRUE;
- folderview_select_next_unread(messageview->mainwin->folderview, FALSE);
+ folderview_select_next_with_flag(messageview->mainwin->folderview, MSG_UNREAD, FALSE);
messageview->updating = FALSE;
if (messageview->deferred_destroy) {
MessageView *messageview = (MessageView *)data;
MsgInfo *msginfo, *full_msginfo;
gchar *from;
- GtkWidget *image = NULL;
GdkPixbuf *picture = NULL;
- gchar *face;
+ AvatarRender *avatarr;
if (!messageview->msginfo || !messageview->msginfo->from)
return;
extract_address(from);
full_msginfo = procmsg_msginfo_get_full_info(msginfo);
- face = procmsg_msginfo_get_avatar(full_msginfo, AVATAR_FACE);
- if (face) {
- image = face_get_from_header(face);
- }
-#if HAVE_LIBCOMPFACE
- else {
- gchar *xface = procmsg_msginfo_get_avatar(full_msginfo, AVATAR_XFACE);
- if (xface) {
- image = xface_get_from_header(xface);
- }
- }
-#endif
+
+ avatarr = avatars_avatarrender_new(full_msginfo);
+ hooks_invoke(AVATAR_IMAGE_RENDER_HOOKLIST, avatarr);
+
procmsg_msginfo_free(full_msginfo);
- if (image)
- picture = gtk_image_get_pixbuf(GTK_IMAGE(image));
+
+ if (avatarr->image != NULL)
+ picture = gtk_image_get_pixbuf(GTK_IMAGE(avatarr->image));
#ifndef USE_NEW_ADDRBOOK
addressbook_add_contact(msginfo->fromname, from, NULL, picture);
debug_print( "addressbook_add_contact - added\n" );
}
#endif
- if (image)
- gtk_widget_destroy(image);
+ avatars_avatarrender_free(avatarr);
}
static void create_filter_cb(GtkAction *gaction, gpointer data)