From 95c290df5038adfe53e47be35037a5da0c7866ac Mon Sep 17 00:00:00 2001 From: Julian Sparber Date: Fri, 22 Dec 2017 21:54:28 +0100 Subject: [PATCH] [ui] add custom style and [fix] draw List separators with css --- hammond-gtk/resources/gtk/style.css | 7 +++++++ hammond-gtk/resources/resources.xml | 1 + hammond-gtk/src/main.rs | 4 ++++ hammond-gtk/src/views/episodes.rs | 11 ----------- hammond-gtk/src/widgets/episode.rs | 7 ------- 5 files changed, 12 insertions(+), 18 deletions(-) create mode 100644 hammond-gtk/resources/gtk/style.css diff --git a/hammond-gtk/resources/gtk/style.css b/hammond-gtk/resources/gtk/style.css new file mode 100644 index 0000000..39bb770 --- /dev/null +++ b/hammond-gtk/resources/gtk/style.css @@ -0,0 +1,7 @@ +row { + border-bottom: solid 1px rgba(0,0,0, 0.1); +} + +row:last-child { + border-bottom: none; +} diff --git a/hammond-gtk/resources/resources.xml b/hammond-gtk/resources/resources.xml index 0c91cd0..366f71c 100644 --- a/hammond-gtk/resources/resources.xml +++ b/hammond-gtk/resources/resources.xml @@ -9,5 +9,6 @@ gtk/shows_view.ui gtk/shows_child.ui gtk/headerbar.ui + gtk/style.css diff --git a/hammond-gtk/src/main.rs b/hammond-gtk/src/main.rs index 08bfeee..c50f04a 100644 --- a/hammond-gtk/src/main.rs +++ b/hammond-gtk/src/main.rs @@ -64,6 +64,10 @@ fn build_ui(app: >k::Application) { menu.append("Update feeds", "app.update"); app.set_app_menu(&menu); + // Add custom style + let provider = gtk::CssProvider::new(); + gtk::CssProvider::load_from_resource(&provider, "/org/gnome/hammond/gtk/style.css"); + gtk::StyleContext::add_provider_for_screen(&gdk::Screen::get_default().unwrap(), &provider, 600); // Get the main window let window = gtk::ApplicationWindow::new(app); window.set_default_size(1150, 650); diff --git a/hammond-gtk/src/views/episodes.rs b/hammond-gtk/src/views/episodes.rs index f1930c5..756b4a6 100644 --- a/hammond-gtk/src/views/episodes.rs +++ b/hammond-gtk/src/views/episodes.rs @@ -83,39 +83,28 @@ impl EpisodesView { episodes.into_iter().for_each(|mut ep| { let viewep = EpisodesViewWidget::new(&mut ep); - let sep = gtk::Separator::new(gtk::Orientation::Vertical); - sep.set_sensitive(false); - sep.set_can_focus(false); let t = split(&now_utc, i64::from(ep.epoch())); match t { ListSplit::Today => { view.today_list.add(&viewep.container); - view.today_list.add(&sep) } ListSplit::Yday => { view.yday_list.add(&viewep.container); - view.yday_list.add(&sep) } ListSplit::Week => { view.week_list.add(&viewep.container); - view.week_list.add(&sep) } ListSplit::Month => { view.month_list.add(&viewep.container); - view.month_list.add(&sep) } ListSplit::Year => { view.year_list.add(&viewep.container); - view.year_list.add(&sep) } ListSplit::Rest => { view.rest_list.add(&viewep.container); - view.rest_list.add(&sep) } } - - sep.show() }); if view.today_list.get_children().is_empty() { diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs index efaf745..fb9c4ef 100644 --- a/hammond-gtk/src/widgets/episode.rs +++ b/hammond-gtk/src/widgets/episode.rs @@ -305,13 +305,6 @@ pub fn episodes_listbox(pd: &Podcast) -> Result { episodes.into_iter().for_each(|mut ep| { let widget = EpisodeWidget::new(&mut ep); list.add(&widget.container); - - let sep = gtk::Separator::new(gtk::Orientation::Vertical); - sep.set_sensitive(false); - sep.set_can_focus(false); - - list.add(&sep); - sep.show() }); list.set_vexpand(false);