diff --git a/hammond-gtk/src/app.rs b/hammond-gtk/src/app.rs index 81e12de..4bddc5e 100644 --- a/hammond-gtk/src/app.rs +++ b/hammond-gtk/src/app.rs @@ -14,6 +14,7 @@ use stacks::Content; use utils; use widgets::{mark_all_notif, remove_show_notif}; +use std::rc::Rc; use std::sync::mpsc::{channel, Receiver, Sender}; use std::sync::Arc; @@ -43,8 +44,8 @@ pub struct App { app_instance: gtk::Application, window: gtk::Window, overlay: gtk::Overlay, - header: Arc
, - content: Arc, + header: Rc
, + content: Rc, receiver: Receiver, sender: Sender, settings: Settings, @@ -78,10 +79,10 @@ impl App { // Create a content instance let content = - Arc::new(Content::new(sender.clone()).expect("Content Initialization failed.")); + Rc::new(Content::new(sender.clone()).expect("Content Initialization failed.")); // Create the headerbar - let header = Arc::new(Header::new(&content, &window, sender.clone())); + let header = Rc::new(Header::new(&content, &window, sender.clone())); // Add the content main stack to the overlay. let overlay = gtk::Overlay::new(); diff --git a/hammond-gtk/src/stacks/content.rs b/hammond-gtk/src/stacks/content.rs index 86188a9..155ff30 100644 --- a/hammond-gtk/src/stacks/content.rs +++ b/hammond-gtk/src/stacks/content.rs @@ -7,22 +7,22 @@ use app::Action; use stacks::EpisodeStack; use stacks::ShowStack; +use std::rc::Rc; use std::sync::mpsc::Sender; -use std::sync::Arc; #[derive(Debug, Clone)] pub struct Content { stack: gtk::Stack, - shows: Arc, - episodes: Arc, + shows: Rc, + episodes: Rc, sender: Sender, } impl Content { pub fn new(sender: Sender) -> Result { let stack = gtk::Stack::new(); - let episodes = Arc::new(EpisodeStack::new(sender.clone())?); - let shows = Arc::new(ShowStack::new(sender.clone())?); + let episodes = Rc::new(EpisodeStack::new(sender.clone())?); + let shows = Rc::new(ShowStack::new(sender.clone())?); stack.add_titled(&episodes.get_stack(), "episodes", "Episodes"); stack.add_titled(&shows.get_stack(), "shows", "Shows"); @@ -88,7 +88,7 @@ impl Content { self.stack.clone() } - pub fn get_shows(&self) -> Arc { + pub fn get_shows(&self) -> Rc { self.shows.clone() } } diff --git a/hammond-gtk/src/stacks/mod.rs b/hammond-gtk/src/stacks/mod.rs index b4e30fa..f75b606 100644 --- a/hammond-gtk/src/stacks/mod.rs +++ b/hammond-gtk/src/stacks/mod.rs @@ -4,4 +4,4 @@ mod show; pub use self::content::Content; pub use self::episode::{EpisodeStack, EPISODES_VIEW_VALIGNMENT}; -pub use self::show::ShowStack; +pub use self::show::{ShowStack, SHOW_WIDGET_VALIGNMENT}; diff --git a/hammond-gtk/src/stacks/show.rs b/hammond-gtk/src/stacks/show.rs index b6f9bfe..c7aa592 100644 --- a/hammond-gtk/src/stacks/show.rs +++ b/hammond-gtk/src/stacks/show.rs @@ -17,7 +17,7 @@ use std::sync::mpsc::Sender; use std::sync::{Arc, Mutex}; lazy_static! { - static ref SHOW_WIDGET_VALIGNMENT: Mutex)>> = + pub static ref SHOW_WIDGET_VALIGNMENT: Mutex)>> = Mutex::new(None); }