[anjuta] language-support-cpp-java: Fixed some undo problems with indentation
- From: Johannes Schmid <jhs src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] language-support-cpp-java: Fixed some undo problems with indentation
- Date: Sun, 14 Mar 2010 22:36:15 +0000 (UTC)
commit 271517459c4427270dc9d1295ed58023858c660a
Author: Johannes Schmid <jhs gnome org>
Date: Sun Mar 14 23:36:03 2010 +0100
language-support-cpp-java: Fixed some undo problems with indentation
plugins/language-support-cpp-java/plugin.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/plugins/language-support-cpp-java/plugin.c b/plugins/language-support-cpp-java/plugin.c
index 7e55659..0bb7c66 100644
--- a/plugins/language-support-cpp-java/plugin.c
+++ b/plugins/language-support-cpp-java/plugin.c
@@ -786,7 +786,9 @@ set_line_indentation (IAnjutaEditor *editor, gint line_num, gint indentation, gi
IAnjutaIterable *pos = ianjuta_editor_get_line_begin_position (editor, line_num, NULL);
for (i = 0; i < nchars + carat_offset; i++)
ianjuta_iterable_next (pos, NULL);
+ ianjuta_document_begin_undo_action (IANJUTA_DOCUMENT(editor), NULL);
ianjuta_editor_goto_position (editor, pos, NULL);
+ ianjuta_document_end_undo_action (IANJUTA_DOCUMENT(editor), NULL);
g_object_unref (pos);
}
else /* cursor_offset < 0 */
@@ -799,7 +801,9 @@ set_line_indentation (IAnjutaEditor *editor, gint line_num, gint indentation, gi
IAnjutaIterable *pos = ianjuta_editor_get_line_begin_position (editor, line_num, NULL);
for (i = 0; i < nchars; i++)
ianjuta_iterable_next (pos, NULL);
+ ianjuta_document_begin_undo_action (IANJUTA_DOCUMENT(editor), NULL);
ianjuta_editor_goto_position (editor, pos, NULL);
+ ianjuta_document_end_undo_action (IANJUTA_DOCUMENT(editor), NULL);
g_object_unref (pos);
}
@@ -1438,17 +1442,17 @@ on_editor_char_inserted_cpp (IAnjutaEditor *editor,
/* Iterate backwards till the begining of the line and disable
* indenting if any non-white space char is encountered
*/
-
+
/* Begin by assuming it should be indented */
should_auto_indent = TRUE;
-
+
while (ianjuta_iterable_previous (iter, NULL))
{
ch = ianjuta_editor_cell_get_char (IANJUTA_EDITOR_CELL (iter),
- 0, NULL);
-
+ 0, NULL);
+
//DEBUG_PRINT ("Looking at char '%c'", ch);
-
+
/* Break on begining of line (== end of previous line) */
if (iter_is_newline (iter, ch))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]