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:
parent
9a76c6428a
commit
fe024502d4
@ -206,10 +206,10 @@ impl Default for EpisodeWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl 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());
|
let widget = Rc::new(Self::default());
|
||||||
widget.info.init(episode);
|
widget.info.init(&episode);
|
||||||
Self::determine_buttons_state(&widget, episode, sender)
|
Self::determine_buttons_state(&widget, &episode, sender)
|
||||||
.map_err(|err| error!("Error: {}", err))
|
.map_err(|err| error!("Error: {}", err))
|
||||||
.ok();
|
.ok();
|
||||||
widget
|
widget
|
||||||
|
|||||||
@ -95,7 +95,7 @@ impl HomeView {
|
|||||||
let view_ = view.clone();
|
let view_ = view.clone();
|
||||||
let func = move |ep: EpisodeWidgetModel| {
|
let func = move |ep: EpisodeWidgetModel| {
|
||||||
let epoch = ep.epoch();
|
let epoch = ep.epoch();
|
||||||
let widget = HomeEpisode::new(&ep, &sender);
|
let widget = HomeEpisode::new(ep, &sender);
|
||||||
|
|
||||||
match split(&now_utc, i64::from(epoch)) {
|
match split(&now_utc, i64::from(epoch)) {
|
||||||
Today => add_to_box(&widget, &view_.today_list, &view_.today_box),
|
Today => add_to_box(&widget, &view_.today_list, &view_.today_box),
|
||||||
@ -197,7 +197,7 @@ impl Default for HomeEpisode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl HomeEpisode {
|
impl HomeEpisode {
|
||||||
fn new(episode: &EpisodeWidgetModel, sender: &Sender<Action>) -> HomeEpisode {
|
fn new(episode: EpisodeWidgetModel, sender: &Sender<Action>) -> HomeEpisode {
|
||||||
let builder =
|
let builder =
|
||||||
gtk::Builder::new_from_resource("/org/gnome/Hammond/gtk/episodes_view_widget.ui");
|
gtk::Builder::new_from_resource("/org/gnome/Hammond/gtk/episodes_view_widget.ui");
|
||||||
let container: gtk::Box = builder.get_object("container").unwrap();
|
let container: gtk::Box = builder.get_object("container").unwrap();
|
||||||
|
|||||||
@ -206,7 +206,7 @@ fn populate_listbox(
|
|||||||
let list = show_.episodes.clone();
|
let list = show_.episodes.clone();
|
||||||
|
|
||||||
let constructor = clone!(sender => move |ep| {
|
let constructor = clone!(sender => move |ep| {
|
||||||
EpisodeWidget::new(&ep, &sender).container.clone()
|
EpisodeWidget::new(ep, &sender).container.clone()
|
||||||
});
|
});
|
||||||
|
|
||||||
let callback = clone!(pd, show_ => move || {
|
let callback = clone!(pd, show_ => move || {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user