[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56300] trunk/blender: Fix [#34545] Render layer name is unwantedly translated in composite node editor

Bastien Montagne montagne29 at wanadoo.fr
Thu Apr 25 19:40:09 CEST 2013


Revision: 56300
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56300
Author:   mont29
Date:     2013-04-25 17:40:08 +0000 (Thu, 25 Apr 2013)
Log Message:
-----------
Fix [#34545] Render layer name is unwantedly translated in composite node editor

Some enums' items actually are generated from data (like the render layers of compo nodes), so they should not be translated. Added a PROP_ENUM_NO_TRANSLATE new RNA flag to tag those enums (only found those for nodes, but may be more of them around).

Also fix similar issue in main list of render layers (Py UI code! :P ).

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/properties_render_layer.py
    trunk/blender/source/blender/makesrna/RNA_types.h
    trunk/blender/source/blender/makesrna/intern/rna_access.c
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_render_layer.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_render_layer.py	2013-04-25 16:35:57 UTC (rev 56299)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_render_layer.py	2013-04-25 17:40:08 UTC (rev 56300)
@@ -38,7 +38,7 @@
         # assert(isinstance(item, bpy.types.SceneRenderLayer)
         layer = item
         if self.layout_type in {'DEFAULT', 'COMPACT'}:
-            layout.label(layer.name, icon_value=icon)
+            layout.label(layer.name, icon_value=icon, translate=False)
             layout.prop(layer, "use", text="", index=index)
         elif self.layout_type in {'GRID'}:
             layout.alignment = 'CENTER'

Modified: trunk/blender/source/blender/makesrna/RNA_types.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_types.h	2013-04-25 16:35:57 UTC (rev 56299)
+++ trunk/blender/source/blender/makesrna/RNA_types.h	2013-04-25 17:40:08 UTC (rev 56300)
@@ -146,7 +146,7 @@
 } PropertySubType;
 
 /* Make sure enums are updated with thses */
-/* HIGHEST FLAG IN USE: 1 << 28 */
+/* HIGHEST FLAG IN USE: 1 << 29 */
 typedef enum PropertyFlag {
 	/* editable means the property is editable in the user
 	 * interface, properties are editable by default except
@@ -226,7 +226,8 @@
 	PROP_RAW_ARRAY = (1 << 14),
 	PROP_FREE_POINTERS = (1 << 15),
 	PROP_DYNAMIC = (1 << 17), /* for dynamic arrays, and retvals of type string */
-	PROP_ENUM_NO_CONTEXT = (1 << 24) /* for enum that shouldn't be contextual */
+	PROP_ENUM_NO_CONTEXT = (1 << 24), /* for enum that shouldn't be contextual */
+	PROP_ENUM_NO_TRANSLATE = (1 << 29), /* for enums that shouldn't be translated (e.g. renderlayers' names in nodes) */
 } PropertyFlag;
 
 typedef struct CollectionPropertyIterator {

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2013-04-25 16:35:57 UTC (rev 56299)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2013-04-25 17:40:08 UTC (rev 56300)
@@ -1256,7 +1256,7 @@
 	RNA_property_enum_items(C, ptr, prop, item, totitem, free);
 
 #ifdef WITH_INTERNATIONAL
-	{
+	if (!(prop->flag & PROP_ENUM_NO_TRANSLATE)) {
 		int i;
 		/* Note: Only do those tests once, and then use BLF_pgettext. */
 		int do_iface = BLF_translate_iface();

Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2013-04-25 16:35:57 UTC (rev 56299)
+++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2013-04-25 17:40:08 UTC (rev 56300)
@@ -3715,6 +3715,7 @@
 	RNA_def_property_enum_sdna(prop, NULL, "layer");
 	RNA_def_property_enum_items(prop, prop_image_layer_items);
 	RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_Node_image_layer_itemf");
+	RNA_def_property_flag(prop, PROP_ENUM_NO_TRANSLATE);
 	RNA_def_property_ui_text(prop, "Layer", "");
 	RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_image_layer_update");
 }
@@ -3769,6 +3770,7 @@
 	RNA_def_property_enum_sdna(prop, NULL, "custom1");
 	RNA_def_property_enum_items(prop, prop_scene_layer_items);
 	RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_Node_scene_layer_itemf");
+	RNA_def_property_flag(prop, PROP_ENUM_NO_TRANSLATE);
 	RNA_def_property_ui_text(prop, "Layer", "");
 	RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
 }




More information about the Bf-blender-cvs mailing list