From: Matthias Clasen Date: Sat, 17 Jun 2023 23:00:14 +0000 (-0400) Subject: video: Make the overlay clickable X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~134^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d705a7effa89af4e8441e65105f2336761de5eb2;p=gtk4.git video: Make the overlay clickable And add missing accessible labels at the same time. Fixes: #4522 --- diff --git a/gtk/gtkvideo.c b/gtk/gtkvideo.c index df54a2d545..d91f84fc1a 100644 --- a/gtk/gtkvideo.c +++ b/gtk/gtkvideo.c @@ -31,6 +31,7 @@ #include "gtkpicture.h" #include "gtkrevealer.h" #include "gtkwidgetprivate.h" +#include "gtkgestureclick.h" #include "gtkprivate.h" /** @@ -128,6 +129,18 @@ gtk_video_pressed (GtkVideo *self) gtk_video_reveal_controls (self); } +static void +overlay_clicked_cb (GtkGestureClick *gesture, + unsigned int n_press, + double x, + double y, + gpointer data) +{ + GtkVideo *self = data; + + gtk_media_stream_set_playing (self->media_stream, TRUE); +} + static void gtk_video_realize (GtkWidget *widget) { @@ -360,6 +373,7 @@ gtk_video_class_init (GtkVideoClass *klass) gtk_widget_class_bind_template_child (widget_class, GtkVideo, controls_revealer); gtk_widget_class_bind_template_callback (widget_class, gtk_video_motion); gtk_widget_class_bind_template_callback (widget_class, gtk_video_pressed); + gtk_widget_class_bind_template_callback (widget_class, overlay_clicked_cb); gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); gtk_widget_class_set_css_name (widget_class, I_("video")); diff --git a/gtk/ui/gtkvideo.ui b/gtk/ui/gtkvideo.ui index 94ee866107..14252b6d04 100644 --- a/gtk/ui/gtkvideo.ui +++ b/gtk/ui/gtkvideo.ui @@ -16,6 +16,15 @@ 3 media-playback-start-symbolic 2 + button + + Play + + + + + + 1