diff --git a/TODO.md b/TODO.md
index 141e42e..d9ff048 100644
--- a/TODO.md
+++ b/TODO.md
@@ -10,7 +10,7 @@
**Would be nice:**
-- [ ] Possibly Convert description labels to textview.
+- [x] Possibly Convert description labels to textview.
- [ ] Make Podcast cover fetchng and loading not block the execution of the program at startup.
- [ ] Re-design EpisodeWidget.
- [ ] Lazy evaluate episode loading based on the podcast_widget's view scrolling.
diff --git a/hammond-gtk/gtk/episode_widget.ui b/hammond-gtk/gtk/episode_widget.ui
index 1cd47e3..fdfacf7 100644
--- a/hammond-gtk/gtk/episode_widget.ui
+++ b/hammond-gtk/gtk/episode_widget.ui
@@ -11,23 +11,26 @@
5
5
-
-
+
+ delete_button
True
True
end
center
- 5
- 5
True
False
- gtk-media-play
- True
+ gtk-delete
False
False
- 5
end
0
@@ -161,21 +161,18 @@
True
True
in
- 60
- 400
+ 100
+ 600
+ True
+ True
-
+
True
- False
-
-
- True
- False
- True
- True
- True
-
-
+ True
+ 5
+ False
+ word-char
+ False
@@ -189,7 +186,7 @@
- True
+ False
True
1
diff --git a/hammond-gtk/gtk/podcast_widget.ui b/hammond-gtk/gtk/podcast_widget.ui
index 2cd5eb8..fb206d1 100644
--- a/hammond-gtk/gtk/podcast_widget.ui
+++ b/hammond-gtk/gtk/podcast_widget.ui
@@ -136,23 +136,31 @@ Warn: This will delete downloaded content associated with this Podcast.
False
- True
+ False
0
-
+
True
- False
- True
- True
- word-char
- end
- 30
- 5
+ True
+ in
+ 200
+ 200
+ True
+ True
+
+
+ True
+ True
+ False
+ word-char
+ False
+
+
- False
+ True
True
1
@@ -160,21 +168,21 @@ Warn: This will delete downloaded content associated with this Podcast.
False
- True
+ False
1
False
- True
+ False
0
False
- True
+ False
1
diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs
index e572000..5a54a35 100644
--- a/hammond-gtk/src/widgets/episode.rs
+++ b/hammond-gtk/src/widgets/episode.rs
@@ -17,7 +17,7 @@ use std::path::Path;
use glib;
use gtk;
use gtk::prelude::*;
-use gtk::ContainerExt;
+use gtk::{ContainerExt, TextBufferExt};
// http://gtk-rs.org/tuto/closures
// FIXME: Atm this macro is copied into every module.
@@ -57,11 +57,11 @@ fn epidose_widget(db: &Database, episode: &mut Episode, pd_title: &str) -> gtk::
let unplayed_button: gtk::Button = builder.get_object("mark_unplayed_button").unwrap();
let title_label: gtk::Label = builder.get_object("title_label").unwrap();
- let desc_label: gtk::Label = builder.get_object("desc_label").unwrap();
+ // let desc_label: gtk::Label = builder.get_object("desc_label").unwrap();
let expander: gtk::Expander = builder.get_object("expand_desc").unwrap();
+ let desc_text_view: gtk::TextView = builder.get_object("desc_text_view").unwrap();
title_label.set_xalign(0.0);
- desc_label.set_xalign(0.0);
if let Some(t) = episode.title() {
title_label.set_text(t);
@@ -72,7 +72,9 @@ fn epidose_widget(db: &Database, episode: &mut Episode, pd_title: &str) -> gtk::
expander.connect_activate(move |_| {
let plain_text = strip_html_tags(&d).join(" ");
- desc_label.set_text(plain_text.trim())
+ // TODO: handle unwrap
+ let buff = desc_text_view.get_buffer().unwrap();
+ buff.set_text(plain_text.trim());
});
}
diff --git a/hammond-gtk/src/widgets/podcast.rs b/hammond-gtk/src/widgets/podcast.rs
index a46f51d..254ac74 100644
--- a/hammond-gtk/src/widgets/podcast.rs
+++ b/hammond-gtk/src/widgets/podcast.rs
@@ -38,7 +38,8 @@ pub fn podcast_widget(db: &Database, stack: >k::Stack, pd: &Podcast) -> gtk::B
let cover: gtk::Image = pd_widget_buidler.get_object("cover").unwrap();
let title_label: gtk::Label = pd_widget_buidler.get_object("title_label").unwrap();
- let desc_label: gtk::Label = pd_widget_buidler.get_object("description_label").unwrap();
+ // let desc_label: gtk::Label = pd_widget_buidler.get_object("description_label").unwrap();
+ let desc_text_view: gtk::TextView = pd_widget_buidler.get_object("desc_text_view").unwrap();
let view: gtk::Viewport = pd_widget_buidler.get_object("view").unwrap();
let unsub_button: gtk::Button = pd_widget_buidler.get_object("unsub_button").unwrap();
let played_button: gtk::Button = pd_widget_buidler
@@ -56,7 +57,10 @@ pub fn podcast_widget(db: &Database, stack: >k::Stack, pd: &Podcast) -> gtk::B
view.add(&l);
}
- desc_label.set_text(pd.description());
+ {
+ let buff = desc_text_view.get_buffer().unwrap();
+ buff.set_text(pd.description());
+ }
let img = get_pixbuf_from_path(pd.image_uri(), pd.title());
if let Some(i) = img {