[gtksourceview] Completion: block interactive completion during paste-clipboard
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] Completion: block interactive completion during paste-clipboard
- Date: Sun, 24 Feb 2013 14:25:45 +0000 (UTC)
commit 7b2d8183205beb8a1713be61f3a72a0750f8e8a0
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sat Feb 23 17:37:31 2013 +0100
Completion: block interactive completion during paste-clipboard
gtksourceview/gtksourcecompletion.c | 31 ++++++++++++-------------------
1 files changed, 12 insertions(+), 19 deletions(-)
---
diff --git a/gtksourceview/gtksourcecompletion.c b/gtksourceview/gtksourcecompletion.c
index 8519892..5c2a41e 100644
--- a/gtksourceview/gtksourcecompletion.c
+++ b/gtksourceview/gtksourcecompletion.c
@@ -1494,19 +1494,6 @@ buffer_mark_set_cb (GtkTextBuffer *buffer,
}
static void
-buffer_paste_done_cb (GtkTextBuffer *buffer,
- GtkClipboard *clipboard,
- GtkSourceCompletion *completion)
-{
- /* Cancel any interactive completion in progress after a paste */
- if (completion->priv->show_timed_out_id)
- {
- g_source_remove (completion->priv->show_timed_out_id);
- completion->priv->show_timed_out_id = 0;
- }
-}
-
-static void
connect_view (GtkSourceCompletion *completion)
{
GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (completion->priv->view));
@@ -1529,6 +1516,18 @@ connect_view (GtkSourceCompletion *completion)
completion,
0);
+ g_signal_connect_object (completion->priv->view,
+ "paste-clipboard",
+ G_CALLBACK (gtk_source_completion_block_interactive),
+ completion,
+ G_CONNECT_SWAPPED);
+
+ g_signal_connect_object (completion->priv->view,
+ "paste-clipboard",
+ G_CALLBACK (gtk_source_completion_unblock_interactive),
+ completion,
+ G_CONNECT_SWAPPED | G_CONNECT_AFTER);
+
g_signal_connect_object (buffer,
"mark-set",
G_CALLBACK (buffer_mark_set_cb),
@@ -1559,12 +1558,6 @@ connect_view (GtkSourceCompletion *completion)
completion,
G_CONNECT_SWAPPED | G_CONNECT_AFTER);
- g_signal_connect_object (buffer,
- "paste-done",
- G_CALLBACK (buffer_paste_done_cb),
- completion,
- 0);
-
completion->priv->signals_ids[TEXT_BUFFER_DELETE_RANGE] =
g_signal_connect_object (buffer,
"delete-range",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]