diff --git a/podcasts-gtk/resources/resources.gresource.LEWQQZ b/podcasts-gtk/resources/resources.gresource.LEWQQZ new file mode 100644 index 0000000..93a9c18 Binary files /dev/null and b/podcasts-gtk/resources/resources.gresource.LEWQQZ differ diff --git a/podcasts-gtk/src/app.rs b/podcasts-gtk/src/app.rs index bde3b79..adef9af 100644 --- a/podcasts-gtk/src/app.rs +++ b/podcasts-gtk/src/app.rs @@ -65,6 +65,7 @@ pub(crate) enum Action { InitShowMenu(Fragile), EmptyState, PopulatedState, + RaiseWindow, } #[derive(Debug, Clone)] @@ -370,6 +371,7 @@ impl App { self.headerbar.switch.set_sensitive(true); self.content.switch_to_populated(); } + Action::RaiseWindow => self.window.present(), } } diff --git a/podcasts-gtk/src/widgets/player.rs b/podcasts-gtk/src/widgets/player.rs index dba3232..947fe06 100644 --- a/podcasts-gtk/src/widgets/player.rs +++ b/podcasts-gtk/src/widgets/player.rs @@ -293,7 +293,7 @@ impl PlayerWidget { fn init(s: &Rc, sender: &Sender) { Self::connect_control_buttons(s); Self::connect_rate_buttons(s); - Self::connect_mpris_buttons(s); + Self::connect_mpris_buttons(s, sender); Self::connect_gst_signals(s, sender); } @@ -322,7 +322,7 @@ impl PlayerWidget { })); } - fn connect_mpris_buttons(s: &Rc) { + fn connect_mpris_buttons(s: &Rc, sender: &Sender) { let weak = Rc::downgrade(s); let mpris = s.info.mpris.clone(); @@ -349,9 +349,7 @@ impl PlayerWidget { weak.upgrade().map(|p| p.rewind()); })); - //s.info.mpris.connect_raise(clone!(weak => move || { - // TODO: Do something here - //})); + s.info.mpris.connect_raise(clone!(sender => move || sender.send(Action::RaiseWindow))); } #[cfg_attr(rustfmt, rustfmt_skip)]