From 15ecfbc6effda513ca18e81b419b0eaf02daa0d5 Mon Sep 17 00:00:00 2001 From: hiro Date: Tue, 8 Mar 2005 06:14:33 +0000 Subject: optimized making of clickable URI. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@153 ee746299-78ed-0310-b773-934348b2243d --- src/gtkutils.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/gtkutils.c') diff --git a/src/gtkutils.c b/src/gtkutils.c index 1047d874..211cd1f5 100644 --- a/src/gtkutils.c +++ b/src/gtkutils.c @@ -556,6 +556,31 @@ gboolean gtkut_text_buffer_find_backward(GtkTextBuffer *buffer, return found; } +#define MAX_TEXT_LINE_LEN 8190 + +void gtkut_text_buffer_insert_with_tag_by_name(GtkTextBuffer *buffer, + GtkTextIter *iter, + const gchar *text, + gint len, + const gchar *tag) +{ + if (len < 0) + len = strlen(text); + + gtk_text_buffer_insert_with_tags_by_name + (buffer, iter, text, len, tag, NULL); + + if (text[len - 1] != '\n') { + /* somehow returns invalid value first (bug?), + so call it twice */ + gtk_text_iter_get_chars_in_line(iter); + if (gtk_text_iter_get_chars_in_line(iter) > MAX_TEXT_LINE_LEN) { + gtk_text_buffer_insert_with_tags_by_name + (buffer, iter, "\n", 1, tag, NULL); + } + } +} + gchar *gtkut_text_view_get_selection(GtkTextView *textview) { GtkTextBuffer *buffer; -- cgit v1.2.3