diff options
Diffstat (limited to 'release/scripts/startup/bl_ui')
27 files changed, 200 insertions, 163 deletions
diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py index 84bae18dd6f..43c01822b58 100644 --- a/release/scripts/startup/bl_ui/properties_animviz.py +++ b/release/scripts/startup/bl_ui/properties_animviz.py @@ -37,7 +37,7 @@ class MotionPathButtonsPanel: mps = avs.motion_path # Display Range - layout.prop(mps, "type", expand=True) + layout.row().prop(mps, "type", expand=True) split = layout.split() @@ -120,7 +120,7 @@ class OnionSkinButtonsPanel: arm = context.armature - layout.prop(arm, "ghost_type", expand=True) + layout.row().prop(arm, "ghost_type", expand=True) split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py index 00892d5f85b..9b61101778f 100644 --- a/release/scripts/startup/bl_ui/properties_constraint.py +++ b/release/scripts/startup/bl_ui/properties_constraint.py @@ -886,10 +886,10 @@ class ConstraintButtonsPanel: box.template_cache_file(con, "cache_file") cache_file = con.cache_file - + layout.label(text="Constraint Properties:") box = layout.box() - + if cache_file is not None: box.prop_search(con, "object_path", cache_file, "object_paths") diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index a2ecf984eb5..ae52ab916f1 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -57,7 +57,7 @@ class DATA_PT_skeleton(ArmatureButtonsPanel, Panel): arm = context.armature - layout.prop(arm, "pose_position", expand=True) + layout.row().prop(arm, "pose_position", expand=True) col = layout.column() col.label(text="Layers:") @@ -80,7 +80,7 @@ class DATA_PT_display(ArmatureButtonsPanel, Panel): ob = context.object arm = context.armature - layout.prop(arm, "draw_type", expand=True) + layout.row().prop(arm, "draw_type", expand=True) split = layout.split() @@ -178,6 +178,10 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, Panel): layout.template_ID(ob, "pose_library", new="poselib.new", unlink="poselib.unlink") if poselib: + # warning about poselib being in an invalid state + if len(poselib.fcurves) > 0 and len(poselib.pose_markers) == 0: + layout.label(icon='ERROR', text="Error: Potentially corrupt library, run 'Sanitize' operator to fix") + # list of poses in pose library row = layout.row() row.template_list("UI_UL_list", "pose_markers", poselib, "pose_markers", @@ -215,7 +219,7 @@ class DATA_PT_ghost(ArmatureButtonsPanel, Panel): arm = context.armature - layout.prop(arm, "ghost_type", expand=True) + layout.row().prop(arm, "ghost_type", expand=True) split = layout.split() @@ -252,11 +256,11 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel): layout.prop(ob.pose, "ik_solver") if itasc: - layout.prop(itasc, "mode", expand=True) + layout.row().prop(itasc, "mode", expand=True) simulation = (itasc.mode == 'SIMULATION') if simulation: layout.label(text="Reiteration:") - layout.prop(itasc, "reiteration_method", expand=True) + layout.row().prop(itasc, "reiteration_method", expand=True) row = layout.row() row.active = not simulation or itasc.reiteration_method != 'NEVER' diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py index 101062095c4..14286045704 100644 --- a/release/scripts/startup/bl_ui/properties_data_camera.py +++ b/release/scripts/startup/bl_ui/properties_data_camera.py @@ -79,7 +79,7 @@ class DATA_PT_lens(CameraButtonsPanel, Panel): cam = context.camera - layout.prop(cam, "type", expand=True) + layout.row().prop(cam, "type", expand=True) split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index c3c37b61457..522f488226e 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -376,10 +376,10 @@ class DATA_PT_paragraph(CurveButtonsPanelText, Panel): text = context.curve layout.label(text="Horizontal Alignment:") - layout.prop(text, "align_x", expand=True) + layout.row().prop(text, "align_x", expand=True) layout.label(text="Vertical Alignment:") - layout.prop(text, "align_y", expand=True) + layout.row().prop(text, "align_y", expand=True) split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py index f913ef51381..98aa31ac915 100644 --- a/release/scripts/startup/bl_ui/properties_data_lamp.py +++ b/release/scripts/startup/bl_ui/properties_data_lamp.py @@ -83,7 +83,7 @@ class DATA_PT_lamp(DataButtonsPanel, Panel): lamp = context.lamp - layout.prop(lamp, "type", expand=True) + layout.row().prop(lamp, "type", expand=True) split = layout.split() @@ -210,7 +210,7 @@ class DATA_PT_shadow(DataButtonsPanel, Panel): lamp = context.lamp - layout.prop(lamp, "shadow_method", expand=True) + layout.row().prop(lamp, "shadow_method", expand=True) if lamp.shadow_method == 'NOSHADOW' and lamp.type == 'AREA': split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py index a621dc7210f..dd62c4523b1 100644 --- a/release/scripts/startup/bl_ui/properties_data_metaball.py +++ b/release/scripts/startup/bl_ui/properties_data_metaball.py @@ -70,7 +70,7 @@ class DATA_PT_metaball(DataButtonsPanel, Panel): col.prop(mball, "threshold", text="Threshold") layout.label(text="Update:") - layout.prop(mball, "update_method", expand=True) + layout.row().prop(mball, "update_method", expand=True) class DATA_PT_mball_texture_space(DataButtonsPanel, Panel): diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index a37d61dd0af..d72855fab6b 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -969,11 +969,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): layout.separator() col = layout.column() - col.active = md.target is not None if md.is_bound: col.operator("object.surfacedeform_bind", text="Unbind") else: + col.active = md.target is not None col.operator("object.surfacedeform_bind", text="Bind") def UV_PROJECT(self, layout, ob, md): diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 46b34373aa5..636a9707ab9 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -343,7 +343,7 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, Panel): stereo_mode = gs.stereo # stereo options: - layout.prop(gs, "stereo", expand=True) + layout.row().prop(gs, "stereo", expand=True) # stereo: if stereo_mode == 'STEREO': @@ -392,7 +392,7 @@ class RENDER_PT_game_shading(RenderButtonsPanel, Panel): gs = context.scene.game_settings - layout.prop(gs, "material_mode", expand=True) + layout.row().prop(gs, "material_mode", expand=True) if gs.material_mode == 'GLSL': split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 42e8d5272b3..52835a00796 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -233,7 +233,7 @@ class GreasePencilStrokeEditPanel: if is_3d_view: layout.separator() - + layout.separator() col = layout.column(align=True) @@ -884,9 +884,9 @@ class GreasePencilDataPanel: # Owner Selector if context.space_data.type == 'VIEW_3D': - layout.prop(context.tool_settings, "grease_pencil_source", expand=True) + layout.row().prop(context.tool_settings, "grease_pencil_source", expand=True) elif context.space_data.type == 'CLIP_EDITOR': - layout.prop(context.space_data, "grease_pencil_source", expand=True) + layout.row().prop(context.space_data, "grease_pencil_source", expand=True) # Grease Pencil data selector layout.template_ID(gpd_owner, "grease_pencil", new="gpencil.data_add", unlink="gpencil.data_unlink") @@ -963,7 +963,7 @@ class GreasePencilDataPanel: row.prop(gpl, "line_change", text="Thickness Change", slider=True) row.operator("gpencil.stroke_apply_thickness", icon='STYLUS_PRESSURE', text="") - # Parenting + # Parenting if context.space_data.type == 'VIEW_3D': col = split.column(align=True) col.label(text="Parent:") diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index 06ae1847d06..73740df37e8 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -124,9 +124,10 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel): ob = context.object slot = context.material_slot space = context.space_data - is_sortable = (len(ob.material_slots) > 1) if ob: + is_sortable = (len(ob.material_slots) > 1) + rows = 1 if is_sortable: rows = 4 @@ -170,7 +171,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel): split.separator() if mat: - layout.prop(mat, "type", expand=True) + layout.row().prop(mat, "type", expand=True) if mat.use_nodes: row = layout.row() row.label(text="", icon='NODETREE') @@ -991,7 +992,7 @@ class MATERIAL_PT_volume_transp(VolumeButtonsPanel, Panel): mat = context.material # don't use node material - layout.prop(mat, "transparency_method", expand=True) + layout.row().prop(mat, "transparency_method", expand=True) class MATERIAL_PT_volume_integration(VolumeButtonsPanel, Panel): diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py index d7e18f81232..43c8300b558 100644 --- a/release/scripts/startup/bl_ui/properties_object.py +++ b/release/scripts/startup/bl_ui/properties_object.py @@ -294,7 +294,7 @@ class OBJECT_PT_duplication(ObjectButtonsPanel, Panel): ob = context.object - layout.prop(ob, "dupli_type", expand=True) + layout.row().prop(ob, "dupli_type", expand=True) if ob.dupli_type == 'FRAMES': split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index 2c27c68ed9d..23e7c0a6787 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -284,7 +284,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, Panel): col.prop(part, "lifetime_random", slider=True) layout.label(text="Emit From:") - layout.prop(part, "emit_from", expand=True) + layout.row().prop(part, "emit_from", expand=True) row = layout.row() if part.emit_from == 'VERT': @@ -297,7 +297,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, Panel): row.prop(part, "use_even_distribution") if part.emit_from == 'FACE' or part.emit_from == 'VOLUME': - layout.prop(part, "distribution", expand=True) + layout.row().prop(part, "distribution", expand=True) row = layout.row() if part.distribution == 'JIT': @@ -312,7 +312,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, Panel): class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel): - bl_label = "Hair dynamics" + bl_label = "Hair Dynamics" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -578,7 +578,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): layout.enabled = particle_panel_enabled(context, psys) - layout.prop(part, "physics_type", expand=True) + layout.row().prop(part, "physics_type", expand=True) row = layout.row() col = row.column(align=True) @@ -785,7 +785,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): sub.prop(key, "object", text="") sub.prop(key, "system", text="System") - layout.prop(key, "alliance", expand=True) + layout.row().prop(key, "alliance", expand=True) elif part.physics_type == 'FLUID': sub = row.row() # doesn't work yet @@ -933,7 +933,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, Panel): col.prop(part, "show_unborn") col.prop(part, "use_dead") - layout.prop(part, "render_type", expand=True) + layout.row().prop(part, "render_type", expand=True) split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py index c813350be08..cf1d4f38038 100644 --- a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py +++ b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py @@ -68,7 +68,7 @@ class PHYSICS_PT_dynamic_paint(PhysicButtonsPanel, Panel): md = context.dynamic_paint - layout.prop(md, "ui_type", expand=True) + layout.row().prop(md, "ui_type", expand=True) if md.ui_type == 'CANVAS': canvas = md.canvas_settings @@ -363,7 +363,7 @@ class PHYSICS_PT_dp_effects(PhysicButtonsPanel, Panel): canvas = context.dynamic_paint.canvas_settings surface = canvas.canvas_surfaces.active - layout.prop(surface, "effect_ui", expand=True) + layout.row().prop(surface, "effect_ui", expand=True) if surface.effect_ui == 'SPREAD': layout.prop(surface, "use_spread") diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py index 2b12fcf982d..3fd47f0b8ca 100644 --- a/release/scripts/startup/bl_ui/properties_physics_field.py +++ b/release/scripts/startup/bl_ui/properties_physics_field.py @@ -128,7 +128,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, Panel): if field.type not in {'NONE', 'GUIDE'}: layout.label(text="Falloff:") - layout.prop(field, "falloff_type", expand=True) + layout.row().prop(field, "falloff_type", expand=True) basic_force_field_falloff_ui(self, context, field) diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py index f2e6c1e22e3..4f0d3680834 100644 --- a/release/scripts/startup/bl_ui/properties_physics_smoke.py +++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py @@ -52,7 +52,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, Panel): md = context.smoke ob = context.object - layout.prop(md, "smoke_type", expand=True) + layout.row().prop(md, "smoke_type", expand=True) if md.smoke_type == 'DOMAIN': domain = md.domain_settings @@ -322,14 +322,14 @@ class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, Panel): if cache_file_format == 'POINTCACHE': layout.label(text="Compression:") - layout.prop(domain, "point_cache_compress_type", expand=True) + layout.row().prop(domain, "point_cache_compress_type", expand=True) elif cache_file_format == 'OPENVDB': if not bpy.app.build_options.openvdb: layout.label("Built without OpenVDB support") return layout.label(text="Compression:") - layout.prop(domain, "openvdb_cache_compress_type", expand=True) + layout.row().prop(domain, "openvdb_cache_compress_type", expand=True) row = layout.row() row.label("Data Depth:") row.prop(domain, "data_depth", expand=True, text="Data Depth") diff --git a/release/scripts/startup/bl_ui/properties_physics_softbody.py b/release/scripts/startup/bl_ui/properties_physics_softbody.py index 5960428e4ae..5ce4302891d 100644 --- a/release/scripts/startup/bl_ui/properties_physics_softbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py @@ -191,7 +191,7 @@ class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, Panel): layout.active = softbody.use_self_collision and softbody_panel_enabled(md) layout.label(text="Collision Ball Size Calculation:") - layout.prop(softbody, "collision_type", expand=True) + layout.row().prop(softbody, "collision_type", expand=True) col = layout.column(align=True) col.label(text="Ball:") diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index d05527b7ef6..880684997bf 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -165,7 +165,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel): pin_id = None if not space.use_pin_id: - layout.prop(space, "texture_context", expand=True) + layout.row().prop(space, "texture_context", expand=True) pin_id = None if space.texture_context == 'OTHER': @@ -318,9 +318,9 @@ class TEXTURE_PT_clouds(TextureTypePanel, Panel): tex = context.texture - layout.prop(tex, "cloud_type", expand=True) + layout.row().prop(tex, "cloud_type", expand=True) layout.label(text="Noise:") - layout.prop(tex, "noise_type", text="Type", expand=True) + layout.row().prop(tex, "noise_type", text="Type", expand=True) layout.prop(tex, "noise_basis", text="Basis") split = layout.split() @@ -342,8 +342,8 @@ class TEXTURE_PT_wood(TextureTypePanel, Panel): tex = context.texture - layout.prop(tex, "noise_basis_2", expand=True) - layout.prop(tex, "wood_type", expand=True) + layout.row().prop(tex, "noise_basis_2", expand=True) + layout.row().prop(tex, "wood_type", expand=True) col = layout.column() col.active = tex.wood_type in {'RINGNOISE', 'BANDNOISE'} @@ -371,10 +371,10 @@ class TEXTURE_PT_marble(TextureTypePanel, Panel): tex = context.texture - layout.prop(tex, "marble_type", expand=True) - layout.prop(tex, "noise_basis_2", expand=True) + layout.row().prop(tex, "marble_type", expand=True) + layout.row().prop(tex, "noise_basis_2", expand=True) layout.label(text="Noise:") - layout.prop(tex, "noise_type", text="Type", expand=True) + layout.row().prop(tex, "noise_type", text="Type", expand=True) layout.prop(tex, "noise_basis", text="Basis") split = layout.split() @@ -431,9 +431,9 @@ class TEXTURE_PT_stucci(TextureTypePanel, Panel): tex = context.texture - layout.prop(tex, "stucci_type", expand=True) + layout.row().prop(tex, "stucci_type", expand=True) layout.label(text="Noise:") - layout.prop(tex, "noise_type", text="Type", expand=True) + layout.row().prop(tex, "noise_type", text="Type", expand=True) layout.prop(tex, "noise_basis", text="Basis") row = layout.row() @@ -808,7 +808,7 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel, Panel): tex = context.texture pd = tex.point_density - layout.prop(pd, "point_source", expand=True) + layout.row().prop(pd, "point_source", expand=True) split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py index 6aa39580d34..107c31567b3 100644 --- a/release/scripts/startup/bl_ui/properties_world.py +++ b/release/scripts/startup/bl_ui/properties_world.py @@ -175,7 +175,7 @@ class WORLD_PT_gather(WorldButtonsPanel, Panel): layout.active = light.use_ambient_occlusion or light.use_environment_light or light.use_indirect_light - layout.prop(light, "gather_method", expand=True) + layout.row().prop(light, "gather_method", expand=True) split = layout.split() diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index 3f05620fcf6..43679727992 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -1238,7 +1238,6 @@ class CLIP_MT_view(Menu): layout.prop(sc, "show_seconds") layout.prop(sc, "show_locked_time") - layout.separator() layout.separator() layout.operator("screen.area_dupli") diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index c748e71a0a2..f070161f3da 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -617,7 +617,6 @@ class IMAGE_PT_game_properties(Panel): ima = sima.image split = layout.split() - col = split.column() col.prop(ima, "use_animation") sub = col.column(align=True) @@ -626,17 +625,21 @@ class IMAGE_PT_game_properties(Panel): sub.prop(ima, "frame_end", text="End") sub.prop(ima, "fps", text="Speed") + col = split.column() col.prop(ima, "use_tiles") sub = col.column(align=True) sub.active = ima.use_tiles or ima.use_animation sub.prop(ima, "tiles_x", text="X") sub.prop(ima, "tiles_y", text="Y") + split = layout.split() col = split.column() col.label(text="Clamp:") col.prop(ima, "use_clamp_x", text="X") col.prop(ima, "use_clamp_y", text="Y") - col.separator() + + col = split.column() + col.label(text="Mapping:") col.prop(ima, "mapping", expand=True) diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index b939d34e154..b37b3c5705a 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -428,7 +428,6 @@ class NODE_PT_quality(bpy.types.Panel): col.prop(tree, "use_groupnode_buffer") col.prop(tree, "use_two_pass") col.prop(tree, "use_viewer_border") - col.prop(snode, "show_highlight") class NODE_UL_interface_sockets(bpy.types.UIList): diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 01da3b48f7d..79bb10cefeb 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -36,26 +36,35 @@ def act_strip(context): def draw_color_balance(layout, color_balance): - col = layout.column() + box = layout.box() + split = box.split(percentage=0.35) + col = split.column(align=True) col.label(text="Lift:") - col.template_color_picker(color_balance, "lift", value_slider=True, cubic=True) - row = col.row() - row.prop(color_balance, "lift", text="") - row.prop(color_balance, "invert_lift", text="Inverse") - - col = layout.column() + col.separator() + col.separator() + col.prop(color_balance, "lift", text="") + col.prop(color_balance, "invert_lift", text="Invert", icon="ARROW_LEFTRIGHT") + split.template_color_picker(color_balance, "lift", value_slider=True, cubic=True) + + box = layout.box() + split = box.split(percentage=0.35) + col = split.column(align=True) col.label(text="Gamma:") - col.template_color_picker(color_balance, "gamma", value_slider=True, lock_luminosity=True, cubic=True) - row = col.row() - row.prop(color_balance, "gamma", text="") - row.prop(color_balance, "invert_gamma", text="Inverse") - - col = layout.column() + col.separator() + col.separator() + col.prop(color_balance, "gamma", text="") + col.prop(color_balance, "invert_gamma", text="Invert", icon="ARROW_LEFTRIGHT") + split.template_color_picker(color_balance, "gamma", value_slider=True, lock_luminosity=True, cubic=True) + + box = layout.box() + split = box.split(percentage=0.35) + col = split.column(align=True) col.label(text="Gain:") - col.template_color_picker(color_balance, "gain", value_slider=True, lock_luminosity=True, cubic=True) - row = col.row() - row.prop(color_balance, "gain", text="") - row.prop(color_balance, "invert_gain", text="Inverse") + col.separator() + col.separator() + col.prop(color_balance, "gain", text="") + col.prop(color_balance, "invert_gain", text="Invert", icon="ARROW_LEFTRIGHT") + split.template_color_picker(color_balance, "gain", value_slider=True, lock_luminosity=True, cubic=True) class SEQUENCER_HT_header(Header): @@ -331,19 +340,19 @@ class SEQUENCER_MT_add(Menu): layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.scene_strip_add", text="Scene...") else: - layout.operator_menu_enum("sequencer.scene_strip_add", "scene", text="Scene...") + layout.operator_menu_enum("sequencer.scene_strip_add", "scene", text="Scene") if len(bpy.data.movieclips) > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.movieclip_strip_add", text="Clips...") else: - layout.operator_menu_enum("sequencer.movieclip_strip_add", "clip", text="Clip...") + layout.operator_menu_enum("sequencer.movieclip_strip_add", "clip", text="Clip") if len(bpy.data.masks) > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.mask_strip_add", text="Masks...") else: - layout.operator_menu_enum("sequencer.mask_strip_add", "mask", text="Mask...") + layout.operator_menu_enum("sequencer.mask_strip_add", "mask", text="Mask") layout.operator("sequencer.movie_strip_add", text="Movie") layout.operator("sequencer.image_strip_add", text="Image") @@ -353,7 +362,7 @@ class SEQUENCER_MT_add(Menu): class SEQUENCER_MT_add_effect(Menu): - bl_label = "Effect Strip..." + bl_label = "Effect Strip" def draw(self, context): layout = self.layout @@ -500,16 +509,16 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel): frame_current = scene.frame_current strip = act_strip(context) - split = layout.split(percentage=0.3) + split = layout.split(percentage=0.25) split.label(text="Name:") split.prop(strip, "name", text="") - split = layout.split(percentage=0.3) + split = layout.split(percentage=0.25) split.label(text="Type:") split.prop(strip, "type", text="") if strip.type != 'SOUND': - split = layout.split(percentage=0.3) + split = layout.split(percentage=0.25) split.label(text="Blend:") split.prop(strip, "blend_type", text="") @@ -518,16 +527,22 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel): sub.active = (not strip.mute) sub.prop(strip, "blend_alpha", text="Opacity", slider=True) row.prop(strip, "mute", toggle=True, icon_only=True) - row.prop(strip, "lock", toggle=True, icon_only=True) + else: - row = layout.row(align=True) - row.prop(strip, "mute", toggle=True, icon_only=True) - row.prop(strip, "lock", toggle=True, icon_only=True) + row = layout.row() + row.prop(strip, "mute", toggle=True, icon_only=True, icon='MUTE_IPO_OFF') - col = layout.column() - sub = col.column() + + col = layout.column(align=True) + row = col.row(align=True) + + row_sub = row.row(align=True) + row_sub.enabled = not strip.lock + row_sub.prop(strip, "channel") + row.prop(strip, "lock", toggle=True, icon_only=True) + + sub = col.column(align=True) sub.enabled = not strip.lock - sub.prop(strip, "channel") sub.prop(strip, "frame_start") sub.prop(strip, "frame_final_duration") @@ -552,8 +567,6 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel): if elem and elem.orig_width > 0 and elem.orig_height > 0: col.label(text=iface_("Original Dimension: %dx%d") % (elem.orig_width, elem.orig_height), translate=False) - else: - col.label(text="Original Dimension: None") class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): @@ -629,8 +642,9 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): col.prop(strip, "translation_unit") col = layout.column(align=True) col.label(text="Position:") - col.prop(strip, "translate_start_x", text="X") - col.prop(strip, "translate_start_y", text="Y") + row = col.row(align=True) + row.prop(strip, "translate_start_x", text="X") + row.prop(strip, "translate_start_y", text="Y") layout.separator() @@ -642,8 +656,9 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): else: col = layout.column(align=True) col.label(text="Scale:") - col.prop(strip, "scale_start_x", text="X") - col.prop(strip, "scale_start_y", text="Y") + row = col.row(align=True) + row.prop(strip, "scale_start_x", text="X") + row.prop(strip, "scale_start_y", text="Y") layout.separator() @@ -701,7 +716,9 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): col.prop(strip, "align_x") col.prop(strip, "align_y") - col.prop(strip, "location") + col.label("Location") + row = col.row(align=True) + row.prop(strip, "location", text="") col.prop(strip, "wrap_width") layout.operator("sequencer.export_subtitles") @@ -713,8 +730,9 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): if not strip.use_default_fade: col.prop(strip, "effect_fader", text="Effect fader") elif strip.type == 'GAUSSIAN_BLUR': - col.prop(strip, "size_x") - col.prop(strip, "size_y") + row = col.row(align=True) + row.prop(strip, "size_x") + row.prop(strip, "size_y") class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): @@ -758,45 +776,53 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): split.label(text="File:") split.prop(elem, "filename", text="") # strip.elements[0] could be a fallback - layout.prop(strip.colorspace_settings, "name") - layout.prop(strip, "alpha_mode") + split = layout.split(percentage=0.4) + split.label(text="Color Space:") + split.prop(strip.colorspace_settings, "name", text="") - layout.operator("sequencer.change_path").filter_image = True + split = layout.split(percentage=0.4) + split.label(text="Alpha:") + split.prop(strip, "alpha_mode", text="") + + layout.operator("sequencer.change_path", icon="FILESEL").filter_image = True elif seq_type == 'MOVIE': split = layout.split(percentage=0.2) split.label(text="Path:") split.prop(strip, "filepath", text="") - layout.prop(strip.colorspace_settings, "name") + split = layout.split(percentage=0.4) + split.label(text="Color Space:") + split.prop(strip.colorspace_settings, "name", text="") layout.prop(strip, "mpeg_preseek") layout.prop(strip, "stream_index") layout.prop(strip, "use_translation", text="Image Offset") if strip.use_translation: - col = layout.column(align=True) - col.prop(strip.transform, "offset_x", text="X") - col.prop(strip.transform, "offset_y", text="Y") + row = layout.row(align=True) + row.prop(strip.transform, "offset_x", text="X") + row.prop(strip.transform, "offset_y", text="Y") layout.prop(strip, "use_crop", text="Image Crop") if strip.use_crop: col = layout.column(align=True) col.prop(strip.crop, "max_y") - col.prop(strip.crop, "min_x") + row = col.row(align=True) + row.prop(strip.crop, "min_x") + row.prop(strip.crop, "max_x") col.prop(strip.crop, "min_y") - col.prop(strip.crop, "max_x") if not isinstance(strip, bpy.types.EffectSequence): - col = layout.column(align=True) - col.label(text="Trim Duration (hard):") - col.prop(strip, "animation_offset_start", text="Start") - col.prop(strip, "animation_offset_end", text="End") + layout.label(text="Trim Duration (hard):") + row = layout.row(align=True) + row.prop(strip, "animation_offset_start", text="Start") + row.prop(strip, "animation_offset_end", text="End") - col = layout.column(align=True) - col.label(text="Trim Duration (soft):") - col.prop(strip, "frame_offset_start", text="Start") - col.prop(strip, "frame_offset_end", text="End") + layout.label(text="Trim Duration (soft):") + row = layout.row(align=True) + row.prop(strip, "frame_offset_start", text="Start") + row.prop(strip, "frame_offset_end", text="End") if scene.render.use_multiview and seq_type in {'IMAGE', 'MOVIE'}: layout.prop(strip, "use_multiview") @@ -851,19 +877,22 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel, Panel): if st.waveform_draw_type == 'DEFAULT_WAVEFORMS': layout.prop(strip, "show_waveform") - layout.prop(strip, "volume") - layout.prop(strip, "pitch") - layout.prop(strip, "pan") + col = layout.column(align=True) + col.prop(strip, "volume") + col.prop(strip, "pitch") + col.prop(strip, "pan") col = layout.column(align=True) col.label(text="Trim Duration (hard):") - col.prop(strip, "animation_offset_start", text="Start") - col.prop(strip, "animation_offset_end", text="End") + row = layout.row(align=True) + row.prop(strip, "animation_offset_start", text="Start") + row.prop(strip, "animation_offset_end", text="End") col = layout.column(align=True) col.label(text="Trim Duration (soft):") - col.prop(strip, "frame_offset_start", text="Start") - col.prop(strip, "frame_offset_end", text="End") + row = layout.row(align=True) + row.prop(strip, "frame_offset_start", text="Start") + row.prop(strip, "frame_offset_end", text="End") class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel): @@ -980,22 +1009,20 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, Panel): col.label(text="Distortion:") col.prop(strip, "undistort") - split = layout.split(percentage=0.65) - + split = layout.split(percentage=0.6) col = split.column() - col.prop(strip, "use_reverse_frames", text="Backwards") + col.prop(strip, "use_reverse_frames", text="Reverse") col.prop(strip, "use_deinterlace") col = split.column() - col.label(text="Flip:") - col.prop(strip, "use_flip_x", text="X") - col.prop(strip, "use_flip_y", text="Y") + col.prop(strip, "use_flip_x", text="X Flip") + col.prop(strip, "use_flip_y", text="Y Flip") - col = layout.column() - col.label(text="Colors:") + layout.label("Color:") + col = layout.column(align=True) col.prop(strip, "color_saturation", text="Saturation") col.prop(strip, "color_multiply", text="Multiply") - col.prop(strip, "use_float") + layout.prop(strip, "use_float", text="Convert to Float") class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): @@ -1029,9 +1056,9 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): proxy = strip.proxy flow = layout.column_flow() - flow.prop(sequencer, "proxy_storage") + flow.prop(sequencer, "proxy_storage", text='Storage') if sequencer.proxy_storage == 'PROJECT': - flow.prop(sequencer, "proxy_dir") + flow.prop(sequencer, "proxy_dir", text='Directory') else: flow.prop(proxy, "use_proxy_custom_directory") flow.prop(proxy, "use_proxy_custom_file") @@ -1050,8 +1077,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): layout.prop(proxy, "use_overwrite") col = layout.column() - col.label(text="Build JPEG quality") - col.prop(proxy, "quality") + col.prop(proxy, "quality", text="Build JPEG quality") if strip.type == 'MOVIE': col = layout.column() diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index b9a25cd72a0..9930992e9bb 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -250,7 +250,7 @@ def marker_menu_generic(layout): layout.operator_context = 'INVOKE_DEFAULT' layout.operator("marker.make_links_scene", text="Duplicate Marker to Scene...", icon='OUTLINER_OB_EMPTY') else: - layout.operator_menu_enum("marker.make_links_scene", "scene", text="Duplicate Marker to Scene...") + layout.operator_menu_enum("marker.make_links_scene", "scene", text="Duplicate Marker to Scene") layout.operator("marker.delete", text="Delete Marker") diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 5ed481a215a..03a40085172 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -80,7 +80,7 @@ class USERPREF_PT_tabs(Panel): userpref = context.user_preferences - layout.prop(userpref, "active_section", expand=True) + layout.row().prop(userpref, "active_section", expand=True) class USERPREF_MT_interaction_presets(Menu): @@ -127,7 +127,7 @@ class USERPREF_MT_app_templates(Menu): text=bpy.path.display_name(d), ) props.use_splash = True - props.app_template = d; + props.app_template = d if use_install: layout.separator() @@ -560,7 +560,7 @@ class USERPREF_PT_system(Panel): # 3. Column column = split.column() - column.label(text="Solid OpenGL lights:") + column.label(text="Solid OpenGL Lights:") split = column.split(percentage=0.1) split.label() diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 77649f95c38..964628a96a0 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -1255,14 +1255,14 @@ class INFO_MT_add(Menu): layout.menu("INFO_MT_lamp_add", icon='OUTLINER_OB_LAMP') layout.separator() - layout.operator_menu_enum("object.effector_add", "type", text="Force Field", icon='OUTLINER_OB_EMPTY') + layout.operator_menu_enum("object.effector_add", "type", text="Force Field", icon='OUTLINER_OB_FORCE_FIELD') layout.separator() if len(bpy.data.groups) > 10: layout.operator_context = 'INVOKE_REGION_WIN' - layout.operator("object.group_instance_add", text="Group Instance...", icon='OUTLINER_OB_EMPTY') + layout.operator("object.group_instance_add", text="Group Instance...", icon='OUTLINER_OB_GROUP_INSTANCE') else: - layout.operator_menu_enum("object.group_instance_add", "group", text="Group Instance", icon='OUTLINER_OB_EMPTY') + layout.operator_menu_enum("object.group_instance_add", "group", text="Group Instance", icon='OUTLINER_OB_GROUP_INSTANCE') # ********** Object menu ********** @@ -1663,7 +1663,7 @@ class VIEW3D_MT_make_links(Menu): layout.operator("object.make_links_scene", text="Objects to Scene...", icon='OUTLINER_OB_EMPTY') else: layout.operator_context = 'EXEC_REGION_WIN' - layout.operator_menu_enum("object.make_links_scene", "scene", text="Objects to Scene...") + layout.operator_menu_enum("object.make_links_scene", "scene", text="Objects to Scene") layout.operator_context = operator_context_default layout.operator_enum("object.make_links_data", "type") # inline @@ -1699,7 +1699,7 @@ class VIEW3D_MT_brush(Menu): layout = self.layout settings = UnifiedPaintPanel.paint_settings(context) - brush = settings.brush + brush = getattr(settings, "brush", None) ups = context.tool_settings.unified_paint_settings layout.prop(ups, "use_unified_size", text="Unified Size") @@ -1708,6 +1708,11 @@ class VIEW3D_MT_brush(Menu): layout.prop(ups, "use_unified_color", text="Unified Color") layout.separator() + # skip if no active brush + if not brush: + layout.label(text="No Brushes currently available", icon="INFO") + return + # brush paint modes layout.menu("VIEW3D_MT_brush_paint_modes") @@ -1720,10 +1725,6 @@ class VIEW3D_MT_brush(Menu): elif context.vertex_paint_object or context.weight_paint_object: layout.prop_menu_enum(brush, "vertex_tool") - # skip if no active brush - if not brush: - return - # TODO: still missing a lot of brush options here # sculpt options @@ -3545,7 +3546,7 @@ class VIEW3D_PT_view3d_meshstatvis(Panel): row = layout.row(align=True) row.prop(statvis, "overhang_min", text="") row.prop(statvis, "overhang_max", text="") - layout.prop(statvis, "overhang_axis", expand=True) + layout.row().prop(statvis, "overhang_axis", expand=True) elif statvis_type == 'THICKNESS': row = layout.row(align=True) row.prop(statvis, "thickness_min", text="") diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 8d5f0863426..480c8ad96f3 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -923,16 +923,18 @@ class VIEW3D_PT_imapaint_tools_missing(Panel, View3DPaintPanel): col.separator() col.label("Missing Canvas", icon='INFO') col.label("Add or assign a canvas image below") - col.label("Canvas Image") - col.template_ID(toolsettings, "canvas") + col.label("Canvas Image:") + # todo this should be combinded into a single row + col.template_ID(toolsettings, "canvas", open="image.open") col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS' if toolsettings.missing_stencil: col.separator() col.label("Missing Stencil", icon='INFO') col.label("Add or assign a stencil image below") - col.label("Stencil Image") - col.template_ID(toolsettings, "stencil_image") + col.label("Stencil Image:") + # todo this should be combinded into a single row + col.template_ID(toolsettings, "stencil_image", open="image.open") col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL' @@ -974,9 +976,9 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel): col.prop(brush, "steps", slider=True) col.prop(settings, "default_key_count", slider=True) elif tool == 'LENGTH': - layout.prop(brush, "length_mode", expand=True) + layout.row().prop(brush, "length_mode", expand=True) elif tool == 'PUFF': - layout.prop(brush, "puff_mode", expand=True) + layout.row().prop(brush, "puff_mode", expand=True) layout.prop(brush, "use_puff_volume") # Sculpt Mode # @@ -1207,20 +1209,20 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel): ob = context.active_object col = layout.column() - col.label("Painting Mode") + col.label("Painting Mode:") col.prop(settings, "mode", text="") col.separator() if settings.mode == 'MATERIAL': if len(ob.material_slots) > 1: - col.label("Materials") + col.label("Materials:") col.template_list("MATERIAL_UL_matslots", "layers", ob, "material_slots", ob, "active_material_index", rows=2) mat = ob.active_material if mat: - col.label("Available Paint Slots") + col.label("Available Paint Slots:") col.template_list("TEXTURE_UL_texpaintslots", "", mat, "texture_paint_images", mat, "paint_active_slot", rows=2) @@ -1240,16 +1242,17 @@ class VIEW3D_PT_slots_projectpaint(View3DPanel, Panel): col.separator() if slot and slot.index != -1: - col.label("UV Map") + col.label("UV Map:") col.prop_search(slot, "uv_layer", ob.data, "uv_textures", text="") elif settings.mode == 'IMAGE': mesh = ob.data uv_text = mesh.uv_textures.active.name if mesh.uv_textures.active else "" - col.label("Canvas Image") - col.template_ID(settings, "canvas") + col.label("Canvas Image:") + # todo this should be combinded into a single row + col.template_ID(settings, "canvas", open="image.open") col.operator("image.new", text="New").gen_context = 'PAINT_CANVAS' - col.label("UV Map") + col.label("UV Map:") col.menu("VIEW3D_MT_tools_projectpaint_uvlayer", text=uv_text, translate=False) col.separator() @@ -1283,14 +1286,15 @@ class VIEW3D_PT_stencil_projectpaint(View3DPanel, Panel): col.active = ipaint.use_stencil_layer stencil_text = mesh.uv_texture_stencil.name if mesh.uv_texture_stencil else "" - col.label("UV Map") + col.label("UV Map:") col.menu("VIEW3D_MT_tools_projectpaint_stencil", text=stencil_text, translate=False) - col.label("Stencil Image") - col.template_ID(ipaint, "stencil_image") + col.label("Stencil Image:") + # todo this should be combinded into a single row + col.template_ID(ipaint, "stencil_image", open="image.open") col.operator("image.new", text="New").gen_context = 'PAINT_STENCIL' - col.label("Visualization") + col.label("Visualization:") row = col.row(align=True) row.prop(ipaint, "stencil_color", text="") row.prop(ipaint, "invert_stencil", text="", icon='IMAGE_ALPHA') |