[meld] Move property handling to settings.py
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] Move property handling to settings.py
- Date: Thu, 9 Oct 2014 21:08:06 +0000 (UTC)
commit 411f5a031b026f84f32da1bc164da9f7fc3705d3
Author: Mark Pariente <markpariente gmail com>
Date: Wed Oct 8 10:43:29 2014 -0700
Move property handling to settings.py
As requested by Kai, removed style-scheme property handling from
filediff.py and moved it to meld.settings. Now meld.buffer just listens
to the changed signal of meld.settings and just changes scheme as a
response. Also moved scheme lookup to meld.settings.
meld/filediff.py | 3 ---
meld/meldbuffer.py | 12 ++++++------
meld/settings.py | 9 ++++++++-
3 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index 05ba6b6..162c509 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -852,9 +852,6 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
def on_setting_changed(self, settings, key):
if key == 'font':
self.load_font()
- elif key == 'style-scheme':
- for i in range(3):
- self.textview[i].get_buffer().change_style_scheme(meldsettings.style_scheme)
def check_save_modified(self, label=None):
response = Gtk.ResponseType.OK
diff --git a/meld/meldbuffer.py b/meld/meldbuffer.py
index d3fe665..7599eee 100644
--- a/meld/meldbuffer.py
+++ b/meld/meldbuffer.py
@@ -24,7 +24,7 @@ from gi.repository import GObject
from gi.repository import GtkSource
from meld.conf import _
-from meld.settings import bind_settings,settings
+from meld.settings import bind_settings,meldsettings
from meld.util.compat import text_type
@@ -41,12 +41,12 @@ class MeldBuffer(GtkSource.Buffer):
bind_settings(self)
self.data = MeldBufferData(filename)
self.user_action_count = 0
- self.change_style_scheme(settings.get_string('style-scheme'))
+ meldsettings.connect('changed', self.on_setting_changed)
+ GtkSource.Buffer.set_style_scheme(self, meldsettings.style_scheme)
- def change_style_scheme(self, scheme):
- manager = GtkSource.StyleSchemeManager.get_default()
- style = GtkSource.StyleSchemeManager.get_scheme(manager, scheme)
- GtkSource.Buffer.set_style_scheme(self, style)
+ def on_setting_changed(self, meldsettings, key):
+ if key == 'style-scheme':
+ GtkSource.Buffer.set_style_scheme(self, meldsettings.style_scheme)
def do_begin_user_action(self, *args):
self.user_action_count += 1
diff --git a/meld/settings.py b/meld/settings.py
index d147e31..c651bca 100644
--- a/meld/settings.py
+++ b/meld/settings.py
@@ -19,6 +19,7 @@ from gi.repository import Gio
from gi.repository import GLib
from gi.repository import GObject
from gi.repository import Pango
+from gi.repository import GtkSource
import meld.conf
import meld.filters
@@ -41,6 +42,7 @@ class MeldSettings(GObject.GObject):
self.on_setting_changed(settings, 'filename-filters')
self.on_setting_changed(settings, 'text-filters')
self.on_setting_changed(settings, 'use-system-font')
+ self.style_scheme = self._style_scheme_from_gsettings()
settings.connect('changed', self.on_setting_changed)
def on_setting_changed(self, settings, key):
@@ -56,9 +58,14 @@ class MeldSettings(GObject.GObject):
self.font = self._current_font_from_gsetting()
self.emit('changed', 'font')
elif key in ('style-scheme'):
- self.style_scheme = settings.get_string('style-scheme')
+ self.style_scheme = self._style_scheme_from_gsettings()
self.emit('changed', 'style-scheme')
+ def _style_scheme_from_gsettings(self):
+ manager = GtkSource.StyleSchemeManager.get_default()
+ return GtkSource.StyleSchemeManager.get_scheme(manager,
+ settings.get_string('style-scheme'))
+
def _filters_from_gsetting(self, key, filt_type):
filter_params = settings.get_value(key)
filters = [
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]