unwrap handling.

This commit is contained in:
Jordan Petridis 2017-10-31 13:08:53 +02:00
parent 401c13eee7
commit 893218346d
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
2 changed files with 10 additions and 8 deletions

View File

@ -5,6 +5,7 @@ use hammond_data::models::Episode;
use hammond_downloader::downloader;
use hammond_data::index_feed::Database;
use hammond_data::dbcheckup::*;
use hammond_data::errors::*;
use dissolve::strip_html_tags;
@ -133,7 +134,7 @@ fn epidose_widget(db: &Database, episode: &mut Episode, pd_title: &str) -> gtk::
ep
}
// TODO: show notification when dl is finished and block play_bttn till then.
// TODO: show notification when dl is finished.
fn on_download_clicked(
db: &Database,
pd_title: &str,
@ -215,11 +216,10 @@ fn receive() -> glib::Continue {
glib::Continue(false)
}
pub fn episodes_listbox(db: &Database, pd_title: &str) -> gtk::ListBox {
// TODO: handle unwraps.
pub fn episodes_listbox(db: &Database, pd_title: &str) -> Result<gtk::ListBox> {
let conn = db.lock().unwrap();
let pd = dbqueries::load_podcast_from_title(&conn, pd_title).unwrap();
let mut episodes = dbqueries::get_pd_episodes(&conn, &pd).unwrap();
let pd = dbqueries::load_podcast_from_title(&conn, pd_title)?;
let mut episodes = dbqueries::get_pd_episodes(&conn, &pd)?;
drop(conn);
let list = gtk::ListBox::new();
@ -232,5 +232,5 @@ pub fn episodes_listbox(db: &Database, pd_title: &str) -> gtk::ListBox {
list.set_hexpand(false);
list.set_visible(true);
list.set_selection_mode(gtk::SelectionMode::None);
list
Ok(list)
}

View File

@ -45,14 +45,16 @@ pub fn podcast_widget(db: &Database, stack: &gtk::Stack, pd: &Podcast) -> gtk::B
.get_object("mark_all_played_button")
.unwrap();
// TODO: spawn a thread to avoid locking the UI probably.
// TODO: should spawn a thread to avoid locking the UI probably.
unsub_button.connect_clicked(clone!(db, stack, pd => move |bttn| {
on_unsub_button_clicked(&db, &stack, &pd, bttn);
}));
title_label.set_text(pd.title());
let listbox = episodes_listbox(db, pd.title());
view.add(&listbox);
if let Ok(l) = listbox {
view.add(&l);
}
desc_label.set_text(pd.description());