From 2804799f61eb4c68c5cf88b9996d13a81fe6317d Mon Sep 17 00:00:00 2001 From: Marvin W Date: Mon, 13 Mar 2017 15:34:17 +0100 Subject: Reduce GTK dependency to 3.16, fix dark theme --- main/src/ui/conversation_summary/view.vala | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'main/src/ui/conversation_summary/view.vala') diff --git a/main/src/ui/conversation_summary/view.vala b/main/src/ui/conversation_summary/view.vala index d2599041..87c553c5 100644 --- a/main/src/ui/conversation_summary/view.vala +++ b/main/src/ui/conversation_summary/view.vala @@ -27,7 +27,6 @@ public class View : Box { bool reloading = false; public View(StreamInteractor stream_interactor) { - Object(homogeneous : false, spacing : 0); this.stream_interactor = stream_interactor; scrolled.vadjustment.notify["upper"].connect_after(on_upper_notify); scrolled.vadjustment.notify["value"].connect(on_value_notify); @@ -50,6 +49,23 @@ public class View : Box { } return true; }); + + update_background_color(); + this.style_updated.connect(style_changed); + } + + private void update_background_color() { + TextView tmp = new TextView(); + this.override_background_color(0, tmp.get_style_context().get_background_color(0)); + main.override_background_color(0, tmp.get_style_context().get_background_color(0)); + } + + private void style_changed() { + lock (main) { + this.style_updated.disconnect(style_changed); + update_background_color(); + this.style_updated.connect(style_changed); + } } public void initialize_for_conversation(Conversation? conversation) { @@ -129,7 +145,7 @@ public class View : Box { if (was_upper == null || scrolled.vadjustment.value > was_upper - was_page_size - 1 || scrolled.vadjustment.value > was_upper - was_page_size - 1) { // scrolled down or content smaller than page size scrolled.vadjustment.value = scrolled.vadjustment.upper - scrolled.vadjustment.page_size; // scroll down - } else if (scrolled.vadjustment.value < scrolled.vadjustment.upper - scrolled.vadjustment.page_size - 1){ + } else if (scrolled.vadjustment.value < scrolled.vadjustment.upper - scrolled.vadjustment.page_size - 1) { scrolled.vadjustment.value = scrolled.vadjustment.upper - was_upper + scrolled.vadjustment.value; // stay at same content } was_upper = scrolled.vadjustment.upper; -- cgit v1.2.3-54-g00ecf