Author: jhs
Date: Sun Feb 17 10:54:40 2008
New Revision: 3681
URL: http://svn.gnome.org/viewvc/anjuta?rev=3681&view=rev

Log:
2008-02-17  Johannes Schmid <[EMAIL PROTECTED]>

        * plugins/language-support-cpp-java/plugin.c:
        (get_line_indentation_base), (get_line_auto_indentation),
        (on_auto_indent):
        Some bugfixes and clean-ups in comment indentation code
        
        * plugins/sourceview/anjuta-view.c: (anjuta_view_class_init),
        (anjuta_view_finalize), (anjuta_view_key_press_event):
        * plugins/sourceview/sourceview.c: (on_insert_text),
        (sourceview_create_highligth_indic), (sourceview_new):
        Cleaned implementation of char-added signal by using \"insert-text\" 
signal
        instead of filtering \"key-press-event\"
        * plugins/sourceview/sourceview-cell.c: (icell_get_character),
        (icell_get_length), (icell_get_char), (iiter_first), (iiter_last),
        (iiter_diff):
        Fixed implementation of get_character and return value of iiter_first() 
and
        iiter_last();

Modified:
   trunk/ChangeLog
   trunk/plugins/language-support-cpp-java/plugin.c
   trunk/plugins/sourceview/anjuta-view.c
   trunk/plugins/sourceview/sourceview-cell.c
   trunk/plugins/sourceview/sourceview.c

Modified: trunk/plugins/language-support-cpp-java/plugin.c
==============================================================================
--- trunk/plugins/language-support-cpp-java/plugin.c    (original)
+++ trunk/plugins/language-support-cpp-java/plugin.c    Sun Feb 17 10:54:40 2008
@@ -825,6 +825,7 @@
        gboolean looking_at_just_next_line = TRUE;
        gboolean current_line_is_preprocessor = FALSE;
        gboolean current_line_is_continuation = FALSE;
+       gboolean line_checked_for_comment = FALSE;
        
        *incomplete_statement = -1;
        
@@ -923,6 +924,7 @@
                        if (point_ch == '}' && get_line_indentation (editor, 
line_saved) <= 0)
                        {
                                line_indent = 0;
+                               line_indent += extra_indent;
                                break;
                        }
                        
@@ -1035,96 +1037,89 @@
                                */
                        }
                        looking_at_just_next_line = FALSE;
