EpisodeWidget: Pass the EpisodeModel by value.

This is preparationg for being able to pass the model to
the connect_craw callback directly.
This commit is contained in:
Jordan Petridis 2018-07-16 16:01:32 +03:00
parent 9a76c6428a
commit fe024502d4
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
3 changed files with 6 additions and 6 deletions

View File

@ -206,10 +206,10 @@ impl Default for EpisodeWidget {
}
impl EpisodeWidget {
pub fn new(episode: &EpisodeWidgetModel, sender: &Sender<Action>) -> Rc<Self> {
pub fn new(episode: EpisodeWidgetModel, sender: &Sender<Action>) -> Rc<Self> {
let widget = Rc::new(Self::default());
widget.info.init(episode);
Self::determine_buttons_state(&widget, episode, sender)
widget.info.init(&episode);
Self::determine_buttons_state(&widget, &episode, sender)
.map_err(|err| error!("Error: {}", err))
.ok();
widget

View File

@ -95,7 +95,7 @@ impl HomeView {
let view_ = view.clone();
let func = move |ep: EpisodeWidgetModel| {
let epoch = ep.epoch();
let widget = HomeEpisode::new(&ep, &sender);
let widget = HomeEpisode::new(ep, &sender);
match split(&now_utc, i64::from(epoch)) {
Today => add_to_box(&widget, &view_.today_list, &view_.today_box),
@ -197,7 +197,7 @@ impl Default for HomeEpisode {
}
impl HomeEpisode {
fn new(episode: &EpisodeWidgetModel, sender: &Sender<Action>) -> HomeEpisode {
fn new(episode: EpisodeWidgetModel, sender: &Sender<Action>) -> HomeEpisode {
let builder =
gtk::Builder::new_from_resource("/org/gnome/Hammond/gtk/episodes_view_widget.ui");
let container: gtk::Box = builder.get_object("container").unwrap();

View File

@ -206,7 +206,7 @@ fn populate_listbox(
let list = show_.episodes.clone();
let constructor = clone!(sender => move |ep| {
EpisodeWidget::new(&ep, &sender).container.clone()
EpisodeWidget::new(ep, &sender).container.clone()
});
let callback = clone!(pd, show_ => move || {