[gtk+] Handle translated combobox models better



commit 7f6a534d0fe10854c862fcecf81ddbb4b64afe55
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun May 3 22:50:27 2009 -0400

    Handle translated combobox models better
    
    Make gtk-builder-convert keep translated combobox models translated.
    Fixes bug 553385.
---
 gtk/gtk-builder-convert |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert
index c6b3657..a641b33 100755
--- a/gtk/gtk-builder-convert
+++ b/gtk/gtk-builder-convert
@@ -546,6 +546,14 @@ class GtkBuilderConverter(object):
         if not prop.childNodes:
             parent.removeChild(prop)
             return
+
+        translatable_attr = prop.attributes.get('translatable')
+        translatable = translatable_attr is not None and translatable_attr.value == 'yes'
+        has_context_attr = prop.attributes.get('context')
+        has_context = has_context_attr is not None and has_context_attr.value == 'yes'
+        comments_attr = prop.attributes.get('comments')
+        comments = comments_attr is not None and comments_attr.value or None
+
         value = prop.childNodes[0].data
         model = self._create_root_object("GtkListStore",
                                          template="model")
@@ -568,7 +576,15 @@ class GtkBuilderConverter(object):
 
             col = self._dom.createElement('col')
             col.setAttribute('id', '0')
-            col.setAttribute('translatable', 'yes')
+            if translatable:
+                col.setAttribute('translatable', 'yes')
+            if has_context:
+                splitting = item.split('|', 1)
+                if len(splitting) == 2:
+                    context, item = splitting
+                    col.setAttribute('context', context)
+            if comments is not None:
+                col.setAttribute('comments', comments)
             col.appendChild(self._dom.createTextNode(item))
             row.appendChild(col)
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]