talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 10104c627c056f4d1780e6bb5dd180e45d36599c
parent 4520a533abbda496a186d31bb05f2544fb36aaea
Author: Oliver Lowe <o@olowe.co>
Date:   Sat, 23 Aug 2025 23:20:36 +1000

Delete header pane

Already displayed in the message view

Diffstat:
Msrc/Makefile.am | 2--
Msrc/addressbook.c | 1-
Msrc/compose.c | 1-
Dsrc/headerview.c | 291------------------------------------------------------------------------------
Dsrc/headerview.h | 50--------------------------------------------------
Msrc/mainwindow.c | 8--------
Msrc/messageview.c | 13-------------
Msrc/messageview.h | 1-
Msrc/prefs_common.c | 7-------
Msrc/prefs_common.h | 3---
Msrc/prefs_message.c | 27---------------------------
Msrc/summaryview.h | 1-
Msrc/textview.c | 5++---
Msrc/viewtypes.h | 5+----
14 files changed, 3 insertions(+), 412 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am @@ -60,7 +60,6 @@ claws_mail_SOURCES = \ foldersel.c \ folderutils.c \ folderview.c \ - headerview.c \ html.c \ imap.c \ imap_gtk.c \ @@ -158,7 +157,6 @@ claws_mailinclude_HEADERS = \ foldersel.h \ folderutils.h \ folderview.h \ - headerview.h \ html.h \ imap.h \ imap_gtk.h \ diff --git a/src/addressbook.c b/src/addressbook.c @@ -46,7 +46,6 @@ #include "utils.h" #include "gtkutils.h" #include "codeconv.h" -#include "about.h" #include "addr_compl.h" #include "mgutils.h" diff --git a/src/compose.c b/src/compose.c @@ -77,7 +77,6 @@ #include "procheader.h" #include "procmime.h" #include "statusbar.h" -#include "about.h" #include "quoted-printable.h" #include "codeconv.h" #include "utils.h" diff --git a/src/headerview.c b/src/headerview.c @@ -1,291 +0,0 @@ -/* - * Claws Mail -- a GTK based, lightweight, and fast e-mail client - * Copyright (C) 1999-2020 the Claws Mail team and Hiroyuki Yamamoto - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#include "claws-features.h" -#endif - -#include "defs.h" - -#include <glib.h> -#include <glib/gi18n.h> -#include <gtk/gtk.h> -#include <stdio.h> -#include <string.h> -#include <time.h> - -#include <gdk-pixbuf/gdk-pixbuf.h> - -#include "headerview.h" -#include "prefs_common.h" -#include "codeconv.h" -#include "gtkutils.h" -#include "utils.h" -#include "headers.h" -#include "addrindex.h" -#include "hooks.h" -#include "avatars.h" - -static gint headerview_show_avatar (HeaderView *headerview, - MsgInfo *msginfo); -static gint headerview_show_contact_pic (HeaderView *headerview, - MsgInfo *msginfo); -static void headerview_save_contact_pic (HeaderView *headerview, - MsgInfo *msginfo); - -HeaderView *headerview_create(void) -{ - HeaderView *headerview; - GtkWidget *hbox; - GtkWidget *vbox; - GtkWidget *hbox1; - GtkWidget *hbox2; - GtkWidget *hbox3; - GtkWidget *from_header_label; - GtkWidget *from_body_label; - GtkWidget *to_header_label; - GtkWidget *to_body_label; - GtkWidget *subject_header_label; - GtkWidget *subject_body_label; - - debug_print("Creating header view...\n"); - headerview = g_new0(HeaderView, 1); - - hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); - gtk_widget_set_name(GTK_WIDGET(hbox), "headerview"); - gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); - vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2); - gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); - - hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4); - gtk_box_pack_start(GTK_BOX(vbox), hbox1, FALSE, FALSE, 0); - hbox2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4); - gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0); - hbox3 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4); - gtk_box_pack_start(GTK_BOX(vbox), hbox3, FALSE, FALSE, 0); - - from_header_label = gtk_label_new(prefs_common_translated_header_name("From:")); - from_body_label = gtk_label_new(""); - to_header_label = gtk_label_new(prefs_common_translated_header_name("To:")); - to_body_label = gtk_label_new(""); - subject_header_label = gtk_label_new(prefs_common_translated_header_name("Subject:")); - subject_body_label = gtk_label_new(""); - - gtk_label_set_selectable(GTK_LABEL(from_body_label), TRUE); - gtk_label_set_selectable(GTK_LABEL(to_body_label), TRUE); - gtk_label_set_selectable(GTK_LABEL(subject_body_label), TRUE); - - gtk_widget_set_can_focus(from_body_label, FALSE); - gtk_widget_set_can_focus(to_body_label, FALSE); - gtk_widget_set_can_focus(subject_body_label, FALSE); - - gtk_box_pack_start(GTK_BOX(hbox1), from_header_label, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox1), from_body_label, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox1), to_header_label, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox1), to_body_label, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(hbox2), subject_header_label, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox2), subject_body_label, TRUE, TRUE, 0); - - gtk_label_set_xalign(GTK_LABEL(to_body_label), 0.0); - gtk_label_set_xalign(GTK_LABEL(subject_body_label), 0.0); - gtk_label_set_ellipsize(GTK_LABEL(to_body_label), PANGO_ELLIPSIZE_END); - gtk_label_set_ellipsize(GTK_LABEL(subject_body_label), PANGO_ELLIPSIZE_END); - - headerview->hbox = hbox; - headerview->from_header_label = from_header_label; - headerview->from_body_label = from_body_label; - headerview->to_header_label = to_header_label; - headerview->to_body_label = to_body_label; - headerview->subject_header_label = subject_header_label; - headerview->subject_body_label = subject_body_label; - headerview->image = NULL; - - gtk_widget_show_all(hbox); - - return headerview; -} - -void headerview_init(HeaderView *headerview) -{ - headerview_clear(headerview); - if (prefs_common.display_header_pane) - gtk_widget_show(headerview->hbox); - else - gtk_widget_hide(headerview->hbox); -} - -void headerview_show(HeaderView *headerview, MsgInfo *msginfo) -{ - headerview_clear(headerview); - - gtk_label_set_text(GTK_LABEL(headerview->from_body_label), - msginfo->from ? msginfo->from : _("(No From)")); - if (msginfo->to) { - gtk_label_set_text(GTK_LABEL(headerview->to_body_label), - msginfo->to); - gtk_widget_show(headerview->to_header_label); - gtk_widget_show(headerview->to_body_label); - } - gtk_label_set_text(GTK_LABEL(headerview->subject_body_label), - msginfo->subject ? msginfo->subject : - _("(No Subject)")); - if (!headerview_show_avatar(headerview, msginfo)) - return; - - if (!headerview_show_contact_pic(headerview, msginfo)) - return; - -} - -static gint headerview_show_avatar (HeaderView *headerview, MsgInfo *msginfo) -{ - AvatarRender *avatarr = avatars_avatarrender_new(msginfo); - GtkWidget *hbox = headerview->hbox; - - hooks_invoke(AVATAR_IMAGE_RENDER_HOOKLIST, avatarr); - - if (!avatarr->image) { - if (headerview->image - && gtk_widget_get_visible(headerview->image)) { - gtk_widget_hide(headerview->image); - gtk_widget_queue_resize(hbox); - } - avatars_avatarrender_free(avatarr); - return -1; - } - if (!gtk_widget_get_visible(hbox)) { - avatars_avatarrender_free(avatarr); - return -1; - } - - if (headerview->image) { - gtk_widget_destroy(headerview->image); - headerview->image = NULL; - } - - gtk_box_pack_start(GTK_BOX(hbox), avatarr->image, FALSE, FALSE, 0); - gtk_widget_show(avatarr->image); - - headerview->image = avatarr->image; - avatarr->image = NULL; /* avoid destroying */ - avatars_avatarrender_free(avatarr); - - if (prefs_common.save_xface) - headerview_save_contact_pic(headerview, msginfo); - return 0; -} - -static void headerview_save_contact_pic (HeaderView *headerview, MsgInfo *msginfo) -{ - gchar *filename = NULL; - GError *error = NULL; - GdkPixbuf *picture = NULL; - - if (!gtk_widget_get_visible(headerview->hbox)) return; - - if (headerview->image) { - picture = gtk_image_get_pixbuf(GTK_IMAGE(headerview->image)); - } - - filename = addrindex_get_picture_file(msginfo->from); - if (!filename) - return; - if (!is_file_exist(filename)) { - gdk_pixbuf_save(picture, filename, "png", &error, NULL); - if (error) { - g_warning("failed to save image: %s", - error->message); - g_error_free(error); - } - } - g_free(filename); -} - -static gint headerview_show_contact_pic (HeaderView *headerview, MsgInfo *msginfo) -{ - GtkWidget *hbox = headerview->hbox; - GtkWidget *image; - gchar *filename = NULL; - GError *error = NULL; - GdkPixbuf *picture = NULL; - gint w, h; - - if (!gtk_widget_get_visible(headerview->hbox)) return -1; - - if (headerview->image) { - gtk_widget_destroy(headerview->image); - headerview->image = NULL; - } - - filename = addrindex_get_picture_file(msginfo->from); - - if (!filename) - return -1; - if (!is_file_exist(filename)) { - g_free(filename); - return -1; - } - gdk_pixbuf_get_file_info(filename, &w, &h); - - if (w > 48 || h > 48) - picture = gdk_pixbuf_new_from_file_at_scale(filename, - 48, 48, TRUE, &error); - else - picture = gdk_pixbuf_new_from_file(filename, &error); - - g_free(filename); - if (error) { - debug_print("Failed to import image: %s\n", - error->message); - g_error_free(error); - return -1; - } - if (picture) - image = gtk_image_new_from_pixbuf(picture); - else - return -1; - - g_object_unref(picture); - if (image) { - gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0); - gtk_widget_show(image); - } - - headerview->image = image; - if (image == NULL) - return -1; - return 0; -} - -void headerview_clear(HeaderView *headerview) -{ - if (headerview == NULL) - return; - - gtk_label_set_text(GTK_LABEL(headerview->from_body_label), ""); - gtk_label_set_text(GTK_LABEL(headerview->to_body_label), ""); - gtk_label_set_text(GTK_LABEL(headerview->subject_body_label), ""); - gtk_widget_hide(headerview->to_header_label); - gtk_widget_hide(headerview->to_body_label); - - if (headerview->image && gtk_widget_get_visible(headerview->image)) { - gtk_widget_hide(headerview->image); - gtk_widget_queue_resize(headerview->hbox); - } -} diff --git a/src/headerview.h b/src/headerview.h @@ -1,50 +0,0 @@ -/* - * Claws Mail -- a GTK based, lightweight, and fast e-mail client - * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -#ifndef __HEADERVIEW_H__ -#define __HEADERVIEW_H__ - -#include <glib.h> -#include <gtk/gtk.h> - -#include "procmsg.h" -#include "viewtypes.h" - -struct _HeaderView -{ - GtkWidget *hbox; - - GtkWidget *from_header_label; - GtkWidget *from_body_label; - GtkWidget *to_header_label; - GtkWidget *to_body_label; - GtkWidget *subject_header_label; - GtkWidget *subject_body_label; - - GtkWidget *image; -}; - -HeaderView *headerview_create (void); -void headerview_init (HeaderView *headerview); -void headerview_show (HeaderView *headerview, - MsgInfo *msginfo); -void headerview_clear (HeaderView *headerview); -void headerview_destroy (HeaderView *headerview); -void headerview_set_font (HeaderView *headerview); -#endif /* __HEADERVIEW_H__ */ diff --git a/src/mainwindow.c b/src/mainwindow.c @@ -37,7 +37,6 @@ #include "messageview.h" #include "mimeview.h" #include "message_search.h" -#include "headerview.h" #include "menu.h" #include "stock_pixmap.h" #include "folder.h" @@ -1719,11 +1718,6 @@ static gboolean reflect_prefs_timeout_cb(gpointer data) hooks_invoke(THEME_CHANGED_HOOKLIST, NULL); } - - if (prefs_common.display_header_pane) - gtk_widget_show(mainwin->messageview->headerview->hbox); - else - gtk_widget_hide(mainwin->messageview->headerview->hbox); textview_reflect_prefs(mainwin->messageview->mimeview->textview); summary_redisplay_msg(mainwin->summaryview); if (prefs_common.layout_mode == SMALL_LAYOUT) { @@ -3075,8 +3069,6 @@ static void main_window_set_widgets(MainWindow *mainwin, LayoutType layout_mode) prefs_common.mainwin_width, prefs_common.mainwin_height); } - if (!prefs_common.display_header_pane) - gtk_widget_hide(mainwin->messageview->headerview->hbox); if (mainwin->messageview->visible) gtk_image_set_from_icon_name(GTK_IMAGE(mainwin->summaryview->toggle_arrow), diff --git a/src/messageview.c b/src/messageview.c @@ -30,7 +30,6 @@ #include "main.h" #include "messageview.h" #include "message_search.h" -#include "headerview.h" #include "summaryview.h" #include "textview.h" #include "mimeview.h" @@ -335,15 +334,12 @@ MessageView *messageview_create(MainWindow *mainwin) { MessageView *messageview; GtkWidget *vbox; - HeaderView *headerview; MimeView *mimeview; NoticeView *noticeview; debug_print("Creating message view...\n"); messageview = g_new0(MessageView, 1); - headerview = headerview_create(); - noticeview = noticeview_create(mainwin); mimeview = mimeview_create(mainwin); @@ -353,8 +349,6 @@ MessageView *messageview_create(MainWindow *mainwin) vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_name(GTK_WIDGET(vbox), "messageview"); - gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET_PTR(headerview), - FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET_PTR(noticeview), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), @@ -364,7 +358,6 @@ MessageView *messageview_create(MainWindow *mainwin) messageview->vbox = vbox; messageview->new_window = FALSE; messageview->window = NULL; - messageview->headerview = headerview; messageview->mimeview = mimeview; messageview->noticeview = noticeview; messageview->mainwin = mainwin; @@ -663,9 +656,7 @@ MessageView *messageview_create_with_new_window(MainWindow *mainwin) } void messageview_init(MessageView *messageview) { - headerview_init(messageview->headerview); mimeview_init(messageview->mimeview); - noticeview_hide(messageview->noticeview); } @@ -989,8 +980,6 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo, messageview_set_menu_sensitive(messageview); messageview->msginfo = msginfo; } - if (prefs_common.display_header_pane) - headerview_show(messageview->headerview, messageview->msginfo); messageview_register_nav(messageview); messageview_set_position(messageview, 0); @@ -1136,7 +1125,6 @@ void messageview_clear(MessageView *messageview) } mimeview_clear(messageview->mimeview); - headerview_clear(messageview->headerview); noticeview_hide(messageview->noticeview); } @@ -1173,7 +1161,6 @@ void messageview_destroy(MessageView *messageview) return; } - g_free(messageview->headerview); mimeview_destroy(messageview->mimeview); noticeview_destroy(messageview->noticeview); diff --git a/src/messageview.h b/src/messageview.h @@ -47,7 +47,6 @@ struct _MessageView Toolbar *toolbar; GtkWidget *menubar; - HeaderView *headerview; MimeView *mimeview; NoticeView *noticeview; GtkWidget *statusbar; diff --git a/src/prefs_common.c b/src/prefs_common.c @@ -508,8 +508,6 @@ static PrefParam param[] = { {"qs_error_bgcolor", "#ff7070", &prefs_common.color[COL_QS_ERROR_BG], P_COLOR, NULL, NULL, NULL}, - {"display_header_pane", "FALSE", &prefs_common.display_header_pane, - P_BOOL, NULL, NULL, NULL}, {"display_header", "TRUE", &prefs_common.display_header, P_BOOL, NULL, NULL, NULL}, {"display_xface", "TRUE", &prefs_common.display_xface, @@ -822,11 +820,6 @@ static PrefParam param[] = { {"addressbook_folderselwin_height", "-1", &prefs_common.addressbook_folderselwin_height, P_INT, NULL, NULL, NULL}, - {"aboutwin_width", "450", &prefs_common.aboutwin_width, P_INT, - NULL, NULL, NULL}, - {"aboutwin_height", "500", &prefs_common.aboutwin_height, P_INT, - NULL, NULL, NULL}, - {"addrgather_width", "450", &prefs_common.addrgather_width, P_INT, NULL, NULL, NULL}, {"addrgather_height", "-1", &prefs_common.addrgather_height, P_INT, diff --git a/src/prefs_common.h b/src/prefs_common.h @@ -328,7 +328,6 @@ struct _PrefsCommon gboolean enable_color; gboolean enable_bgcolor; gboolean recycle_quote_colors; - gboolean display_header_pane; gboolean display_header; gboolean display_xface; gboolean save_xface; @@ -482,8 +481,6 @@ struct _PrefsCommon gint addressaddwin_height; gint addressbook_folderselwin_width; gint addressbook_folderselwin_height; - gint aboutwin_width; - gint aboutwin_height; gint addrgather_width; gint addrgather_height; gint news_subscribe_width; diff --git a/src/prefs_message.c b/src/prefs_message.c @@ -46,7 +46,6 @@ typedef struct _MessagePage GtkWidget *window; - GtkWidget *checkbtn_disphdrpane; GtkWidget *checkbtn_disphdr; GtkWidget *checkbtn_dispxface; GtkWidget *checkbtn_savexface; @@ -63,15 +62,6 @@ typedef struct _MessagePage GtkWidget *checkbtn_attach_desc; } MessagePage; -static void disphdr_pane_toggled(GtkToggleButton *toggle_btn, GtkWidget *widget) -{ - gboolean is_active; - - is_active = gtk_toggle_button_get_active(toggle_btn); - - gtk_widget_set_sensitive(widget, !is_active); -} - static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window, gpointer data) { @@ -80,7 +70,6 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window, GtkWidget *vbox1; GtkWidget *vbox2; GtkWidget *hbox1; - GtkWidget *checkbtn_disphdrpane; GtkWidget *checkbtn_disphdr; GtkWidget *checkbtn_dispxface; GtkWidget *checkbtn_savexface; @@ -114,21 +103,11 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window, gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER); vbox2 = gtkut_get_options_frame(vbox1, &frame, _("Headers")); - - PACK_CHECK_BUTTON(vbox2, checkbtn_disphdrpane, - _("Display header pane above message view")); - PACK_CHECK_BUTTON(vbox2, checkbtn_dispxface, _("Display Face in message view")); PACK_CHECK_BUTTON(vbox2, checkbtn_savexface, _("Save Face in address book if possible")); - gtk_widget_set_sensitive(checkbtn_dispxface, - !prefs_common.display_header_pane); - - g_signal_connect(G_OBJECT(checkbtn_disphdrpane), "toggled", - G_CALLBACK(disphdr_pane_toggled), checkbtn_dispxface); - hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, TRUE, 0); @@ -234,9 +213,6 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window, gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (hbox1), hbox2, FALSE, FALSE, 0); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_disphdrpane), - prefs_common.display_header_pane); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_dispxface), prefs_common.display_xface); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_savexface), @@ -262,7 +238,6 @@ static void prefs_message_create_widget(PrefsPage *_page, GtkWindow *window, prefs_common.scroll_step); prefs_message->window = GTK_WIDGET(window); - prefs_message->checkbtn_disphdrpane = checkbtn_disphdrpane; prefs_message->checkbtn_dispxface = checkbtn_dispxface; prefs_message->checkbtn_savexface = checkbtn_savexface; prefs_message->checkbtn_disphdr = checkbtn_disphdr; @@ -282,8 +257,6 @@ static void prefs_message_save(PrefsPage *_page) { MessagePage *page = (MessagePage *) _page; - prefs_common.display_header_pane = gtk_toggle_button_get_active( - GTK_TOGGLE_BUTTON(page->checkbtn_disphdrpane)); prefs_common.display_xface = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(page->checkbtn_dispxface)); prefs_common.save_xface = gtk_toggle_button_get_active( diff --git a/src/summaryview.h b/src/summaryview.h @@ -118,7 +118,6 @@ struct _SummaryView MainWindow *mainwin; FolderView *folderview; - HeaderView *headerview; MessageView *messageview; MessageView *ext_messageview; QuickSearch *quicksearch; diff --git a/src/textview.c b/src/textview.c @@ -1702,7 +1702,7 @@ static void textview_show_avatar(TextView *textview) gint x, wx, wy; AvatarRender *avatarr; - if (prefs_common.display_header_pane || !prefs_common.display_xface) + if (!prefs_common.display_xface) goto bail; avatarr = avatars_avatarrender_new(msginfo); @@ -1819,8 +1819,7 @@ static void textview_show_contact_pic(TextView *textview) gint w, h; GtkAllocation allocation; - if (prefs_common.display_header_pane - || !prefs_common.display_xface) + if (!prefs_common.display_xface) goto bail; if (msginfo->extradata && msginfo->extradata->avatars) diff --git a/src/viewtypes.h b/src/viewtypes.h @@ -14,7 +14,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * */ #ifndef VIEWTYPES_H @@ -26,9 +26,6 @@ typedef struct _SummaryView SummaryView; struct _FolderView; typedef struct _FolderView FolderView; -struct _HeaderView; -typedef struct _HeaderView HeaderView; - struct _MessageView; typedef struct _MessageView MessageView;