EpisodesStack: Implemnt the transition between empty and populated.
This commit is contained in:
parent
db59bed69d
commit
336846f6dd
@ -173,15 +173,17 @@ impl EpisodeStack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn update(&self) {
|
fn update(&self) {
|
||||||
// FIXME: figure out if it should switch to empty view
|
|
||||||
let vis = self.stack.get_visible_child_name().unwrap();
|
|
||||||
let old = self.stack.get_child_by_name("episodes").unwrap();
|
let old = self.stack.get_child_by_name("episodes").unwrap();
|
||||||
|
|
||||||
let eps = EpisodesView::new();
|
let eps = EpisodesView::new();
|
||||||
|
|
||||||
self.stack.remove(&old);
|
self.stack.remove(&old);
|
||||||
self.stack.add_named(&eps.container, "episodes");
|
self.stack.add_named(&eps.container, "episodes");
|
||||||
self.stack.set_visible_child_name(&vis);
|
|
||||||
|
if eps.is_empty() {
|
||||||
|
self.stack.set_visible_child_name("empty");
|
||||||
|
} else {
|
||||||
|
self.stack.set_visible_child_name("episodes");
|
||||||
|
}
|
||||||
|
|
||||||
old.destroy();
|
old.destroy();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -163,6 +163,34 @@ impl EpisodesView {
|
|||||||
view.container.show_all();
|
view.container.show_all();
|
||||||
Rc::new(view)
|
Rc::new(view)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_empty(&self) -> bool {
|
||||||
|
if !self.today_list.get_children().is_empty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !self.yday_list.get_children().is_empty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !self.week_list.get_children().is_empty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !self.month_list.get_children().is_empty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !self.year_list.get_children().is_empty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !self.rest_list.get_children().is_empty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Avoid epoch calculations, use chrono instead.
|
// TODO: Avoid epoch calculations, use chrono instead.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user