From 6d1dbec9dd457a33b0fadfb425d4c368fab4caba Mon Sep 17 00:00:00 2001 From: Matthias Clasen <mclasen@redhat.com> Date: Sat, 6 Jan 2018 12:29:29 -0500 Subject: tests: Stop using ::focus-in/out-event The has-focus property works just as well here. --- tests/testiconview-keynav.c | 55 +++++++++++++++++---------------------------- 1 file changed, 21 insertions(+), 34 deletions(-) (limited to 'tests/testiconview-keynav.c') diff --git a/tests/testiconview-keynav.c b/tests/testiconview-keynav.c index 4fb3272477..69a9b95869 100644 --- a/tests/testiconview-keynav.c +++ b/tests/testiconview-keynav.c @@ -178,33 +178,28 @@ keynav_failed (GtkWidget *view, return FALSE; } -static gboolean -focus_out (GtkWidget *view, - GdkEventFocus *event, - gpointer data) +static void +focus_changed (GtkWidget *view, + GParamSpec *pspec, + gpointer data) { - gtk_icon_view_unselect_all (GTK_ICON_VIEW (view)); - - return FALSE; -} + if (gtk_widget_has_focus (view)) + { + GtkTreePath *path; -static gboolean -focus_in (GtkWidget *view, - GdkEventFocus *event, - gpointer data) -{ - GtkTreePath *path; + if (!gtk_icon_view_get_cursor (GTK_ICON_VIEW (view), &path, NULL)) + { + path = gtk_tree_path_new_from_indices (0, -1); + gtk_icon_view_set_cursor (GTK_ICON_VIEW (view), path, NULL, FALSE); + } - if (!gtk_icon_view_get_cursor (GTK_ICON_VIEW (view), &path, NULL)) + gtk_icon_view_select_path (GTK_ICON_VIEW (view), path); + gtk_tree_path_free (path); + } + else { - path = gtk_tree_path_new_from_indices (0, -1); - gtk_icon_view_set_cursor (GTK_ICON_VIEW (view), path, NULL, FALSE); + gtk_icon_view_unselect_all (GTK_ICON_VIEW (view)); } - - gtk_icon_view_select_path (GTK_ICON_VIEW (view), path); - gtk_tree_path_free (path); - - return FALSE; } #define CSS \ @@ -254,18 +249,10 @@ main (int argc, char *argv[]) NULL); views.view2 = get_view (FALSE); - g_signal_connect (views.view1, "keynav-failed", - G_CALLBACK (keynav_failed), &views); - g_signal_connect (views.view2, "keynav-failed", - G_CALLBACK (keynav_failed), &views); - g_signal_connect (views.view1, "focus-in-event", - G_CALLBACK (focus_in), NULL); - g_signal_connect (views.view1, "focus-out-event", - G_CALLBACK (focus_out), NULL); - g_signal_connect (views.view2, "focus-in-event", - G_CALLBACK (focus_in), NULL); - g_signal_connect (views.view2, "focus-out-event", - G_CALLBACK (focus_out), NULL); + g_signal_connect (views.view1, "keynav-failed", G_CALLBACK (keynav_failed), &views); + g_signal_connect (views.view2, "keynav-failed", G_CALLBACK (keynav_failed), &views); + g_signal_connect (views.view1, "notify::has-focus", G_CALLBACK (focus_changed), &views); + g_signal_connect (views.view2, "notify::has-focus", G_CALLBACK (focus_changed), &views); gtk_container_add (GTK_CONTAINER (vbox), views.header1); gtk_container_add (GTK_CONTAINER (vbox), views.view1); -- cgit v1.2.1