Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!1950
This commit is contained in:
Matthias Clasen
2020-05-20 20:57:34 +00:00
2 changed files with 16 additions and 8 deletions

View File

@@ -51,6 +51,7 @@ struct _GtkMediaControls
GtkWidget *time_label;
GtkWidget *seek_scale;
GtkWidget *duration_label;
GtkWidget *volume_button;
};
enum
@@ -288,6 +289,7 @@ gtk_media_controls_class_init (GtkMediaControlsClass *klass)
gtk_widget_class_bind_template_child (widget_class, GtkMediaControls, time_label);
gtk_widget_class_bind_template_child (widget_class, GtkMediaControls, seek_scale);
gtk_widget_class_bind_template_child (widget_class, GtkMediaControls, duration_label);
gtk_widget_class_bind_template_child (widget_class, GtkMediaControls, volume_button);
gtk_widget_class_bind_template_callback (widget_class, play_button_clicked);
gtk_widget_class_bind_template_callback (widget_class, time_adjustment_changed);
@@ -439,6 +441,10 @@ update_volume (GtkMediaControls *controls)
volume = gtk_media_stream_get_volume (controls->stream);
gtk_adjustment_set_value (controls->volume_adjustment, volume);
gtk_widget_set_sensitive (controls->volume_button,
controls->stream == NULL ||
gtk_media_stream_has_audio (controls->stream));
}
static void
@@ -468,6 +474,8 @@ gtk_media_controls_notify_cb (GtkMediaStream *stream,
update_volume (controls);
else if (g_str_equal (pspec->name, "volume"))
update_volume (controls);
else if (g_str_equal (pspec->name, "has-audio"))
update_volume (controls);
}
/**

View File

@@ -313,7 +313,7 @@ gtk_media_stream_class_init (GtkMediaStreamClass *class)
P_("Error"),
P_("Error the stream is in"),
G_TYPE_ERROR,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* GtkMediaStream:has-audio:
@@ -325,7 +325,7 @@ gtk_media_stream_class_init (GtkMediaStreamClass *class)
P_("Has audio"),
P_("Whether the stream contains audio"),
FALSE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* GtkMediaStream:has-video:
@@ -337,7 +337,7 @@ gtk_media_stream_class_init (GtkMediaStreamClass *class)
P_("Has video"),
P_("Whether the stream contains video"),
FALSE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* GtkMediaStream:playing:
@@ -441,11 +441,11 @@ gtk_media_stream_class_init (GtkMediaStreamClass *class)
* Volume of the audio stream.
*/
properties[PROP_VOLUME] =
g_param_spec_boolean ("volume",
P_("Volume"),
P_("Volume of the audio stream."),
1.0,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
g_param_spec_double ("volume",
P_("Volume"),
P_("Volume of the audio stream."),
0.0, 1.0, 1.0,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, N_PROPS, properties);
}