+                       line_checked_for_comment = FALSE;
                }                
                else if (!isspace (point_ch))
                {
                        /* Check for line starting comment */
-                       gboolean comment = FALSE;
-                       IAnjutaIterable* new_iter = ianjuta_iterable_clone 
(iter, NULL);
-                       do
+                       if (!line_checked_for_comment)
                        {
-                               gchar c;
-                               c = ianjuta_editor_cell_get_char 
(IANJUTA_EDITOR_CELL (new_iter), 0,
-                                                                               
          NULL);
-                               if (iter_is_newline (new_iter, c))
-                                       break;
-                               if (c == '/')
+                               gboolean comment = FALSE;
+                               IAnjutaIterable* new_iter = 
ianjuta_iterable_clone (iter, NULL);
+                               do
                                {
-                                       ianjuta_iterable_previous (iter, NULL);
+                                       gchar c;
                                        c = ianjuta_editor_cell_get_char 
(IANJUTA_EDITOR_CELL (new_iter), 0,
                                                                                
                          NULL);
-                                       if (c == '/')
+                                       if (iter_is_newline (new_iter, c))
                                        {
-                                               /* is a line comment, skip 
until begin of comment */
-                                               comment = TRUE;
+                                               line_checked_for_comment = TRUE;
                                                break;
                                        }
-                               }
-                               if (c == '*')
-                               {
-                                       IAnjutaIterable* prev = 
ianjuta_iterable_clone (new_iter, NULL);                                        
-                                       ianjuta_iterable_previous (prev, NULL);
-                                       c = ianjuta_editor_cell_get_char 
(IANJUTA_EDITOR_CELL (prev), 0,
-                                                                               
          NULL);
                                        if (c == '/')
                                        {
-                                               /* starts comment */
-                                               comment = TRUE;
-                                               extra_indent++;
-                                               g_object_unref (prev);
-                                               break;
-                                       }
-                                       /* Possibly continued comment */
-                                       else if (isspace(c))
-                                       {                                       
        
-                                               do
+                                               ianjuta_iterable_previous 
(new_iter, NULL);
+                                               c = 
ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL (new_iter), 0,
+                                                                               
                                  NULL);
+                                               if (c == '/')
                                                {
-                                                       
ianjuta_iterable_previous (prev, NULL);
-                                                       c = 
ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL (prev), 0,
-                                                                               
                                          NULL);
-                                                       if (iter_is_newline 
(prev, c))
-                                                       {
-                                                               /* Add a space 
to ensure correct comment indentation */
-                                                               continue;
-                                                       }
+                                                       /* is a line comment, 
skip until begin of comment */
+                                                       comment = TRUE;
+                                                       break;
                                                }
-                                               while (isspace(c));
-                                               ianjuta_iterable_set_position 
(new_iter, 
-                                                                               
                           ianjuta_iterable_get_position (prev, NULL),
-                                                                               
                           NULL);
-                                               g_object_unref (prev);
-                                               DEBUG_PRINT ("Continues 
comment");
-                                               continue;
                                        }
-                                       else
+                                       if (c == '*')
                                        {
-                                               IAnjutaIterable* next = 
ianjuta_iterable_clone (new_iter, NULL);
-                                               ianjuta_iterable_next (next, 
NULL);
-
-                                               /* Could also be the end of a 
comment in which case we
-                                                * will simply bail out
-                                                */
-                                               c = 
ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL (next), 0, NULL);
+                                               IAnjutaIterable* prev = 
ianjuta_iterable_clone (new_iter, NULL);
+                                               ianjuta_iterable_previous 
(prev, NULL);
+                                               c = 
ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL (prev), 0,
+                                                                               
                                  NULL);
                                                if (c == '/')
                                                {
-                                                       g_object_unref (next);
+                                                       /* starts comment */
+                                                       comment = TRUE;
+                                                       extra_indent++;
+                                                       g_object_unref (prev);
                                                        break;
                                                }
-                                               g_object_unref (next);
+                                               /* Possibly continued comment */
+                                               else if (isspace(c))
+                                               {
+                                                       gboolean 
possible_comment = FALSE;
+                                                       while 
(ianjuta_iterable_previous (prev, NULL))
+                                                       {
+                                                               c = 
ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL (prev), 0,
+                                                                               
                                                  NULL);
+                                                               if (!isspace(c))
+                                                                       break;
+                                                               if 
(iter_is_newline (prev, c))
+                                                               {
+                                                                       
possible_comment = TRUE;
+                                                                       break;
+                                                               }
+                                                       }
+                                                       if (possible_comment)
+                                                       {
+                                                               
ianjuta_iterable_set_position (new_iter, 
+                                                                               
                                           ianjuta_iterable_get_position (prev, 
NULL),
+                                                                               
                                           NULL);
+                                                               g_object_unref 
(prev);
+                                                               continue;
+                                                       }
+                                               }
+                                               g_object_unref (prev);
                                        }
+                               } while (ianjuta_iterable_previous (new_iter, 
NULL));
+                               if (comment)
+                               {
+                                       ianjuta_iterable_set_position (iter,
+                                                                               
                   ianjuta_iterable_get_position (new_iter, NULL) - 1, 
+                                                                               
                   NULL);
+                                       g_object_unref (new_iter);
+                                       continue;
                                }
-                       }
-                       while (ianjuta_iterable_previous (new_iter, NULL));
-                       if (comment)
-                       {
-                               DEBUG_PRINT ("Found comment");
-                               ianjuta_iterable_set_position (iter,
-                                                                               
           ianjuta_iterable_get_position (new_iter, NULL) - 1, 
-                                                                               
           NULL);
                                g_object_unref (new_iter);
-                               continue;
                        }
