From 3fca086d14de541582358a038658508186247d2f Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Fri, 1 Dec 2017 05:32:47 +0200 Subject: [PATCH] Renamed stack children. --- hammond-gtk/src/content.rs | 10 ++++++---- hammond-gtk/src/headerbar.rs | 4 ++-- hammond-gtk/src/views/podcasts.rs | 14 +++++++------- hammond-gtk/src/widgets/podcast.rs | 6 +++--- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/hammond-gtk/src/content.rs b/hammond-gtk/src/content.rs index 99e5ff9..2a8659a 100644 --- a/hammond-gtk/src/content.rs +++ b/hammond-gtk/src/content.rs @@ -18,6 +18,8 @@ pub struct Content { } #[derive(Debug)] +#[allow(dead_code)] +// TODO: find a way to wrap gtk::Stack into a State machine. pub enum ContentState { Widget(PodcastWidget), Empty(EmptyView), @@ -49,12 +51,12 @@ impl Content { self.stack .set_transition_type(gtk::StackTransitionType::SlideLeftRight); - self.stack.add_named(&self.widget.container, "pdw"); // Rename into "widget" - self.stack.add_named(&self.podcasts.container, "fb_parent"); // Rename into "podcasts" - self.stack.add_named(&self.empty.container, "empty"); // Rename into "empty" + self.stack.add_named(&self.widget.container, "widget"); + self.stack.add_named(&self.podcasts.container, "podcasts"); + self.stack.add_named(&self.empty.container, "empty"); // FIXME: needs actuall logic - self.stack.set_visible_child_name("fb_parent") + self.stack.set_visible_child_name("podcasts") } fn init(&self) { diff --git a/hammond-gtk/src/headerbar.rs b/hammond-gtk/src/headerbar.rs index 9675a3f..7e13ffa 100644 --- a/hammond-gtk/src/headerbar.rs +++ b/hammond-gtk/src/headerbar.rs @@ -62,8 +62,8 @@ impl Header { // and add a StackSwitcher when more views are added. self.home.connect_clicked(clone!(stack => move |_| { let vis = stack.get_visible_child_name().unwrap(); - stack.set_visible_child_name("fb_parent"); - if vis != "pdw" { + stack.set_visible_child_name("podcasts"); + if vis != "widget" { update_podcasts_view(&stack); } })); diff --git a/hammond-gtk/src/views/podcasts.rs b/hammond-gtk/src/views/podcasts.rs index b8d106b..16168d1 100644 --- a/hammond-gtk/src/views/podcasts.rs +++ b/hammond-gtk/src/views/podcasts.rs @@ -132,13 +132,13 @@ impl PodcastChild { } fn on_flowbox_child_activate(stack: >k::Stack, parent: &Podcast) { - let old = stack.get_child_by_name("pdw").unwrap(); + let old = stack.get_child_by_name("widget").unwrap(); let pdw = PodcastWidget::new(); pdw.init(stack, parent); stack.remove(&old); - stack.add_named(&pdw.container, "pdw"); - stack.set_visible_child_name("pdw"); + stack.add_named(&pdw.container, "widget"); + stack.set_visible_child_name("widget"); // aggresive memory cleanup // probably not needed @@ -147,17 +147,17 @@ fn on_flowbox_child_activate(stack: >k::Stack, parent: &Podcast) { pub fn update_podcasts_view(stack: >k::Stack) { let vis = stack.get_visible_child_name().unwrap(); - let old = stack.get_child_by_name("fb_parent").unwrap(); + let old = stack.get_child_by_name("podcasts").unwrap(); stack.remove(&old); let pdw = PopulatedView::new(); pdw.init(stack); - stack.add_named(&pdw.container, "fb_parent"); + stack.add_named(&pdw.container, "podcasts"); let flowbox = &pdw.flowbox; if vis == "empty" && !flowbox.get_children().is_empty() { - stack.set_visible_child_name("fb_parent"); - } else if vis == "fb_parent" && flowbox.get_children().is_empty() { + stack.set_visible_child_name("podcasts"); + } else if vis == "podcasts" && flowbox.get_children().is_empty() { stack.set_visible_child_name("empty"); } else { // preserve the visible widget diff --git a/hammond-gtk/src/widgets/podcast.rs b/hammond-gtk/src/widgets/podcast.rs index dc8c458..116e221 100644 --- a/hammond-gtk/src/widgets/podcast.rs +++ b/hammond-gtk/src/widgets/podcast.rs @@ -103,7 +103,7 @@ fn on_unsub_button_clicked(stack: >k::Stack, pd: &Podcast, unsub_button: >k: } }; } - stack.set_visible_child_name("fb_parent"); + stack.set_visible_child_name("podcasts"); update_podcasts_view(stack); } @@ -115,13 +115,13 @@ fn on_played_button_clicked(stack: >k::Stack, pd: &Podcast) { // Note: Stack manipulation pub fn update_podcast_widget(stack: >k::Stack, pd: &Podcast) { - let old = stack.get_child_by_name("pdw").unwrap(); + let old = stack.get_child_by_name("widget").unwrap(); let pdw = PodcastWidget::new(); pdw.init(stack, pd); let vis = stack.get_visible_child_name().unwrap(); stack.remove(&old); - stack.add_named(&pdw.container, "pdw"); + stack.add_named(&pdw.container, "widget"); stack.set_visible_child_name(&vis); old.destroy(); }