[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29723] trunk/blender/release/scripts/ui/ space_userpref.py: more generic sorting of theme items by type ( was adding all non color items last)

Campbell Barton ideasman42 at gmail.com
Sun Jun 27 00:23:55 CEST 2010


Revision: 29723
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29723
Author:   campbellbarton
Date:     2010-06-27 00:23:54 +0200 (Sun, 27 Jun 2010)

Log Message:
-----------
more generic sorting of theme items by type (was adding all non color items last)

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_userpref.py

Modified: trunk/blender/release/scripts/ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/ui/space_userpref.py	2010-06-26 21:40:11 UTC (rev 29722)
+++ trunk/blender/release/scripts/ui/space_userpref.py	2010-06-26 22:23:54 UTC (rev 29723)
@@ -495,34 +495,30 @@
 
         row = split.row()
 
-        subsplit = row.split(percentage=0.95) 
-        
-        padding = subsplit.split(percentage=0.15)
-        colsub1 = padding.column()
-        colsub1 = padding.column()
-        
+        subsplit = row.split(percentage=0.95)
+
+        padding1 = subsplit.split(percentage=0.15)
+        padding1.column()
+
         subsplit = row.split(percentage=0.85) 
-        
-        padding = subsplit.split(percentage=0.15)
-        colsub2 = padding.column()
-        colsub2 = padding.column()
 
-        props_color = []
-        props_other = []
+        padding2 = subsplit.split(percentage=0.15)
+        padding2.column()
 
+        colsub_pair = padding1.column(), padding2.column()
+
+        props_type = {}
+
         for i, prop in enumerate(themedata.rna_type.properties):
             attr = prop.identifier
             if attr == "rna_type":
                 continue
 
-            if prop.subtype == 'COLOR':
-                props_color.append(prop.identifier)
-            else:
-                props_other.append(prop.identifier)
+            props_type.setdefault((prop.type, prop.subtype), []).append(prop.identifier)
 
-        for props_ls in props_color, props_other:
+        for props_type, props_ls in sorted(props_type.items()):
             for i, attr in enumerate(props_ls):
-                (colsub2 if i % 2 else colsub1).row().prop(themedata, attr)
+                colsub_pair[i % 2].row().prop(themedata, attr)
 
     def poll(self, context):
         userpref = context.user_preferences





More information about the Bf-blender-cvs mailing list