diff --git a/podcasts-gtk/src/widgets/player.rs b/podcasts-gtk/src/widgets/player.rs index ddbcf0a..8821ff1 100644 --- a/podcasts-gtk/src/widgets/player.rs +++ b/podcasts-gtk/src/widgets/player.rs @@ -208,6 +208,12 @@ fn format_duration(seconds: u32) -> String { #[derive(Debug, Clone)] struct PlayerRate { + radio300: gtk::RadioButton, + radio275: gtk::RadioButton, + radio250: gtk::RadioButton, + radio225: gtk::RadioButton, + radio200: gtk::RadioButton, + radio175: gtk::RadioButton, radio150: gtk::RadioButton, radio125: gtk::RadioButton, radio_normal: gtk::RadioButton, @@ -220,6 +226,12 @@ impl PlayerRate { fn new() -> Self { let builder = gtk::Builder::new_from_resource("/org/gnome/Podcasts/gtk/player_rate.ui"); + let radio300: gtk::RadioButton = builder.get_object("rate_3_00").unwrap(); + let radio275: gtk::RadioButton = builder.get_object("rate_2_75").unwrap(); + let radio250: gtk::RadioButton = builder.get_object("rate_2_50").unwrap(); + let radio225: gtk::RadioButton = builder.get_object("rate_2_25").unwrap(); + let radio200: gtk::RadioButton = builder.get_object("rate_2_00").unwrap(); + let radio175: gtk::RadioButton = builder.get_object("rate_1_75").unwrap(); let radio150: gtk::RadioButton = builder.get_object("rate_1_50").unwrap(); let radio125: gtk::RadioButton = builder.get_object("rate_1_25").unwrap(); let radio_normal: gtk::RadioButton = builder.get_object("normal_rate").unwrap(); @@ -228,6 +240,12 @@ impl PlayerRate { let label = builder.get_object("rate_label").unwrap(); PlayerRate { + radio300, + radio275, + radio250, + radio225, + radio200, + radio175, radio150, radio125, radio_normal, @@ -254,6 +272,30 @@ impl PlayerRate { .connect_toggled(clone!(@weak widget => move |_| { widget.on_rate_changed(1.50); })); + self.radio175 + .connect_toggled(clone!(@weak widget => move |_| { + widget.on_rate_changed(1.75); + })); + self.radio200 + .connect_toggled(clone!(@weak widget => move |_| { + widget.on_rate_changed(2.00); + })); + self.radio225 + .connect_toggled(clone!(@weak widget => move |_| { + widget.on_rate_changed(2.25); + })); + self.radio250 + .connect_toggled(clone!(@weak widget => move |_| { + widget.on_rate_changed(2.50); + })); + self.radio275 + .connect_toggled(clone!(@weak widget => move |_| { + widget.on_rate_changed(2.75); + })); + self.radio300 + .connect_toggled(clone!(@weak widget => move |_| { + widget.on_rate_changed(3.00); + })); } }