Changed arguments Arc<T> to bepassed by value, clone on arc just copies the refference anyway.

This commit is contained in:
Jordan Petridis
2017-10-21 22:53:04 +03:00
parent 7b0a8f0e25
commit 2077215491
8 changed files with 44 additions and 40 deletions
+4 -3
View File
@@ -1,5 +1,6 @@
#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))]
#![cfg_attr(feature = "cargo-clippy", allow(needless_pass_by_value))]
use open;
use diesel::prelude::SqliteConnection;
@@ -22,7 +23,7 @@ use gtk::ContainerExt;
// use utils;
fn epidose_widget(
connection: &Arc<Mutex<SqliteConnection>>,
connection: Arc<Mutex<SqliteConnection>>,
episode: &mut Episode,
pd_title: &str,
) -> gtk::Box {
@@ -101,7 +102,7 @@ fn epidose_widget(
}
pub fn episodes_listbox(connection: &Arc<Mutex<SqliteConnection>>, pd_title: &str) -> gtk::ListBox {
pub fn episodes_listbox(connection: Arc<Mutex<SqliteConnection>>, pd_title: &str) -> gtk::ListBox {
// TODO: handle unwraps.
let m = connection.lock().unwrap();
let pd = dbqueries::load_podcast(&m, pd_title).unwrap();
@@ -110,7 +111,7 @@ pub fn episodes_listbox(connection: &Arc<Mutex<SqliteConnection>>, pd_title: &st
let list = gtk::ListBox::new();
episodes.iter_mut().for_each(|ep| {
let w = epidose_widget(connection, ep, pd_title);
let w = epidose_widget(connection.clone(), ep, pd_title);
list.add(&w)
});
+3 -3
View File
@@ -12,7 +12,7 @@ use std::sync::{Arc, Mutex};
use widgets::episode::episodes_listbox;
pub fn podcast_widget(
connection: &Arc<Mutex<SqliteConnection>>,
connection: Arc<Mutex<SqliteConnection>>,
title: Option<&str>,
description: Option<&str>,
image: Option<Pixbuf>,
@@ -29,7 +29,7 @@ pub fn podcast_widget(
if let Some(t) = title {
title_label.set_text(t);
let listbox = episodes_listbox(&connection, t);
let listbox = episodes_listbox(connection, t);
view.add(&listbox);
}
@@ -108,7 +108,7 @@ pub fn podcast_liststore(connection: &SqliteConnection) -> gtk::ListStore {
// stack.set_visible_child_full("pdw", StackTransitionType::None);
// }
pub fn pd_widget_from_diesel_model(db: &Arc<Mutex<SqliteConnection>>, pd: &Podcast) -> gtk::Box {
pub fn pd_widget_from_diesel_model(db: Arc<Mutex<SqliteConnection>>, pd: &Podcast) -> gtk::Box {
let img = get_pixbuf_from_path(pd.image_uri(), pd.title());
podcast_widget(db, Some(pd.title()), Some(pd.description()), img)
}