From 4a195eb1b7baa951c8e94c05afaeed41e3f61602 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Fri, 24 Nov 2017 19:48:20 +0200 Subject: [PATCH] Moved set_played_now into a method of the Episode model. --- hammond-data/src/models/queryables.rs | 9 +++++++++ hammond-data/src/utils.rs | 7 ------- hammond-gtk/src/widgets/episode.rs | 6 ++++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/hammond-data/src/models/queryables.rs b/hammond-data/src/models/queryables.rs index 90124e7..56b3b29 100644 --- a/hammond-data/src/models/queryables.rs +++ b/hammond-data/src/models/queryables.rs @@ -1,3 +1,5 @@ +use chrono::prelude::*; + use reqwest; use diesel::SaveChangesDsl; use diesel::result::QueryResult; @@ -131,6 +133,13 @@ impl Episode { self.podcast_id } + pub fn set_played_now(&mut self) -> QueryResult<()> { + let epoch = Utc::now().timestamp() as i32; + self.set_played(Some(epoch)); + self.save()?; + Ok(()) + } + pub fn save(&self) -> QueryResult { let db = connection(); let tempdb = db.get().unwrap(); diff --git a/hammond-data/src/utils.rs b/hammond-data/src/utils.rs index 46493bd..873bb68 100644 --- a/hammond-data/src/utils.rs +++ b/hammond-data/src/utils.rs @@ -75,13 +75,6 @@ pub fn delete_local_content(ep: &mut Episode) -> Result<()> { Ok(()) } -pub fn set_played_now(ep: &mut Episode) -> Result<()> { - let epoch = Utc::now().timestamp() as i32; - ep.set_played(Some(epoch)); - ep.save()?; - Ok(()) -} - pub fn checkup() -> Result<()> { download_checker()?; played_cleaner()?; diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs index e8b349d..4851a03 100644 --- a/hammond-gtk/src/widgets/episode.rs +++ b/hammond-gtk/src/widgets/episode.rs @@ -69,8 +69,9 @@ fn epidose_widget(episode: &mut Episode, pd_title: &str) -> gtk::Box { } play_button.connect_clicked(clone!(episode, played_button, unplayed_button => move |_| { + let mut episode = episode.clone(); on_play_bttn_clicked(*episode.id()); - let _ = set_played_now(&mut episode.clone()); + let _ = episode.set_played_now(); played_button.hide(); unplayed_button.show(); })); @@ -83,7 +84,8 @@ fn epidose_widget(episode: &mut Episode, pd_title: &str) -> gtk::Box { })); played_button.connect_clicked(clone!(episode, unplayed_button => move |played| { - let _ = set_played_now(&mut episode.clone()); + let mut episode = episode.clone(); + let _ = episode.set_played_now(); played.hide(); unplayed_button.show(); }));