-                       g_object_unref (new_iter);
                        
                        /* If we encounter any non-whitespace char before any 
of the
                         * statement-complete indicators, the statement is 
basically
@@ -1134,6 +1129,8 @@
                                *incomplete_statement = 1;
                }
        }
+       if (ianjuta_iterable_first (iter, NULL))
+               line_indent += extra_indent;
        g_object_unref (iter);
        
        return line_indent;
@@ -1216,7 +1213,6 @@
                {
                        ch = ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL 
(end_iter),
                                                                                
           0, NULL);
-                       DEBUG_PRINT ("line-end: %c", ch);
                        if (ch == ':')
                        {
                                line_indent -= INDENT_SIZE;
@@ -1595,7 +1591,7 @@
        {
                line_indent = get_line_auto_indentation (lang_plugin, editor,
                                                                                
                 insert_line);
-               DEBUG_PRINT ("Line indent for line %d = %d", insert_line, 
line_indent);
+               /* DEBUG_PRINT ("Line indent for line %d = %d", insert_line, 
line_indent); */
                set_line_indentation (editor, insert_line, line_indent);
        }
        ianjuta_document_end_undo_action (IANJUTA_DOCUMENT(editor), NULL);

Modified: trunk/plugins/sourceview/anjuta-view.c
==============================================================================
--- trunk/plugins/sourceview/anjuta-view.c      (original)
+++ trunk/plugins/sourceview/anjuta-view.c      Sun Feb 17 10:54:40 2008
@@ -54,20 +54,6 @@
 
 #define ANJUTA_VIEW_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), 
ANJUTA_TYPE_VIEW, AnjutaViewPrivate))
 
-enum {
-       CHAR_ADDED,
-       LAST_SIGNAL
-};
-
-static guint view_signals[LAST_SIGNAL] = { 0 };
-
-enum
-{
-       TAG = 0,
-       AUTOCOMPLETE,
-       SCOPE,
-};
-
 enum
 {
        ANJUTA_VIEW_POPUP = 1
@@ -75,7 +61,6 @@
 
 struct _AnjutaViewPrivate
 {
-       GtkTooltips *tooltips;
        GtkWidget* popup;
        guint scroll_idle;
   Sourceview* sv;
@@ -215,18 +200,6 @@
                                         ANJUTA_VIEW_POPUP,
                                         anjuta_view_spec_popup);
        
-               view_signals[CHAR_ADDED] =
-               g_signal_new ("char_added",
-                             G_OBJECT_CLASS_TYPE (object_class),
-                             G_SIGNAL_RUN_LAST,
-                             G_STRUCT_OFFSET (AnjutaViewClass, char_added),
-                             NULL, NULL,
-                             anjuta_marshal_VOID__OBJECT_CHAR,
-                             G_TYPE_NONE,
-                             2,
-                                 G_TYPE_INT,
-                             G_TYPE_CHAR);
-       
        binding_set = gtk_binding_set_by_class (klass); 
 }
 
@@ -363,9 +336,6 @@
        AnjutaView *view;
 
        view = ANJUTA_VIEW (object);
