[gtksourceview] Disable completion and bracket highlight while indenting
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] Disable completion and bracket highlight while indenting
- Date: Sun, 29 Mar 2015 20:17:39 +0000 (UTC)
commit 6d026696404868f98ce1d6581fdafc8b9c8b7134
Author: Paolo Borelli <pborelli gnome org>
Date: Sun Mar 29 21:29:31 2015 +0200
Disable completion and bracket highlight while indenting
gtksourceview/gtksourceview.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index 1e10b73..fbb115b 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -3396,14 +3396,23 @@ gtk_source_view_indent_lines (GtkSourceView *view,
GtkTextIter *end)
{
GtkTextBuffer *buf;
+ gboolean bracket_hl;
gint start_line, end_line;
gchar *tab_buffer = NULL;
guint tabs = 0;
guint spaces = 0;
gint i;
+ if (view->priv->completion != NULL)
+ {
+ gtk_source_completion_block_interactive (view->priv->completion);
+ }
+
buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
+ bracket_hl = gtk_source_buffer_get_highlight_matching_brackets (GTK_SOURCE_BUFFER (buf));
+ gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (buf), FALSE);
+
start_line = gtk_text_iter_get_line (start);
end_line = gtk_text_iter_get_line (end);
@@ -3494,6 +3503,13 @@ gtk_source_view_indent_lines (GtkSourceView *view,
g_free (tab_buffer);
+ gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (buf), bracket_hl);
+
+ if (view->priv->completion != NULL)
+ {
+ gtk_source_completion_unblock_interactive (view->priv->completion);
+ }
+
gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW (view),
gtk_text_buffer_get_insert (buf));
}
@@ -3515,13 +3531,22 @@ gtk_source_view_unindent_lines (GtkSourceView *view,
GtkTextIter *end)
{
GtkTextBuffer *buf;
+ gboolean bracket_hl;
gint start_line, end_line;
gint tab_width;
gint indent_width;
gint i;
+ if (view->priv->completion != NULL)
+ {
+ gtk_source_completion_block_interactive (view->priv->completion);
+ }
+
buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
+ bracket_hl = gtk_source_buffer_get_highlight_matching_brackets (GTK_SOURCE_BUFFER (buf));
+ gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (buf), FALSE);
+
start_line = gtk_text_iter_get_line (start);
end_line = gtk_text_iter_get_line (end);
@@ -3579,6 +3604,13 @@ gtk_source_view_unindent_lines (GtkSourceView *view,
gtk_text_buffer_end_user_action (buf);
+ gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (buf), bracket_hl);
+
+ if (view->priv->completion != NULL)
+ {
+ gtk_source_completion_unblock_interactive (view->priv->completion);
+ }
+
gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW (view),
gtk_text_buffer_get_insert (buf));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]