aboutsummaryrefslogtreecommitdiff
path: root/src/textview.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-10-25 07:17:54 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-10-25 07:17:54 +0000
commit749d0bd1eb364a5efc52d2f0a0b4b7731c9332ba (patch)
tree9b3c627281eba34f2e6447dfb63cd1dae90b3bd7 /src/textview.c
parentd8bb0c2d9a035c9ce315877b18a12ba5df9113b5 (diff)
match the output header for printing to the message view.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@679 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/textview.c')
-rw-r--r--src/textview.c49
1 files changed, 5 insertions, 44 deletions
diff --git a/src/textview.c b/src/textview.c
index 4463d199..3fa4557c 100644
--- a/src/textview.c
+++ b/src/textview.c
@@ -1235,58 +1235,20 @@ void textview_set_position(TextView *textview, gint pos)
static GPtrArray *textview_scan_header(TextView *textview, FILE *fp,
const gchar *encoding)
{
- gchar buf[BUFFSIZE];
- GPtrArray *headers, *sorted_headers;
- GSList *disphdr_list;
- Header *header;
- gint i;
-
g_return_val_if_fail(fp != NULL, NULL);
if (textview->show_all_headers)
return procheader_get_header_array_asis(fp, encoding);
if (!prefs_common.display_header) {
+ gchar buf[BUFFSIZE];
+
while (fgets(buf, sizeof(buf), fp) != NULL)
if (buf[0] == '\r' || buf[0] == '\n') break;
return NULL;
}
- headers = procheader_get_header_array_asis(fp, encoding);
-
- sorted_headers = g_ptr_array_new();
-
- for (disphdr_list = prefs_common.disphdr_list; disphdr_list != NULL;
- disphdr_list = disphdr_list->next) {
- DisplayHeaderProp *dp =
- (DisplayHeaderProp *)disphdr_list->data;
-
- for (i = 0; i < headers->len; i++) {
- header = g_ptr_array_index(headers, i);
-
- if (!g_ascii_strcasecmp(header->name, dp->name)) {
- if (dp->hidden)
- procheader_header_free(header);
- else
- g_ptr_array_add(sorted_headers, header);
-
- g_ptr_array_remove_index(headers, i);
- i--;
- }
- }
- }
-
- if (prefs_common.show_other_header) {
- for (i = 0; i < headers->len; i++) {
- header = g_ptr_array_index(headers, i);
- g_ptr_array_add(sorted_headers, header);
- }
- g_ptr_array_free(headers, TRUE);
- } else
- procheader_header_array_destroy(headers);
-
-
- return sorted_headers;
+ return procheader_get_header_array_for_display(fp, encoding);
}
static void textview_show_header(TextView *textview, GPtrArray *headers)
@@ -1300,12 +1262,12 @@ static void textview_show_header(TextView *textview, GPtrArray *headers)
g_return_if_fail(headers != NULL);
buffer = gtk_text_view_get_buffer(text);
+ gtk_text_buffer_get_end_iter(buffer, &iter);
for (i = 0; i < headers->len; i++) {
header = g_ptr_array_index(headers, i);
g_return_if_fail(header->name != NULL);
- gtk_text_buffer_get_end_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags_by_name
(buffer, &iter, header->name, -1,
"header_title", "header", NULL);
@@ -1323,7 +1285,6 @@ static void textview_show_header(TextView *textview, GPtrArray *headers)
(!strncmp(header->name, "X-Mailer", 8) ||
!strncmp(header->name, "X-Newsreader", 12)) &&
strstr(header->body, "Sylpheed") != NULL) {
- gtk_text_buffer_get_end_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags_by_name
(buffer, &iter, header->body, -1,
"header", "emphasis", NULL);
@@ -1334,7 +1295,7 @@ static void textview_show_header(TextView *textview, GPtrArray *headers)
textview_make_clickable_parts
(textview, "header", NULL, header->body);
}
- gtk_text_buffer_get_end_iter(buffer, &iter); //
+ gtk_text_buffer_get_end_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags_by_name
(buffer, &iter, "\n", 1, "header", NULL);
}