-       
-       if (view->priv->tooltips != NULL)
-               g_object_unref (view->priv->tooltips);
 
        if (view->priv->popup != NULL) 
        {
@@ -758,15 +728,11 @@
 {
        GtkTextBuffer *buffer;
        AnjutaView* view = ANJUTA_VIEW(widget);
-       GtkTextIter iter;
        AssistWindow* assist_win;
-       AssistTip* assist_tip;
-       SourceviewCell* cell;
        
        buffer  = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
        
        assist_win = view->priv->sv->priv->assist_win;
-       assist_tip = view->priv->sv->priv->assist_tip;
        if (assist_win)
        {
                if (assist_window_filter_keypress(assist_win, event->keyval))
@@ -775,83 +741,7 @@
                        return TRUE;
                }
        }
-       
-       switch (event->keyval)
-       {
-               case GDK_Shift_L:
-               case GDK_Shift_R:
-               {
-                       return TRUE;
-               }
-               default:
-               {
-                       gboolean retval = (* GTK_WIDGET_CLASS 
(anjuta_view_parent_class)->key_press_event)(widget, event);
-                       gtk_text_buffer_get_iter_at_mark(buffer, &iter, 
-                                                                               
         gtk_text_buffer_get_insert(buffer));
-                       /* Iter is at the position after the newly added 
character... */
-                               gtk_text_iter_backward_char (&iter);
-                       cell = sourceview_cell_new (&iter, GTK_TEXT_VIEW 
(view));
-                       /* Handle char_added signal here */
-                               if (event->keyval == GDK_Return)
-                       {
-                               g_signal_emit_by_name (G_OBJECT(view), 
"char_added",
-                                                                          
cell, '\n');
-                       }
-                       else if (event->keyval == GDK_Tab)
-                       {
-                               g_signal_emit_by_name (G_OBJECT(view), 
"char_added",
-                                                                          
cell, '\t');
-                       }
-                       else if (event->keyval == GDK_BackSpace)
-                       {
-                               g_signal_emit_by_name(G_OBJECT(view), 
"char_added", 
-                                                                         cell, 
'\0');
-                       }
-                       else if (event->keyval == GDK_Escape || 
-                                        event->keyval == GDK_Up ||
-                                        event->keyval == GDK_Down)
-                       {
-                               if (assist_tip)
-                               {
-                                       gtk_widget_destroy 
(GTK_WIDGET(assist_tip));
-                                       g_object_unref (cell);
-                                       return retval;
-                               }
-                       }
-                       else if (event->keyval == GDK_Left || event->keyval == 
GDK_Right ||
-                                        event->keyval == GDK_Up || 
event->keyval == GDK_Down ||
-                                        event->keyval == GDK_Page_Up || 
event->keyval == GDK_Page_Down ||
-                                        event->keyval == GDK_Begin || 
event->keyval == GDK_End)
-                       {
-                               /* Ignore those for char_added */
-                               g_object_unref (cell);
-                               return retval;
-                       }
-                       else
-                       {
-                               gchar* unistring = g_new0(gchar, 6);
-                               gunichar uc = 
gdk_keyval_to_unicode(event->keyval);
-                               if (g_unichar_to_utf8(uc, unistring) >= 1)
-                               {
-                                       guint read, written;
-                                       gchar* string = 
g_locale_from_utf8(unistring, 1, &read,
-                                                                               
                           &written, NULL);
-                                       if (string != NULL && read == 1 && 
written == 1)
-                                       {
-                                               g_signal_emit_by_name 
(G_OBJECT(view), "char_added",
-                                                                               
           cell, string[0]);
-                                       }
-                                       else
-                                       {
-                                               g_object_unref (cell);
-                                       }
-                                       g_free(string);
-                               }
-                               g_free(unistring);
-                       }
-                       return retval;
-               }                               
-       }
+       return (* GTK_WIDGET_CLASS 
(anjuta_view_parent_class)->key_press_event)(widget, event);
 }
 
 static gboolean        

Modified: trunk/plugins/sourceview/sourceview-cell.c
==============================================================================
--- trunk/plugins/sourceview/sourceview-cell.c  (original)
+++ trunk/plugins/sourceview/sourceview-cell.c  Sun Feb 17 10:54:40 2008
@@ -32,7 +32,7 @@
 
 #include <gtk/gtktextview.h>
 #include <string.h>
- 
+
 static void sourceview_cell_class_init(SourceviewCellClass *klass);
 static void sourceview_cell_instance_init(SourceviewCell *sp);
 static void sourceview_cell_finalize(GObject *object);
@@ -50,8 +50,8 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS(klass);
        sourceview_cell_parent_class = g_type_class_peek_parent(klass);
-
-
+       
+       
        object_class->finalize = sourceview_cell_finalize;
 }
 
@@ -69,7 +69,7 @@
        SourceviewCell *cobj;
        cobj = SOURCEVIEW_CELL(object);
        
-  gtk_text_iter_free(cobj->priv->iter);
+       gtk_text_iter_free(cobj->priv->iter);
        
        g_slice_free(SourceviewCellPrivate, cobj->priv);
        G_OBJECT_CLASS(sourceview_cell_parent_class)->finalize(object);
@@ -89,7 +89,7 @@
        return obj;
 }
 
