diff --git a/hammond-gtk/resources/gtk/episode_widget.ui b/hammond-gtk/resources/gtk/episode_widget.ui
index dbf6a43..e7cf0a5 100644
--- a/hammond-gtk/resources/gtk/episode_widget.ui
+++ b/hammond-gtk/resources/gtk/episode_widget.ui
@@ -15,6 +15,7 @@
- False
- True
+ True
+ False
5
0
@@ -275,6 +276,7 @@
False
True
5
+ end
1
diff --git a/hammond-gtk/resources/gtk/episodes_view.ui b/hammond-gtk/resources/gtk/episodes_view.ui
new file mode 100644
index 0000000..8e8f3ab
--- /dev/null
+++ b/hammond-gtk/resources/gtk/episodes_view.ui
@@ -0,0 +1,82 @@
+
+
+
+
+
+
diff --git a/hammond-gtk/resources/gtk/episodes_view_widget.ui b/hammond-gtk/resources/gtk/episodes_view_widget.ui
new file mode 100644
index 0000000..a8ec5f9
--- /dev/null
+++ b/hammond-gtk/resources/gtk/episodes_view_widget.ui
@@ -0,0 +1,25 @@
+
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+ 102
+ image-x-generic-symbolic
+
+
+ False
+ True
+ 0
+
+
+
+
+
+
+
diff --git a/hammond-gtk/resources/gtk/show_widget.ui b/hammond-gtk/resources/gtk/show_widget.ui
index cc3c9b4..ead850a 100644
--- a/hammond-gtk/resources/gtk/show_widget.ui
+++ b/hammond-gtk/resources/gtk/show_widget.ui
@@ -78,6 +78,26 @@
False
vertical
10
+
+
+ True
+ False
+ start
+ end
+ Show description
+ True
+ 57
+
+
+
+
+
+ False
+ False
+ end
+ 1
+
+
True
@@ -128,6 +148,9 @@
True
center
center
+
False
@@ -145,27 +168,6 @@
0
-
-
- True
- False
- start
- center
- Show description
- True
- word-char
- 55
-
-
-
-
-
- True
- True
- end
- 1
-
-
True
@@ -176,7 +178,7 @@
False
- True
+ False
0
diff --git a/hammond-gtk/resources/resources.xml b/hammond-gtk/resources/resources.xml
index cb87ca4..0c91cd0 100644
--- a/hammond-gtk/resources/resources.xml
+++ b/hammond-gtk/resources/resources.xml
@@ -4,6 +4,8 @@
gtk/episode_widget.ui
gtk/show_widget.ui
gtk/empty_view.ui
+ gtk/episodes_view.ui
+ gtk/episodes_view_widget.ui
gtk/shows_view.ui
gtk/shows_child.ui
gtk/headerbar.ui
diff --git a/hammond-gtk/src/content.rs b/hammond-gtk/src/content.rs
index adc4cb6..3bdf019 100644
--- a/hammond-gtk/src/content.rs
+++ b/hammond-gtk/src/content.rs
@@ -6,6 +6,7 @@ use hammond_data::dbqueries;
use views::shows::ShowsPopulated;
use views::empty::EmptyView;
+use views::episodes::EpisodesView;
use widgets::show::ShowWidget;
use headerbar::Header;
@@ -155,14 +156,14 @@ struct EpisodeStack {
impl EpisodeStack {
fn new() -> Rc {
- let _pop = RecentEpisodes {};
+ let episodes = EpisodesView::default();
let empty = EmptyView::new();
let stack = gtk::Stack::new();
- // stack.add_named(&pop.container, "populated");
+ stack.add_named(&episodes.container, "episodes");
stack.add_named(&empty.container, "empty");
// FIXME:
- stack.set_visible_child_name("empty");
+ stack.set_visible_child_name("episodes");
Rc::new(EpisodeStack {
// empty,
diff --git a/hammond-gtk/src/views/episodes.rs b/hammond-gtk/src/views/episodes.rs
index 8b13789..e8eb3da 100644
--- a/hammond-gtk/src/views/episodes.rs
+++ b/hammond-gtk/src/views/episodes.rs
@@ -1 +1,47 @@
+use gtk;
+use gtk::prelude::*;
+use widgets::episode::EpisodeWidget;
+
+#[derive(Debug, Clone)]
+pub struct EpisodesView {
+ pub container: gtk::Box,
+ frame_parent: gtk::Box,
+}
+
+impl Default for EpisodesView {
+ fn default() -> Self {
+ let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/episodes_view.ui");
+ let container: gtk::Box = builder.get_object("container").unwrap();
+ let frame_parent: gtk::Box = builder.get_object("frame_parent").unwrap();
+
+ EpisodesView {
+ container,
+ frame_parent,
+ }
+ }
+}
+
+#[derive(Debug, Clone)]
+struct EpisodesViewWidget {
+ container: gtk::Box,
+ image: gtk::Image,
+ episode: gtk::Box,
+}
+
+impl Default for EpisodesViewWidget {
+ fn default() -> Self {
+ let builder =
+ gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/episodes_view_widget.ui");
+ let container: gtk::Box = builder.get_object("container").unwrap();
+ let image: gtk::Image = builder.get_object("cover").unwrap();
+ let ep = EpisodeWidget::default();
+ container.add(&ep.container);
+
+ EpisodesViewWidget {
+ container,
+ image,
+ episode: ep.container,
+ }
+ }
+}
diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs
index fd9888d..8beb2b0 100644
--- a/hammond-gtk/src/widgets/episode.rs
+++ b/hammond-gtk/src/widgets/episode.rs
@@ -32,9 +32,9 @@ type Foo = RefCell<
thread_local!(static GLOBAL: Foo = RefCell::new(None));
-#[derive(Debug)]
-struct EpisodeWidget {
- container: gtk::Box,
+#[derive(Debug, Clone)]
+pub struct EpisodeWidget {
+ pub container: gtk::Box,
play: gtk::Button,
delete: gtk::Button,
download: gtk::Button,
diff --git a/hammond-gtk/src/widgets/show.rs b/hammond-gtk/src/widgets/show.rs
index c232661..7a30a63 100644
--- a/hammond-gtk/src/widgets/show.rs
+++ b/hammond-gtk/src/widgets/show.rs
@@ -40,10 +40,6 @@ impl Default for ShowWidget {
let link: gtk::Button = builder.get_object("link_button").unwrap();
let settings: gtk::MenuButton = builder.get_object("settings_button").unwrap();
- unsub
- .get_style_context()
- .map(|c| c.add_class("destructive-action"));
-
ShowWidget {
container,
cover,