[gtk/wip/matthiasc/focus3: 10/32] Drop gtk_widget_send_focus_change



commit f5c2a24bc94c9e2d6fb6d143162957d9dd133ad9
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Mar 2 21:03:38 2019 -0500

    Drop gtk_widget_send_focus_change
    
    Replace this with gtk_widget_set_has_focus + gtk_widget_event.

 gtk/gtktreeview.c      |  3 ++-
 gtk/gtkwidget.c        | 50 --------------------------------------------------
 gtk/gtkwidget.h        |  3 ---
 gtk/gtkwidgetprivate.h |  1 +
 gtk/gtkwindow.c        |  5 +++--
 5 files changed, 6 insertions(+), 56 deletions(-)
---
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 1a4ed0488a..29da6f8876 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -10151,7 +10151,8 @@ send_focus_change (GtkWidget *widget,
       fevent->focus_change.in = in;
       gdk_event_set_device (fevent, device);
 
-      gtk_widget_send_focus_change (widget, fevent);
+      gtk_widget_set_has_focus (widget, in);
+      gtk_widget_event (widget, fevent);
 
       g_object_unref (fevent);
     }
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 10986e0b15..182bd16944 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -11573,56 +11573,6 @@ gtk_widget_get_overflow (GtkWidget *widget)
   return priv->overflow;
 }
 
-/**
- * gtk_widget_send_focus_change:
- * @widget: a #GtkWidget
- * @event: a #GdkEvent of type GDK_FOCUS_CHANGE
- *
- * Sends the focus change @event to @widget
- *
- * This function is not meant to be used by applications. The only time it
- * should be used is when it is necessary for a #GtkWidget to assign focus
- * to a widget that is semantically owned by the first widget even though
- * it’s not a direct child - for instance, a search entry in a floating
- * window similar to the quick search in #GtkTreeView.
- *
- * An example of its usage is:
- *
- * |[<!-- language="C" -->
- *   GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE);
- *
- *   fevent->focus_change.type = GDK_FOCUS_CHANGE;
- *   fevent->focus_change.in = TRUE;
- *   fevent->focus_change.surface = _gtk_widget_get_surface (widget);
- *   if (fevent->focus_change.surface != NULL)
- *     g_object_ref (fevent->focus_change.surface);
- *
- *   gtk_widget_send_focus_change (widget, fevent);
- *
- *   g_object_unref (event);
- * ]|
- *
- * Returns: the return value from the event signal emission: %TRUE
- *   if the event was handled, and %FALSE otherwise
- */
-gboolean
-gtk_widget_send_focus_change (GtkWidget *widget,
-                              GdkEvent  *event)
-{
-  GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
-  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-  g_return_val_if_fail (event != NULL && event->any.type == GDK_FOCUS_CHANGE, FALSE);
-
-  priv->has_focus = event->focus_change.in;
-
-  gtk_propagate_event (widget, event);
-
-  g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_HAS_FOCUS]);
-
-  return TRUE;
-}
-
 void
 gtk_widget_set_has_focus (GtkWidget *widget,
                           gboolean   has_focus)
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index f3012b07a4..d9dbfaf885 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -451,9 +451,6 @@ gboolean   gtk_widget_mnemonic_activate   (GtkWidget           *widget,
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_event               (GtkWidget           *widget,
                                            const GdkEvent      *event);
-GDK_AVAILABLE_IN_ALL
-gboolean   gtk_widget_send_focus_change   (GtkWidget           *widget,
-                                           GdkEvent            *event);
 
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_widget_activate               (GtkWidget        *widget);
diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h
index ca30e9b0f3..231748d655 100644
--- a/gtk/gtkwidgetprivate.h
+++ b/gtk/gtkwidgetprivate.h
@@ -336,6 +336,7 @@ gboolean          gtk_widget_run_controllers               (GtkWidget
                                                             const GdkEvent      *event,
                                                             GtkPropagationPhase  phase);
 
+
 /* inline getters */
 
 static inline GtkWidget *
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 97a886009c..d2fd050ffc 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7036,7 +7036,7 @@ gtk_window_real_activate_focus (GtkWindow *window)
 
 static void
 do_focus_change (GtkWidget *widget,
-                gboolean   in)
+                 gboolean   in)
 {
   GdkSeat *seat;
   GList *devices, *d;
@@ -7065,7 +7065,8 @@ do_focus_change (GtkWidget *widget,
       fevent->focus_change.in = in;
       gdk_event_set_device (fevent, dev);
 
-      gtk_widget_send_focus_change (widget, fevent);
+      gtk_widget_set_has_focus (widget, in);
+      gtk_widget_event (widget, fevent);
 
       g_object_unref (fevent);
     }


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