|
46 | 46 | from .ui import gnomeglade |
47 | 47 |
|
48 | 48 | from meld.const import MODE_REPLACE, MODE_DELETE, MODE_INSERT |
49 | | -from meld.settings import meldsettings, settings |
| 49 | +from meld.settings import bind_settings, meldsettings, settings |
50 | 50 | from .util.compat import text_type |
51 | 51 | from meld.sourceview import LanguageManager |
52 | 52 |
|
@@ -141,6 +141,11 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component): |
141 | 141 |
|
142 | 142 | __gtype_name__ = "FileDiff" |
143 | 143 |
|
| 144 | + __gsettings_bindings__ = ( |
| 145 | + ('highlight-current-line', 'highlight-current-line'), |
| 146 | + ('ignore-blank-lines', 'ignore-blank-lines'), |
| 147 | + ) |
| 148 | + |
144 | 149 | highlight_current_line = GObject.property(type=bool, default=False) |
145 | 150 | ignore_blank_lines = GObject.property( |
146 | 151 | type=bool, |
@@ -171,6 +176,8 @@ def __init__(self, num_panes): |
171 | 176 | """ |
172 | 177 | melddoc.MeldDoc.__init__(self) |
173 | 178 | gnomeglade.Component.__init__(self, "filediff.ui", "filediff") |
| 179 | + bind_settings(self) |
| 180 | + |
174 | 181 | widget_lists = [ |
175 | 182 | "diffmap", "file_save_button", "file_toolbar", "fileentry", |
176 | 183 | "linkmap", "msgarea_mgr", "readonlytoggle", |
@@ -362,29 +369,6 @@ def __init__(self, num_panes): |
362 | 369 | gutter = t.get_gutter(window) |
363 | 370 | gutter.insert(renderer, 10) |
364 | 371 |
|
365 | | - # GSettings bindings |
366 | | - for view in self.textview: |
367 | | - settings.bind('indent-width', view, 'indent-width', |
368 | | - Gio.SettingsBindFlags.DEFAULT) |
369 | | - settings.bind('insert-spaces-instead-of-tabs', view, |
370 | | - 'insert-spaces-instead-of-tabs', |
371 | | - Gio.SettingsBindFlags.DEFAULT) |
372 | | - settings.bind('show-line-numbers', view, 'show-line-numbers', |
373 | | - Gio.SettingsBindFlags.DEFAULT) |
374 | | - settings.bind('draw-spaces', view, 'draw-spaces', |
375 | | - Gio.SettingsBindFlags.DEFAULT) |
376 | | - settings.bind('wrap-mode', view, 'wrap-mode', |
377 | | - Gio.SettingsBindFlags.DEFAULT) |
378 | | - |
379 | | - for buf in self.textbuffer: |
380 | | - settings.bind('highlight-syntax', buf, 'highlight-syntax', |
381 | | - Gio.SettingsBindFlags.DEFAULT) |
382 | | - |
383 | | - settings.bind('highlight-current-line', self, 'highlight-current-line', |
384 | | - Gio.SettingsBindFlags.DEFAULT) |
385 | | - settings.bind('ignore-blank-lines', self, 'ignore-blank-lines', |
386 | | - Gio.SettingsBindFlags.DEFAULT) |
387 | | - |
388 | 372 | self.connect("notify::ignore-blank-lines", self.refresh_comparison) |
389 | 373 |
|
390 | 374 | meldsettings.connect('changed', self.on_setting_changed) |
|
0 commit comments