[meld] preferences: Update syntax scheme preference to use combo helper
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] preferences: Update syntax scheme preference to use combo helper
- Date: Thu, 9 Oct 2014 21:07:55 +0000 (UTC)
commit 255a8da307b9d68415e71744ff178ba1ff82b69b
Author: Kai Willadsen <kai willadsen gmail com>
Date: Wed Oct 8 05:50:58 2014 +1000
preferences: Update syntax scheme preference to use combo helper
data/ui/preferences.ui | 18 +++++++++++++++++-
meld/preferences.py | 30 ++++++++++--------------------
2 files changed, 27 insertions(+), 21 deletions(-)
---
diff --git a/data/ui/preferences.ui b/data/ui/preferences.ui
index 8452ab0..b246af7 100644
--- a/data/ui/preferences.ui
+++ b/data/ui/preferences.ui
@@ -15,6 +15,14 @@
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
+ <object class="GtkListStore" id="syntaxschemestore">
+ <columns>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
<object class="GtkListStore" id="fileorderstore">
<columns>
<!-- column-name id -->
@@ -494,9 +502,17 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="combobox_style_scheme">
+ <object class="GSettingsStringComboBox" id="combobox_style_scheme">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="model">syntaxschemestore</property>
+ <property name="gsettings-column">0</property>
+ <child>
+ <object class="GtkCellRendererText" id="syntax_scheme_renderer"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
</object>
<packing>
<property name="expand">True</property>
diff --git a/meld/preferences.py b/meld/preferences.py
index 16c7f42..1c0cd1a 100644
--- a/meld/preferences.py
+++ b/meld/preferences.py
@@ -145,8 +145,11 @@ class GSettingsComboBox(Gtk.ComboBox):
self.set_property('active', idx)
def _active_changed(self, obj, val):
+ active_iter = self.get_active_iter()
+ if active_iter is None:
+ return
column = self.get_property('gsettings-column')
- value = self.get_model()[self.get_active_iter()][column]
+ value = self.get_model()[active_iter][column]
self.set_property('gsettings-value', value)
@@ -181,7 +184,8 @@ class PreferencesDialog(Component):
["adjustment1", "adjustment2", "fileorderstore",
"sizegroup_editor", "timestampstore",
"mergeorderstore", "sizegroup_file_order_labels",
- "sizegroup_file_order_combos"])
+ "sizegroup_file_order_combos",
+ 'syntaxschemestore'])
self.widget.set_transient_for(parent)
bindings = [
@@ -241,28 +245,14 @@ class PreferencesDialog(Component):
self.combo_merge_order.bind_to('vc-merge-file-order')
# Fill color schemes
- liststore = Gtk.ListStore(str)
manager = GtkSource.StyleSchemeManager.get_default()
- scheme_ids = GtkSource.StyleSchemeManager.get_scheme_ids(manager)
- for scheme in scheme_ids:
- liststore.append([scheme])
- self.combobox_style_scheme.set_model(liststore)
- cell = Gtk.CellRendererText()
- self.combobox_style_scheme.pack_start(cell, True)
- self.combobox_style_scheme.add_attribute(cell, 'text',0)
-
- style_scheme = settings.get_string('style-scheme')
- for idx,scheme in enumerate(scheme_ids):
- if scheme == style_scheme:
- self.combobox_style_scheme.set_active(idx)
-
- self.combobox_style_scheme.connect("changed", self.on_combobox_style_scheme_changed)
+ for scheme_id in manager.get_scheme_ids():
+ scheme = manager.get_scheme(scheme_id)
+ self.syntaxschemestore.append([scheme_id, scheme.get_name()])
+ self.combobox_style_scheme.bind_to('style-scheme')
self.widget.show()
- def on_combobox_style_scheme_changed(self, combobox):
- settings.set_string('style-scheme', combobox.get_model()[combobox.get_active()][0])
-
def on_checkbutton_wrap_text_toggled(self, button):
if not self.checkbutton_wrap_text.get_active():
wrap_mode = Gtk.WrapMode.NONE
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]