Moved set_played_now into a method of the Episode model.

This commit is contained in:
Jordan Petridis 2017-11-24 19:48:20 +02:00
parent f7f0a16858
commit 4a195eb1b7
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
3 changed files with 13 additions and 9 deletions

View File

@ -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<Episode> {
let db = connection();
let tempdb = db.get().unwrap();

View File

@ -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()?;

View File

@ -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();
}));