video: Make the overlay clickable
And add missing accessible labels at the same time. Fixes: #4522
This commit is contained in:
@@ -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"));
|
||||
|
||||
@@ -16,6 +16,15 @@
|
||||
<property name="valign">3</property>
|
||||
<property name="icon-name">media-playback-start-symbolic</property>
|
||||
<property name="icon-size">2</property>
|
||||
<property name="accessible-role">button</property>
|
||||
<accessibility>
|
||||
<property name="label" translatable="1">Play</property>
|
||||
</accessibility>
|
||||
<child>
|
||||
<object class="GtkGestureClick">
|
||||
<signal name="pressed" handler="overlay_clicked_cb"/>
|
||||
</object>
|
||||
</child>
|
||||
<layout>
|
||||
<property name="measure">1</property>
|
||||
</layout>
|
||||
|
||||
Reference in New Issue
Block a user