[gedit/wip/view-frame-cleanup] ViewFrame: remove search_entry_focus_out_id from the private struct



commit d241d5a7cee7c5f2dd6a63a4b44f724f3992f5b0
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Wed Aug 7 22:02:51 2013 +0200

    ViewFrame: remove search_entry_focus_out_id from the private struct
    
    We can use the state of the revealer, instead of blocking the signal
    handler.

 gedit/gedit-view-frame.c |   21 ++++++---------------
 1 files changed, 6 insertions(+), 15 deletions(-)
---
diff --git a/gedit/gedit-view-frame.c b/gedit/gedit-view-frame.c
index 280577f..94e1dbd 100644
--- a/gedit/gedit-view-frame.c
+++ b/gedit/gedit-view-frame.c
@@ -74,7 +74,6 @@ struct _GeditViewFramePrivate
 
        guint flush_timeout_id;
        glong view_scroll_event_id;
-       glong search_entry_focus_out_id;
        glong search_entry_changed_id;
        guint idle_update_entry_tag_id;
 
@@ -166,14 +165,12 @@ hide_search_widget (GeditViewFrame *frame,
 {
        GtkTextBuffer *buffer;
 
-       if (frame->priv->disable_popdown)
+       if (frame->priv->disable_popdown ||
+           !gtk_revealer_get_reveal_child (frame->priv->revealer))
        {
                return;
        }
 
-       g_signal_handler_block (frame->priv->search_entry,
-                               frame->priv->search_entry_focus_out_id);
-
        if (frame->priv->view_scroll_event_id != 0)
        {
                g_signal_handler_disconnect (frame->priv->view,
@@ -205,12 +202,7 @@ hide_search_widget (GeditViewFrame *frame,
        gtk_text_buffer_delete_mark (buffer, frame->priv->start_mark);
        frame->priv->start_mark = NULL;
 
-       /* Make sure the view is the one who has the focus when we destroy
-          the search widget */
        gtk_widget_grab_focus (GTK_WIDGET (frame->priv->view));
-
-       g_signal_handler_unblock (frame->priv->search_entry,
-                                 frame->priv->search_entry_focus_out_id);
 }
 
 static gboolean
@@ -1370,11 +1362,10 @@ gedit_view_frame_init (GeditViewFrame *frame)
                                  G_CALLBACK (search_entry_changed_cb),
                                  frame);
 
-       frame->priv->search_entry_focus_out_id =
-               g_signal_connect (frame->priv->search_entry,
-                                 "focus-out-event",
-                                 G_CALLBACK (search_entry_focus_out_event),
-                                 frame);
+       g_signal_connect (frame->priv->search_entry,
+                         "focus-out-event",
+                         G_CALLBACK (search_entry_focus_out_event),
+                         frame);
 
        g_signal_connect (frame->priv->go_up_button,
                          "clicked",


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]