From 42da7f35774533ed6f47d47bf885724883b33890 Mon Sep 17 00:00:00 2001 From: hiro Date: Wed, 2 Feb 2005 07:37:47 +0000 Subject: compose.c::get_indent_length() use GtkTextIter for the loop. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@72 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 5 +++-- ChangeLog.ja | 5 +++-- src/compose.c | 11 ++++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87d7a4cd..6ab92a69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,8 @@ 2005-02-02 - * src/compose.c: GET_CHAR(): speed up by using - gtk_text_iter_get_char(). + * src/compose.c: + GET_CHAR(): speed up by using gtk_text_iter_get_char(). + get_indent_length(): use GtkTextIter for the loop. 2005-02-02 diff --git a/ChangeLog.ja b/ChangeLog.ja index 764cd8da..9f95cbf5 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,7 +1,8 @@ 2005-02-02 - * src/compose.c: GET_CHAR(): gtk_text_iter_get_char() を使用して - 高速化。 + * src/compose.c: + GET_CHAR(): gtk_text_iter_get_char() を使用して高速化。 + get_indent_length(): ループに GtkTextIter を使用。 2005-02-02 diff --git a/src/compose.c b/src/compose.c index 1c057c92..e36ecfc5 100644 --- a/src/compose.c +++ b/src/compose.c @@ -1992,18 +1992,18 @@ typedef enum { static guint get_indent_length(GtkTextBuffer *textbuf, guint start_pos, guint text_len) { + GtkTextIter iter; guint i_len = 0; - guint i, ch_len, alnum_cnt = 0; + guint ch_len, alnum_cnt = 0; IndentState state = WAIT_FOR_INDENT_CHAR; gchar cbuf[CHAR_BUF_SIZE]; gboolean is_space; gboolean is_indent; + gboolean iter_next = TRUE; -#warning FIXME_GTK2 use GtkTextIter - for (i = start_pos; i < text_len; i++) { - GtkTextIter iter; + gtk_text_buffer_get_iter_at_offset(textbuf, &iter, start_pos); - gtk_text_buffer_get_iter_at_offset(textbuf, &iter, i); + while (iter_next == TRUE) { GET_CHAR(&iter, cbuf, ch_len); if (ch_len > 1) break; @@ -2048,6 +2048,7 @@ static guint get_indent_length(GtkTextBuffer *textbuf, guint start_pos, } i_len++; + iter_next = gtk_text_iter_forward_char(&iter); } out: -- cgit v1.2.3