[Bf-blender-cvs] [acecadf16a4] blender2.8: UI: Particles improvements

Pablo Vazquez noreply at git.blender.org
Wed Oct 31 18:39:05 CET 2018


Commit: acecadf16a4e16b5eb5f43eb26b19a6d18619c10
Author: Pablo Vazquez
Date:   Wed Oct 31 18:38:53 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBacecadf16a4e16b5eb5f43eb26b19a6d18619c10

UI: Particles improvements

* Icons in specials menu (Copy and the new Duplicate icon)
* Remove redundant "Settings" label next to ID template widget.
* Remove "Type" label and expand dropdown, since it only has 2 options (emitter/hair), saves 1 click.
* Move "Seed" to and "Hair Segments" to Emission panel
* Rename "Duplicate Particle Systems" to "Duplicate Particle System", since it
only duplicates one (the active one) at a time.

===================================================================

M	release/scripts/startup/bl_ui/properties_particle.py
M	source/blender/editors/physics/particle_object.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 68b7c5c7187..ffd32c5da64 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -72,7 +72,7 @@ class PARTICLE_MT_specials(Menu):
     def draw(self, context):
         layout = self.layout
 
-        props = layout.operator("particle.copy_particle_systems", text="Copy Active to Selected Objects")
+        props = layout.operator("particle.copy_particle_systems", text="Copy Active to Selected Objects", icon="COPYDOWN")
         props.use_active = True
         props.remove_target_particles = False
 
@@ -80,7 +80,9 @@ class PARTICLE_MT_specials(Menu):
         props.use_active = False
         props.remove_target_particles = True
 
-        layout.operator("particle.duplicate_particle_system")
+        layout.separator()
+
+        layout.operator("particle.duplicate_particle_system", icon="DUPLICATE")
 
 
 class PARTICLE_PT_hair_dynamics_presets(PresetMenu):
@@ -160,11 +162,14 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
             row = layout.row()
 
             row.template_list("PARTICLE_UL_particle_systems", "particle_systems", ob, "particle_systems",
-                              ob.particle_systems, "active_index", rows=2)
+                              ob.particle_systems, "active_index", rows=3)
 
             col = row.column(align=True)
             col.operator("object.particle_system_add", icon='ADD', text="")
             col.operator("object.particle_system_remove", icon='REMOVE', text="")
+
+            col.separator()
+
             col.menu("PARTICLE_MT_specials", icon='DOWNARROW_HLT', text="")
 
         if psys is None:
@@ -184,23 +189,12 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
             layout.prop(part, "type", text="Type")
 
         elif not psys.settings:
-            split = layout.split(factor=0.32)
-
-            col = split.column()
-            col.label(text="Settings:")
-
-            col = split.column()
             col.template_ID(psys, "settings", new="particle.new")
         else:
             part = psys.settings
 
-            split = layout.split(factor=0.32)
-            col = split.column()
-            if part.is_fluid is False:
-                col.label(text="Settings:")
-                col.label(text="Type:")
+            col = layout.column()
 
-            col = split.column()
             if part.is_fluid is False:
                 row = col.row()
                 row.enabled = particle_panel_enabled(context, psys)
@@ -210,13 +204,12 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
                 layout.label(text=iface_("%d fluid particles for this frame") % part.count, translate=False)
                 return
 
-            row = col.row()
+            row = layout.row()
             row.enabled = particle_panel_enabled(context, psys)
-            row.prop(part, "type", text="")
-            row.prop(psys, "seed")
+            row.prop(part, "type", expand=True)
 
         if part:
-            split = layout.split(factor=0.65)
+            split = layout.split()
             if part.type == 'HAIR':
                 if psys is not None and psys.is_edited:
                     split.operator("particle.edited_clear", text="Free Edit")
@@ -225,9 +218,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
                     row.enabled = particle_panel_enabled(context, psys)
                     row.prop(part, "regrow_hair")
                     row.prop(part, "use_advanced_hair")
-                row = split.row()
-                row.enabled = particle_panel_enabled(context, psys)
-                row.prop(part, "hair_step")
+
                 if psys is not None and psys.is_edited:
                     if psys.is_global_hair:
                         row = layout.row(align=True)
@@ -273,11 +264,13 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
         col = layout.column()
         col.active = part.emit_from == 'VERT' or part.distribution != 'GRID'
         col.prop(part, "count")
+        col.prop(psys, "seed")
 
         if part.type == 'HAIR':
             col.prop(part, "hair_length")
+            col.prop(part, "hair_step")
+
             if not part.use_advanced_hair:
-                layout.row()  # is this needed?
                 col.prop(part, "use_modifier_stack")
                 return
 
diff --git a/source/blender/editors/physics/particle_object.c b/source/blender/editors/physics/particle_object.c
index fa272ffe34d..228bf2c648f 100644
--- a/source/blender/editors/physics/particle_object.c
+++ b/source/blender/editors/physics/particle_object.c
@@ -1268,7 +1268,7 @@ static int duplicate_particle_systems_exec(bContext *C, wmOperator *op)
 
 void PARTICLE_OT_duplicate_particle_system(wmOperatorType *ot)
 {
-	ot->name = "Duplicate Particle Systems";
+	ot->name = "Duplicate Particle System";
 	ot->description = "Duplicate particle system within the active object";
 	ot->idname = "PARTICLE_OT_duplicate_particle_system";
 
@@ -1279,5 +1279,5 @@ void PARTICLE_OT_duplicate_particle_system(wmOperatorType *ot)
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
 
 	RNA_def_boolean(ot->srna, "use_duplicate_settings", false, "Duplicate Settings",
-	                "Duplicate settings as well, so new particle system uses own settings");
+	                "Duplicate settings as well, so the new particle system uses its own settings");
 }



More information about the Bf-blender-cvs mailing list