-GtkTextIter* 
+GtkTextIter*
 sourceview_cell_get_iter (SourceviewCell* cell)
 {
        return cell->priv->iter;
@@ -99,18 +99,22 @@
 icell_get_character(IAnjutaEditorCell* icell, GError** e)
 {
        SourceviewCell* cell = SOURCEVIEW_CELL(icell);
-       gchar outbuf[7];
-       int length;     
-       length = g_unichar_to_utf8(gtk_text_iter_get_char(cell->priv->iter), 
outbuf);
-       outbuf[length] = '\0';
-       return g_strdup(outbuf);
+       GtkTextIter* clone = gtk_text_iter_copy (cell->priv->iter);
+       gchar* text = NULL;
+       if (gtk_text_iter_forward_char (clone))
+               text = gtk_text_iter_get_text (cell->priv->iter, clone);
+       return text;
 }
 
 static gint 
 icell_get_length(IAnjutaEditorCell* icell, GError** e)
 {
-       SourceviewCell* cell = SOURCEVIEW_CELL(icell);
-       return g_unichar_to_utf8(gtk_text_iter_get_char(cell->priv->iter), 
NULL);
+       gchar* text = icell_get_character(icell, e);
+       gint retval = 0;
+       if (text)
+               retval = g_utf8_strlen (text, -1);
+       g_free(text);
+       return retval;
 }
 
 static gchar
@@ -118,7 +122,7 @@
 {
        gchar ch = '\0';
        gchar* utf8 = icell_get_character(icell, NULL);
-       if (strlen (utf8) > index)
+       if (utf8 && (index == 0 || (strlen (utf8) > index)))
                ch = utf8[index];       
        g_free(utf8);
        return ch;
@@ -144,9 +148,9 @@
 static
 GtkTextAttributes* get_attributes(GtkTextIter* iter, GtkTextView* view)
 {
-  GtkTextAttributes* atts = gtk_text_view_get_default_attributes(view);
-  gtk_text_iter_get_attributes(iter, atts);
-  return atts;
+       GtkTextAttributes* atts = gtk_text_view_get_default_attributes(view);
+       gtk_text_iter_get_attributes(iter, atts);
+       return atts;
 }
 
 static gchar*
@@ -155,7 +159,7 @@
        const gchar* font;
        SourceviewCell* cell = SOURCEVIEW_CELL(icell_style);
        GtkTextAttributes* atts = get_attributes(cell->priv->iter, 
-                                                                               
         cell->priv->view);
+                                                                               
                                                                                
         cell->priv->view);
        font = pango_font_description_to_string(atts->font);
        g_free(atts);
        return g_strdup(font);
@@ -168,7 +172,7 @@
        SourceviewCell* cell = SOURCEVIEW_CELL(icell_style);
        GtkTextAttributes* atts = get_attributes(cell->priv->iter, 
cell->priv->view);
        color = anjuta_util_string_from_color(atts->appearance.fg_color.red,
-               atts->appearance.fg_color.green, 
atts->appearance.fg_color.blue);
+                                                                               
                                                                                
atts->appearance.fg_color.green, atts->appearance.fg_color.blue);
        g_free(atts);
        return color;
 }
@@ -180,7 +184,7 @@
        SourceviewCell* cell = SOURCEVIEW_CELL(icell_style);
        GtkTextAttributes* atts = get_attributes(cell->priv->iter, 
cell->priv->view);
        color = anjuta_util_string_from_color(atts->appearance.bg_color.red,
-               atts->appearance.bg_color.green, 
atts->appearance.bg_color.blue);
+                                                                               
                                                                                
atts->appearance.bg_color.green, atts->appearance.bg_color.blue);
        g_free(atts);
        return color;
 }
@@ -197,15 +201,17 @@
 iiter_first(IAnjutaIterable* iter, GError** e)
 {
        SourceviewCell* cell = SOURCEVIEW_CELL(iter);
-       gtk_text_iter_set_offset(cell->priv->iter, 0);
-       return TRUE;
+       gboolean retval = gtk_text_iter_is_start (cell->priv->iter);
+       if (!retval)
+               gtk_text_iter_set_offset (cell->priv->iter, 0);
+       return retval;
 }
 
 static gboolean
 iiter_next(IAnjutaIterable* iter, GError** e)
 {
        SourceviewCell* cell = SOURCEVIEW_CELL(iter);
-
+       
        return gtk_text_iter_forward_char(cell->priv->iter);
 }
 
@@ -221,9 +227,10 @@
 iiter_last(IAnjutaIterable* iter, GError** e)
 {
        SourceviewCell* cell = SOURCEVIEW_CELL(iter);
-
-       gtk_text_iter_forward_to_end(cell->priv->iter);
-       return TRUE;
+       gboolean retval = gtk_text_iter_is_end (cell->priv->iter);
+       if (retval)
+               gtk_text_iter_forward_to_end(cell->priv->iter);
+       return retval;
 }
 
 static void
