[meld] meldbuffer, sourceview: Move buffer style scheme handling to sourceview
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] meldbuffer, sourceview: Move buffer style scheme handling to sourceview
- Date: Fri, 5 Jul 2019 01:24:52 +0000 (UTC)
commit 4cd9779a6d312d2eb8ab9b1baebb4bec7ed6fd15
Author: Kai Willadsen <kai willadsen gmail com>
Date: Fri Jul 5 10:00:29 2019 +1000
meldbuffer, sourceview: Move buffer style scheme handling to sourceview
While this kind of feels like moving it to the wrong place, it's
actually sensible because it's the only sane way to control when we
access the MeldSettings object. With `MeldSourceView` we do this by
delaying until realize(), but `MeldBuffer` is a simple GObject and so
doesn't have the same life-cycle.
meld/meldbuffer.py | 8 +-------
meld/sourceview.py | 8 ++++++--
2 files changed, 7 insertions(+), 9 deletions(-)
---
diff --git a/meld/meldbuffer.py b/meld/meldbuffer.py
index fdec5180..33dfb861 100644
--- a/meld/meldbuffer.py
+++ b/meld/meldbuffer.py
@@ -22,7 +22,7 @@ from gi.repository import GObject
from gi.repository import GtkSource
from meld.conf import _
-from meld.settings import bind_settings, meldsettings
+from meld.settings import bind_settings
log = logging.getLogger(__name__)
@@ -40,12 +40,6 @@ class MeldBuffer(GtkSource.Buffer):
bind_settings(self)
self.data = MeldBufferData()
self.undo_sequence = None
- meldsettings.connect('changed', self.on_setting_changed)
- self.set_style_scheme(meldsettings.style_scheme)
-
- def on_setting_changed(self, meldsettings, key):
- if key == 'style-scheme':
- self.set_style_scheme(meldsettings.style_scheme)
def do_begin_user_action(self, *args):
if self.undo_sequence:
diff --git a/meld/sourceview.py b/meld/sourceview.py
index 52cb7c11..54641d6a 100644
--- a/meld/sourceview.py
+++ b/meld/sourceview.py
@@ -238,10 +238,13 @@ class MeldSourceView(GtkSource.View, SourceViewHelperMixin):
"meld:syncpoint-outline", "foreground")
self.fill_colors, self.line_colors = get_common_theme()
- tag = self.get_buffer().get_tag_table().lookup("inline")
+ buf = self.get_buffer()
+ buf.set_style_scheme(settings.style_scheme)
+
+ tag = buf.get_tag_table().lookup("inline")
tag.props.background_rgba = colour_lookup_with_fallback(
"meld:inline", "background")
- tag = self.get_buffer().get_tag_table().lookup("dimmed")
+ tag = buf.get_tag_table().lookup("dimmed")
tag.props.foreground_rgba = colour_lookup_with_fallback(
"meld:dimmed", "foreground")
@@ -289,6 +292,7 @@ class MeldSourceView(GtkSource.View, SourceViewHelperMixin):
self.on_setting_changed(meld_settings, 'font')
self.on_setting_changed(meld_settings, 'style-scheme')
+ self.get_buffer().set_style_scheme(meld_settings.style_scheme)
meld_settings.connect('changed', self.on_setting_changed)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]