hammond-gtk: Added some getters and removed some public fields.

This commit is contained in:
Jordan Petridis 2017-12-28 19:16:51 +02:00
parent 5942e47f2a
commit 287620d6cd
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
2 changed files with 13 additions and 8 deletions

View File

@ -15,8 +15,8 @@ use std::rc::Rc;
#[derive(Debug, Clone)]
pub struct Content {
pub stack: gtk::Stack,
pub shows: Rc<ShowStack>,
stack: gtk::Stack,
shows: Rc<ShowStack>,
episodes: Rc<EpisodeStack>,
}
@ -44,11 +44,15 @@ impl Content {
pub fn get_stack(&self) -> gtk::Stack {
self.stack.clone()
}
pub fn get_shows(&self) -> Rc<ShowStack> {
self.shows.clone()
}
}
#[derive(Debug, Clone)]
pub struct ShowStack {
pub stack: gtk::Stack,
stack: gtk::Stack,
header: Rc<Header>,
epstack: Rc<EpisodeStack>,
}
@ -149,6 +153,10 @@ impl ShowStack {
self.stack
.set_visible_child_full("widget", gtk::StackTransitionType::SlideLeft)
}
pub fn get_stack(&self) -> gtk::Stack {
self.stack.clone()
}
}
#[derive(Debug, Clone)]

View File

@ -30,9 +30,6 @@ impl Default for Header {
let back_button: gtk::Button = builder.get_object("back_button").unwrap();
let show_title: gtk::Label = builder.get_object("show_title").unwrap();
switch.set_halign(gtk::Align::Center);
switch.show();
Header {
container: header,
add_toggle,
@ -60,7 +57,7 @@ impl Header {
let new_url: gtk::Entry = builder.get_object("new_url").unwrap();
let add_button: gtk::Button = builder.get_object("add_button").unwrap();
let refresh_button: gtk::Button = builder.get_object("refresh_button").unwrap();
self.switch.set_stack(&content.stack);
self.switch.set_stack(&content.get_stack());
new_url.connect_changed(move |url| {
println!("{:?}", url.get_text());
@ -90,7 +87,7 @@ impl Header {
add_toggle.show();
back.hide();
show_title.hide();
content.shows.stack.set_visible_child_full("podcasts", gtk::StackTransitionType::SlideRight);
content.get_shows().get_stack().set_visible_child_full("podcasts", gtk::StackTransitionType::SlideRight);
}),
);
}