@@ -246,7 +253,7 @@
 iiter_set_position (IAnjutaIterable* iter, gint position, GError** e)
 {
        SourceviewCell* cell = SOURCEVIEW_CELL(iter);
-
+       
        gtk_text_iter_set_offset (cell->priv->iter, position);
        return TRUE;
 }
@@ -290,7 +297,7 @@
        SourceviewCell* cell = SOURCEVIEW_CELL(iter);
        SourceviewCell* other_cell = SOURCEVIEW_CELL(other_iter);
        
-  return gtk_text_iter_compare (cell->priv->iter, other_cell->priv->iter);
+       return gtk_text_iter_compare (cell->priv->iter, other_cell->priv->iter);
 }
 
 static gint
@@ -298,6 +305,7 @@
 {
        SourceviewCell* cell = SOURCEVIEW_CELL(iter);
        SourceviewCell* other_cell = SOURCEVIEW_CELL(other_iter);
+       
        return (gtk_text_iter_get_offset (other_cell->priv->iter) 
                                        - gtk_text_iter_get_offset 
(cell->priv->iter));
 }

Modified: trunk/plugins/sourceview/sourceview.c
==============================================================================
--- trunk/plugins/sourceview/sourceview.c       (original)
+++ trunk/plugins/sourceview/sourceview.c       Sun Feb 17 10:54:40 2008
@@ -118,13 +118,21 @@
        }
 }
 
-/* Called when a character is added */
-static void on_document_char_added(AnjutaView* view, IAnjutaIterable* pos,
-                                                                  gchar ch,
-                                                                  Sourceview* 
sv)
+static void on_insert_text (GtkTextBuffer* buffer, 
+                                                       GtkTextIter* location,
+                                                       char* text,
+                                                       gint len,
+                                                       Sourceview* sv)
 {
-       if (ch != '\0')
-               g_signal_emit_by_name(G_OBJECT(sv), "char_added", pos, ch);
+       /* We only want ascii characters */
+       if (len > 1)
+               return;
+       else
+       {
+               SourceviewCell* cell = sourceview_cell_new (location, 
+                                                                               
                        GTK_TEXT_VIEW(sv->priv->view));
+               g_signal_emit_by_name(G_OBJECT(sv), "char_added", cell, 
text[0]);
+       }
 }
 
 /* Called whenever the document is changed */
@@ -541,16 +549,17 @@
 {      
        sv->priv->important_indic = 
                gtk_text_buffer_create_tag (GTK_TEXT_BUFFER(sv->priv->document),
-               IMPORTANT_INDIC,
-               "background", "#FFFF00", NULL);  
+                                                                       
IMPORTANT_INDIC,
+                                                                       
"background", "#FFFF00", NULL);  
        sv->priv->warning_indic = 
                gtk_text_buffer_create_tag (GTK_TEXT_BUFFER(sv->priv->document),
-               WARNING_INDIC,
-               "foreground", "#00FF00", NULL); 
+                                                                       
WARNING_INDIC,
+                                                                       
"foreground", "#00FF00", NULL); 
        sv->priv->critical_indic = 
                gtk_text_buffer_create_tag (GTK_TEXT_BUFFER(sv->priv->document),
-               CRITICAL_INDIC,
-               "foreground", "#FF0000", "underline", PANGO_UNDERLINE_ERROR, 
NULL);
+                                                                       
CRITICAL_INDIC,
+                                                                       
"foreground", "#FF0000", "underline", 
+                                                                       
PANGO_UNDERLINE_ERROR, NULL);
 }
 
 
@@ -578,11 +587,11 @@
                                         G_CALLBACK(on_document_saved), sv);
        g_signal_connect(G_OBJECT(sv->priv->document), "saving", 
                                         G_CALLBACK(on_document_saving), sv);
+       g_signal_connect_after (G_OBJECT(sv->priv->document), "insert-text",
+                                         G_CALLBACK(on_insert_text), sv);
                                         
        /* Create View instance */
        sv->priv->view = ANJUTA_VIEW(anjuta_view_new(sv));
-       g_signal_connect_after(G_OBJECT(sv->priv->view), "char_added",
-                                       G_CALLBACK(on_document_char_added), sv);
 #if HAVE_TOOLTIP_API
        g_signal_connect (G_OBJECT(sv->priv->view), "query-tooltip",
                                          G_CALLBACK 
(on_sourceview_hover_over), sv);
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to