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
+7 -12
View File
@@ -11,7 +11,7 @@ use std::sync::{Arc, Mutex};
use widgets::podcast::*;
pub fn populate_podcasts_flowbox(
db: &Arc<Mutex<SqliteConnection>>,
db: Arc<Mutex<SqliteConnection>>,
stack: &gtk::Stack,
flowbox: &gtk::FlowBox,
) {
@@ -51,7 +51,7 @@ pub fn populate_podcasts_flowbox(
f.connect_activate(move |_| {
let old = stack_clone.get_child_by_name("pdw").unwrap();
let pdw = podcast_widget(
&db_clone,
db_clone.clone(),
Some(title.as_str()),
description.as_ref().map(|x| x.as_str()),
pixbuf.clone(),
@@ -71,12 +71,12 @@ pub fn populate_podcasts_flowbox(
flowbox.show_all();
}
fn setup_podcast_widget(db: &Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
fn setup_podcast_widget(db: Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
let pd_widget = podcast_widget(db, None, None, None);
stack.add_named(&pd_widget, "pdw");
}
fn setup_podcasts_grid(db: &Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
fn setup_podcasts_grid(db: Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
let builder = include_str!("../../gtk/podcasts_view.ui");
let builder = gtk::Builder::new_from_string(builder);
let grid: gtk::Grid = builder.get_object("grid").unwrap();
@@ -90,19 +90,14 @@ fn setup_podcasts_grid(db: &Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
populate_podcasts_flowbox(db, stack, &flowbox);
}
pub fn setup_stack(db: &Arc<Mutex<SqliteConnection>>) -> gtk::Stack {
pub fn setup_stack(db: Arc<Mutex<SqliteConnection>>) -> gtk::Stack {
let stack = gtk::Stack::new();
// let _st_clone = stack.clone();
setup_podcast_widget(db, &stack);
setup_podcast_widget(db.clone(), &stack);
setup_podcasts_grid(db, &stack);
// stack.connect("update_grid", true, move |_| {
// update_podcasts_view(&db_clone, &st_clone);
// None
// });
stack
}
pub fn update_podcasts_view(db: &Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
pub fn update_podcasts_view(db: Arc<Mutex<SqliteConnection>>, stack: &gtk::Stack) {
let builder = include_str!("../../gtk/podcasts_view.ui");
let builder = gtk::Builder::new_from_string(builder);
let grid: gtk::Grid = builder.get_object("grid").unwrap();