Replaced description labels with TextViews.

This commit is contained in:
Jordan Petridis
2017-11-01 17:36:47 +02:00
parent 0e6b6b2cce
commit fc761a963d
5 changed files with 54 additions and 43 deletions
+6 -4
View File
@@ -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());
});
}
+6 -2
View File
@@ -38,7 +38,8 @@ pub fn podcast_widget(db: &Database, stack: &gtk::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: &gtk::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 {