[meld] preferences: Don't store translated column IDs (bgo#731428)
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] preferences: Don't store translated column IDs (bgo#731428)
- Date: Sat, 14 Jun 2014 20:51:22 +0000 (UTC)
commit 0ae01f384b9117345e84feb3f5057292d1fd7eb8
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sat Jun 14 07:10:17 2014 +1000
preferences: Don't store translated column IDs (bgo#731428)
data/ui/EditableList.ui | 6 ++++--
meld/preferences.py | 26 +++++++++++++++++---------
2 files changed, 21 insertions(+), 11 deletions(-)
---
diff --git a/data/ui/EditableList.ui b/data/ui/EditableList.ui
index 0bd158c..b80829a 100644
--- a/data/ui/EditableList.ui
+++ b/data/ui/EditableList.ui
@@ -6,7 +6,9 @@
<columns>
<!-- column-name Active -->
<column type="gboolean"/>
- <!-- column-name Name -->
+ <!-- column-name ID -->
+ <column type="gchararray"/>
+ <!-- column-name Label -->
<column type="gchararray"/>
</columns>
<signal name="row-inserted" handler="_update_sensitivity" swapped="no"/>
@@ -59,7 +61,7 @@
<child>
<object class="GtkCellRendererText" id="cr_name"/>
<attributes>
- <attribute name="text">1</attribute>
+ <attribute name="text">2</attribute>
</attributes>
</child>
</object>
diff --git a/meld/preferences.py b/meld/preferences.py
index acb192a..f3ead6d 100644
--- a/meld/preferences.py
+++ b/meld/preferences.py
@@ -78,11 +78,11 @@ class FilterList(ListWidget):
class ColumnList(ListWidget):
- available_columns = set((
- "size",
- "modification time",
- "permissions",
- ))
+ available_columns = {
+ "size": _("Size"),
+ "modification time": _("Modification time"),
+ "permissions": _("Permissions"),
+ }
def __init__(self, key):
ListWidget.__init__(self, "EditableList.ui",
@@ -92,10 +92,18 @@ class ColumnList(ListWidget):
# Unwrap the variant
prefs_columns = [(k, v) for k, v in settings.get_value(self.key)]
- missing = self.available_columns - set([c[0] for c in prefs_columns])
- prefs_columns.extend([(m, False) for m in missing])
- for column_name, visibility in prefs_columns:
- self.model.append([visibility, _(column_name.capitalize())])
+ column_vis = {}
+ column_order = {}
+ for sort_key, (column_name, visibility) in enumerate(prefs_columns):
+ column_vis[column_name] = bool(int(visibility))
+ column_order[column_name] = sort_key
+
+ columns = [(column_vis.get(name, True), name, label) for
+ name, label in self.available_columns.items()]
+ columns = sorted(columns, key=lambda c: column_order.get(c[1], 0))
+
+ for visibility, name, label in columns:
+ self.model.append([visibility, name, label])
for signal in ('row-changed', 'row-deleted', 'row-inserted',
'rows-reordered'):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]