[gtk+] color editor: stop using ::focus-out-event
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gtk+] color editor: stop using ::focus-out-event
- Date: Tue, 16 Jan 2018 19:20:17 +0000 (UTC)
commit e733aa43cf74bd79dda0da6bcdb79ea1575ae660
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Jan 6 15:35:54 2018 -0500
    color editor: stop using ::focus-out-event
    
    Again, the has-focus property is sufficient.
 gtk/gtkcoloreditor.c     |   14 +++++++-------
 gtk/ui/gtkcoloreditor.ui |    2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkcoloreditor.c b/gtk/gtkcoloreditor.c
index 2fc1bd4..9bf2108 100644
--- a/gtk/gtkcoloreditor.c
+++ b/gtk/gtkcoloreditor.c
@@ -126,13 +126,13 @@ entry_apply (GtkWidget      *entry,
   g_free (text);
 }
 
-static gboolean
-entry_focus_out (GtkWidget      *entry,
-                 GdkEventFocus  *event,
-                 GtkColorEditor *editor)
+static void
+entry_focus_changed (GtkWidget      *entry,
+                     GParamSpec     *pspec,
+                     GtkColorEditor *editor)
 {
-  entry_apply (entry, editor);
-  return FALSE;
+  if (!gtk_widget_has_focus (entry))
+    entry_apply (entry, editor);
 }
 
 static void
@@ -487,7 +487,7 @@ gtk_color_editor_class_init (GtkColorEditorClass *class)
   gtk_widget_class_bind_template_callback (widget_class, get_child_position);
   gtk_widget_class_bind_template_callback (widget_class, entry_text_changed);
   gtk_widget_class_bind_template_callback (widget_class, entry_apply);
-  gtk_widget_class_bind_template_callback (widget_class, entry_focus_out);
+  gtk_widget_class_bind_template_callback (widget_class, entry_focus_changed);
   gtk_widget_class_bind_template_callback (widget_class, popup_edit);
 }
 
diff --git a/gtk/ui/gtkcoloreditor.ui b/gtk/ui/gtkcoloreditor.ui
index 725231e..c38f771 100644
--- a/gtk/ui/gtkcoloreditor.ui
+++ b/gtk/ui/gtkcoloreditor.ui
@@ -60,7 +60,7 @@
                   </object>
                 </child>
                 <signal name="activate" handler="entry_apply" swapped="no"/>
-                <signal name="focus-out-event" handler="entry_focus_out" swapped="no"/>
+                <signal name="notify::has-focus" handler="entry_focus_changed" swapped="no"/>
                 <signal name="notify::text" handler="entry_text_changed" swapped="no"/>
               </object>
               <packing>
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]