[ui] add custom style and [fix] draw List separators with css

This commit is contained in:
Julian Sparber 2017-12-22 21:54:28 +01:00
parent 7aebb4d50d
commit 95c290df50
5 changed files with 12 additions and 18 deletions

View File

@ -0,0 +1,7 @@
row {
border-bottom: solid 1px rgba(0,0,0, 0.1);
}
row:last-child {
border-bottom: none;
}

View File

@ -9,5 +9,6 @@
<file preprocess="xml-stripblanks">gtk/shows_view.ui</file>
<file preprocess="xml-stripblanks">gtk/shows_child.ui</file>
<file preprocess="xml-stripblanks">gtk/headerbar.ui</file>
<file compressed="true">gtk/style.css</file>
</gresource>
</gresources>

View File

@ -64,6 +64,10 @@ fn build_ui(app: &gtk::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);

View File

@ -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() {

View File

@ -305,13 +305,6 @@ pub fn episodes_listbox(pd: &Podcast) -> Result<gtk::ListBox> {
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);