From 4b8fceaa7d3ee93698bcbf5a547f01bb70f4ac70 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Thu, 15 Feb 2018 05:15:25 +0200 Subject: [PATCH] Nothing makes sense. --- hammond-gtk/src/widgets/episode.rs | 13 +++++ hammond-gtk/src/widgets/episode_states.rs | 71 +++++++++++++---------- 2 files changed, 53 insertions(+), 31 deletions(-) diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs index 3aedca2..5e8350b 100644 --- a/hammond-gtk/src/widgets/episode.rs +++ b/hammond-gtk/src/widgets/episode.rs @@ -56,6 +56,7 @@ pub struct EpisodeWidget { local_size: gtk::Label, separator2: gtk::Label, prog_separator: gtk::Label, + media: Arc>, } impl Default for EpisodeWidget { @@ -82,6 +83,17 @@ impl Default for EpisodeWidget { let title_machine = Arc::new(Mutex::new(TitleMachine::new(title, false))); let dur = DurationMachine::new(duration, separator1, None); let duration_machine = Arc::new(Mutex::new(dur)); + let _media = MediaMachine::new( + play.clone(), + download.clone(), + progress.clone(), + cancel.clone(), + total_size.clone(), + local_size.clone(), + separator2.clone(), + prog_separator.clone(), + ); + let media_machine = Arc::new(Mutex::new(_media)); EpisodeWidget { container, @@ -96,6 +108,7 @@ impl Default for EpisodeWidget { local_size, separator2, prog_separator, + media: media_machine, } } } diff --git a/hammond-gtk/src/widgets/episode_states.rs b/hammond-gtk/src/widgets/episode_states.rs index 463cf47..153636b 100644 --- a/hammond-gtk/src/widgets/episode_states.rs +++ b/hammond-gtk/src/widgets/episode_states.rs @@ -9,8 +9,6 @@ use chrono; use gtk; use gtk::prelude::*; -pub trait Visibility {} - #[derive(Debug, Clone)] pub struct UnItialized; @@ -19,9 +17,23 @@ pub struct Shown; #[derive(Debug, Clone)] pub struct Hidden; +pub trait Visibility {} + impl Visibility for Shown {} impl Visibility for Hidden {} +impl From for Shown { + fn from(_: Hidden) -> Self { + Shown {} + } +} + +impl From for Hidden { + fn from(_: Shown) -> Self { + Hidden {} + } +} + #[derive(Debug, Clone)] pub struct Normal; #[derive(Debug, Clone)] @@ -542,29 +554,29 @@ impl From> for Progress { } #[derive(Debug, Clone)] -pub struct Media { +pub struct Media { dl: DownloadPlay, - total_size: Size, - progress: Progress, + size: Size, + progress: Progress, } -// From New fro InProgress -impl From