#include "inputdialog.h"
#include "timing.h"
-gint previousquotelevel = -1;
-
static GdkColor quote_colors[3] = {
{(gulong)0, (gushort)0, (gushort)0, (gushort)0},
{(gulong)0, (gushort)0, (gushort)0, (gushort)0},
return;
}
- previousquotelevel = -1;
+ textview->prev_quote_level = -1;
if ((mimeinfo->type == MIMETYPE_MESSAGE) && !g_ascii_strcasecmp(mimeinfo->subtype, "rfc822")) {
FILE *fp;
fg_color = quote_tag_str;
}
- if (prefs_common.enable_color && (strcmp(buf,"-- \n") == 0 || textview->is_in_signature)) {
+ if (prefs_common.enable_color &&
+ (strcmp(buf,"-- \n") == 0 || strcmp(buf, "- -- \n") == 0 || textview->is_in_signature)) {
fg_color = "signature";
textview->is_in_signature = TRUE;
}
g_free(utf8buf);
}
do_quote:
- if ( previousquotelevel != real_quotelevel ) {
+ if ( textview->prev_quote_level != real_quotelevel ) {
ClickableText *uri;
uri = g_new0(ClickableText, 1);
uri->uri = g_strdup("");
textview->uri_list =
g_slist_prepend(textview->uri_list, uri);
- previousquotelevel = real_quotelevel;
+ textview->prev_quote_level = real_quotelevel;
} else {
GSList *last = textview->uri_list;
- ClickableText *lasturi = (ClickableText *)last->data;
+ ClickableText *lasturi = NULL;
gint e_len = 0, n_len = 0;
+ if (textview->uri_list) {
+ lasturi = (ClickableText *)last->data;
+ } else {
+ printf("oops (%d %d)\n",
+ real_quotelevel, textview->prev_quote_level);
+ }
if (lasturi->is_quote == FALSE) {
- previousquotelevel = -1;
+ textview->prev_quote_level = -1;
goto do_quote;
}
e_len = lasturi->data ? strlen(lasturi->data):0;
}
} else {
textview_make_clickable_parts(textview, fg_color, "link", buf, FALSE);
- previousquotelevel = -1;
+ textview->prev_quote_level = -1;
}
}
textview_uri_list_remove_all(textview->uri_list);
textview->uri_list = NULL;
textview->uri_hover = NULL;
+ textview->prev_quote_level = -1;
textview->body_pos = 0;
if (textview->image)
textview_uri_list_remove_all(textview->uri_list);
textview->uri_list = NULL;
+ textview->prev_quote_level = -1;
g_free(textview);
}
case GDK_t:
case GDK_l:
case GDK_c:
+ case GDK_a:
if ((event->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) == 0) {
KEY_PRESS_EVENT_STOP();
mimeview_pass_key_press_event(messageview->mimeview,