diff options
Diffstat (limited to 'release/scripts/startup')
22 files changed, 127 insertions, 120 deletions
diff --git a/release/scripts/startup/bl_operators/node.py b/release/scripts/startup/bl_operators/node.py index 0814d0144ab..13189b2e9d3 100644 --- a/release/scripts/startup/bl_operators/node.py +++ b/release/scripts/startup/bl_operators/node.py @@ -97,9 +97,6 @@ class NodeAddOperator(): print(str(e)) # Continue despite invalid attribute - if space.use_hidden_preview: - node.show_preview = False - node.select = True tree.nodes.active = node node.location = space.cursor_location diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index a274453a472..f27087a48b0 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -136,10 +136,6 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel): col.operator("pose.group_move", icon='TRIA_UP', text="").direction = 'UP' col.operator("pose.group_move", icon='TRIA_DOWN', text="").direction = 'DOWN' - col = layout.column() - col.active = (ob.proxy is None) - col.prop(group, "name") - split = layout.split() split.active = (ob.proxy is None) diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index 2171ce67fd3..ea0b3d80bd1 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -21,6 +21,8 @@ import bpy from bpy.types import Panel from rna_prop_ui import PropertyPanel +from bpy.types import Curve, SurfaceCurve, TextCurve + class CurveButtonsPanel(): bl_space_type = 'PROPERTIES' @@ -29,15 +31,25 @@ class CurveButtonsPanel(): @classmethod def poll(cls, context): - return (context.object and context.object.type in {'CURVE', 'SURFACE', 'FONT'} and context.curve) + return (context.curve is not None) class CurveButtonsPanelCurve(CurveButtonsPanel): - """Same as above but for curves only""" + @classmethod + def poll(cls, context): + return (type(context.curve) is Curve) + + +class CurveButtonsPanelSurface(CurveButtonsPanel): + @classmethod + def poll(cls, context): + return (type(context.curve) is SurfaceCurve) + +class CurveButtonsPanelText(CurveButtonsPanel): @classmethod def poll(cls, context): - return (context.object and context.object.type == 'CURVE' and context.curve) + return (type(context.curve) is TextCurve) class CurveButtonsPanelActive(CurveButtonsPanel): @@ -46,7 +58,7 @@ class CurveButtonsPanelActive(CurveButtonsPanel): @classmethod def poll(cls, context): curve = context.curve - return (curve and type(curve) is not bpy.types.TextCurve and curve.splines.active) + return (curve and type(curve) is not TextCurve and curve.splines.active) class DATA_PT_context_curve(CurveButtonsPanel, Panel): @@ -56,14 +68,14 @@ class DATA_PT_context_curve(CurveButtonsPanel, Panel): def draw(self, context): layout = self.layout - ob = context.object + obj = context.object curve = context.curve space = context.space_data - if ob: - layout.template_ID(ob, "data") + if obj: + layout.template_ID(obj, "data") elif curve: - layout.template_ID(space, "pin_id") # XXX: broken + layout.template_ID(space, "pin_id") class DATA_PT_shape_curve(CurveButtonsPanel, Panel): @@ -72,11 +84,10 @@ class DATA_PT_shape_curve(CurveButtonsPanel, Panel): def draw(self, context): layout = self.layout - ob = context.object curve = context.curve - is_surf = (ob.type == 'SURFACE') - is_curve = (ob.type == 'CURVE') - is_text = (ob.type == 'FONT') + is_surf = type(curve) is SurfaceCurve + is_curve = type(curve) is Curve + is_text = type(curve) is TextCurve if is_curve: row = layout.row() @@ -140,17 +151,11 @@ class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel): row.column().prop(curve, "texspace_location", text="Location") row.column().prop(curve, "texspace_size", text="Size") + layout.operator("curve.match_texture_space") -class DATA_PT_geometry_curve(CurveButtonsPanel, Panel): - bl_label = "Geometry" - @classmethod - def poll(cls, context): - obj = context.object - if obj and obj.type == 'SURFACE': - return False - - return context.curve +class DATA_PT_geometry_curve(CurveButtonsPanelSurface, Panel): + bl_label = "Geometry" def draw(self, context): layout = self.layout @@ -214,10 +219,9 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel): def draw(self, context): layout = self.layout - ob = context.object curve = context.curve act_spline = curve.splines.active - is_surf = (ob.type == 'SURFACE') + is_surf = type(curve) is SurfaceCurve is_poly = (act_spline.type == 'POLY') split = layout.split() @@ -279,13 +283,9 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel): layout.prop(act_spline, "use_smooth") -class DATA_PT_font(CurveButtonsPanel, Panel): +class DATA_PT_font(CurveButtonsPanelText, Panel): bl_label = "Font" - @classmethod - def poll(cls, context): - return (context.object and context.object.type == 'FONT' and context.curve) - def draw(self, context): layout = self.layout @@ -307,10 +307,6 @@ class DATA_PT_font(CurveButtonsPanel, Panel): #layout.prop(text, "font") - row = layout.split(percentage=0.25) - row.label(text="Body Text:") - row.prop(text, "body", text="") - split = layout.split() col = split.column() @@ -347,13 +343,9 @@ class DATA_PT_font(CurveButtonsPanel, Panel): row.prop(char, "use_small_caps") -class DATA_PT_paragraph(CurveButtonsPanel, Panel): +class DATA_PT_paragraph(CurveButtonsPanelText, Panel): bl_label = "Paragraph" - @classmethod - def poll(cls, context): - return (context.object and context.object.type == 'FONT' and context.curve) - def draw(self, context): layout = self.layout @@ -376,13 +368,9 @@ class DATA_PT_paragraph(CurveButtonsPanel, Panel): col.prop(text, "offset_y", text="Y") -class DATA_PT_text_boxes(CurveButtonsPanel, Panel): +class DATA_PT_text_boxes(CurveButtonsPanelText, Panel): bl_label = "Text Boxes" - @classmethod - def poll(cls, context): - return (context.object and context.object.type == 'FONT' and context.curve) - def draw(self, context): layout = self.layout diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index f59d479c509..edf3354db4f 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -64,7 +64,7 @@ class MESH_UL_vgroups(UIList): # assert(isinstance(item, bpy.types.VertexGroup) vgroup = item if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(text=vgroup.name, translate=False, icon_value=icon) + layout.prop(vgroup, "name", text="", emboss=False, icon_value=icon) icon = 'LOCKED' if vgroup.lock_weight else 'UNLOCKED' layout.prop(vgroup, "lock_weight", text="", icon=icon, emboss=False) elif self.layout_type in {'GRID'}: @@ -80,7 +80,7 @@ class MESH_UL_shape_keys(UIList): key_block = item if self.layout_type in {'DEFAULT', 'COMPACT'}: split = layout.split(0.66, False) - split.label(text=item.name, translate=False, icon_value=icon) + split.prop(key_block, "name", text="", emboss=False, icon_value=icon) row = split.row(align=True) if key_block.mute or (obj.mode == 'EDIT' and not (obj.use_shape_key_edit_mode and obj.type == 'MESH')): row.active = False @@ -98,7 +98,7 @@ class MESH_UL_uvmaps_vcols(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): # assert(isinstance(item, (bpy.types.MeshTexturePolyLayer, bpy.types.MeshLoopColorLayer)) if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(text=item.name, translate=False, icon_value=icon) + layout.prop(item, "name", text="", emboss=False, icon_value=icon) icon = 'RESTRICT_RENDER_OFF' if item.active_render else 'RESTRICT_RENDER_ON' layout.prop(item, "active_render", text="", icon=icon, emboss=False) elif self.layout_type in {'GRID'}: @@ -191,7 +191,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, Panel): ob = context.object group = ob.vertex_groups.active - rows = 1 + rows = 2 if group: rows = 4 @@ -207,9 +207,6 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, Panel): col.operator("object.vertex_group_move", icon='TRIA_UP', text="").direction = 'UP' col.operator("object.vertex_group_move", icon='TRIA_DOWN', text="").direction = 'DOWN' - row = layout.row() - row.prop(group, "name") - if ob.vertex_groups and (ob.mode == 'EDIT' or (ob.mode == 'WEIGHT_PAINT' and ob.type == 'MESH' and ob.data.use_paint_mask_vertex)): row = layout.row() @@ -250,7 +247,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel): row = layout.row() - rows = 1 + rows = 2 if kb: rows = 4 row.template_list("MESH_UL_shape_keys", "", key, "key_blocks", ob, "active_shape_key_index", rows=rows) @@ -290,9 +287,6 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel): else: sub.operator("object.shape_key_retime", icon='RECOVER_LAST', text="") - row = layout.row() - row.prop(kb, "name") - if key.use_relative: if ob.active_shape_key_index != 0: row = layout.row() @@ -340,9 +334,6 @@ class DATA_PT_uv_texture(MeshButtonsPanel, Panel): col.operator("mesh.uv_texture_add", icon='ZOOMIN', text="") col.operator("mesh.uv_texture_remove", icon='ZOOMOUT', text="") - if lay: - layout.prop(lay, "name") - class DATA_PT_vertex_colors(MeshButtonsPanel, Panel): bl_label = "Vertex Colors" @@ -363,9 +354,6 @@ class DATA_PT_vertex_colors(MeshButtonsPanel, Panel): col.operator("mesh.vertex_color_add", icon='ZOOMIN', text="") col.operator("mesh.vertex_color_remove", icon='ZOOMOUT', text="") - if lay: - layout.prop(lay, "name") - class DATA_PT_customdata(MeshButtonsPanel, Panel): bl_label = "Geometry Data" diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index 7e892240d44..caf71de9bb9 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -675,6 +675,8 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): col.prop(md, "use_normal_calculate") col.prop(md, "use_normal_flip") col.prop(md, "iterations") + col.prop(md, "use_stretch_u") + col.prop(md, "use_stretch_v") def SHRINKWRAP(self, layout, ob, md): split = layout.split() diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index a57567ae79e..87a08104c5d 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -97,7 +97,7 @@ class RENDERLAYER_UL_linesets(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): lineset = item if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(lineset.name, icon_value=icon) + layout.prop(lineset, "name", text="", emboss=False, icon_value=icon) layout.prop(lineset, "show_render", text="", index=index) elif self.layout_type in {'GRID'}: layout.alignment = 'CENTER' @@ -193,7 +193,7 @@ class RENDERLAYER_PT_freestyle_lineset(RenderLayerFreestyleEditorButtonsPanel, P layout.active = rl.use_freestyle row = layout.row() - rows = 4 if lineset else 1 + rows = 4 if lineset else 2 row.template_list("RENDERLAYER_UL_linesets", "", freestyle, "linesets", freestyle.linesets, "active_index", rows=rows) sub = row.column(align=True) @@ -206,8 +206,6 @@ class RENDERLAYER_PT_freestyle_lineset(RenderLayerFreestyleEditorButtonsPanel, P sub.operator("scene.freestyle_lineset_move", icon='TRIA_UP', text="").direction = 'UP' sub.operator("scene.freestyle_lineset_move", icon='TRIA_DOWN', text="").direction = 'DOWN' - layout.prop(lineset, "name") - col = layout.column() col.label(text="Selection By:") row = col.row(align=True) diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 3470c9577af..fdbe02ebd47 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -156,6 +156,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel): col = layout.column() col.prop(game, "use_actor") col.prop(game, "use_ghost") + col.prop(game, "use_record_animation") col.prop(ob, "hide_render", text="Invisible") layout.separator() diff --git a/release/scripts/startup/bl_ui/properties_mask_common.py b/release/scripts/startup/bl_ui/properties_mask_common.py index 203e5078ee4..fb7a3d8b303 100644 --- a/release/scripts/startup/bl_ui/properties_mask_common.py +++ b/release/scripts/startup/bl_ui/properties_mask_common.py @@ -31,7 +31,7 @@ class MASK_UL_layers(UIList): # assert(isinstance(item, bpy.types.MaskLayer) mask = item if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(text=mask.name, translate=False, icon_value=icon) + layout.prop(mask, "name", text="", emboss=False, icon_value=icon) row = layout.row(align=True) row.prop(mask, "hide", text="", emboss=False) row.prop(mask, "hide_select", text="", emboss=False) @@ -99,8 +99,6 @@ class MASK_PT_layers: sub.operator("mask.layer_move", icon='TRIA_UP', text="").direction = 'UP' sub.operator("mask.layer_move", icon='TRIA_DOWN', text="").direction = 'DOWN' - layout.prop(active_layer, "name") - # blending row = layout.row(align=True) row.prop(active_layer, "alpha") diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index 344074c5893..d48c4957e6e 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -77,7 +77,10 @@ class MATERIAL_UL_matslots(UIList): slot = item ma = slot.material if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(text=ma.name if ma else "", translate=False, icon_value=icon) + if ma: + layout.prop(ma, "name", text="", emboss=False, icon_value=icon) + else: + layout.label(text="", icon_value=icon) if ma and not context.scene.render.use_shading_nodes: manode = ma.active_node_material if manode: diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index f8a37e2768f..206a208eac3 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -122,33 +122,25 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel): split = layout.split(percentage=0.32) col = split.column() - col.label(text="Name:") col.label(text="Settings:") col = split.column() - col.prop(psys, "name", text="") col.template_ID(psys, "settings", new="particle.new") else: part = psys.settings split = layout.split(percentage=0.32) col = split.column() - col.label(text="Name:") if part.is_fluid is False: col.label(text="Settings:") col.label(text="Type:") col = split.column() - col.prop(psys, "name", text="") if part.is_fluid is False: row = col.row() row.enabled = particle_panel_enabled(context, psys) row.template_ID(psys, "settings", new="particle.new") - #row = layout.row() - #row.label(text="Viewport") - #row.label(text="Render") - if part.is_fluid: layout.label(text=iface_("%d fluid particles for this frame") % part.count, translate=False) return @@ -805,7 +797,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, Panel): part = particle_get_settings(context) row = layout.row() - row.prop(part, "material") + row.prop(part, "material_slot", text="") if psys: row.prop(psys, "parent") diff --git a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py index f0c7a532414..06c04f25c62 100644 --- a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py +++ b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py @@ -33,7 +33,7 @@ class PHYSICS_UL_dynapaint_surfaces(UIList): if self.layout_type in {'DEFAULT', 'COMPACT'}: row = layout.row(align=True) row.label(text="", icon_value=icon) - row.label(text=surf.name, translate=False, icon_value=sticon) + row.prop(surf, "name", text="", emboss=False, icon_value=sticon) row = layout.row(align=True) if surf.use_color_preview: row.prop(surf, "show_preview", text="", emboss=False, @@ -87,7 +87,6 @@ class PHYSICS_PT_dynamic_paint(PhysicButtonsPanel, Panel): col.operator("dpaint.surface_slot_remove", icon='ZOOMOUT', text="") if surface: - layout.prop(surface, "name") layout.prop(surface, "surface_format") col = layout.column() @@ -324,7 +323,8 @@ class PHYSICS_PT_dp_canvas_initial_color(PhysicButtonsPanel, Panel): ob = context.object layout.prop(surface, "init_color_type", expand=False) - layout.separator() + if surface.init_color_type != 'NONE': + layout.separator() # dissolve if surface.init_color_type == 'COLOR': diff --git a/release/scripts/startup/bl_ui/properties_render_layer.py b/release/scripts/startup/bl_ui/properties_render_layer.py index dcc4508f086..133b4f986aa 100644 --- a/release/scripts/startup/bl_ui/properties_render_layer.py +++ b/release/scripts/startup/bl_ui/properties_render_layer.py @@ -38,7 +38,7 @@ class RENDERLAYER_UL_renderlayers(UIList): # assert(isinstance(item, bpy.types.SceneRenderLayer) layer = item if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(layer.name, icon_value=icon, translate=False) + layout.prop(layer, "name", text="", icon_value=icon, emboss=False) layout.prop(layer, "use", text="", index=index) elif self.layout_type in {'GRID'}: layout.alignment = 'CENTER' @@ -58,17 +58,13 @@ class RENDERLAYER_PT_layers(RenderLayerButtonsPanel, Panel): row = layout.row() col = row.column() - col.template_list("RENDERLAYER_UL_renderlayers", "", rd, "layers", rd.layers, "active_index", rows=1) + col.template_list("RENDERLAYER_UL_renderlayers", "", rd, "layers", rd.layers, "active_index", rows=2) - col = row.column(align=True) - col.operator("scene.render_layer_add", icon='ZOOMIN', text="") - col.operator("scene.render_layer_remove", icon='ZOOMOUT', text="") - - row = layout.row() - rl = rd.layers.active - if rl: - row.prop(rl, "name") - row.prop(rd, "use_single_layer", text="", icon_only=True) + col = row.column() + sub = col.column(align=True) + sub.operator("scene.render_layer_add", icon='ZOOMIN', text="") + sub.operator("scene.render_layer_remove", icon='ZOOMOUT', text="") + col.prop(rd, "use_single_layer", text="", icon_only=True) class RENDERLAYER_PT_layer_options(RenderLayerButtonsPanel, Panel): diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index 91a5abd0ad0..10574c88abb 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -33,6 +33,7 @@ class SCENE_UL_keying_set_paths(UIList): kspath = item icon = layout.enum_item_icon(kspath, "id_type", kspath.id_type) if self.layout_type in {'DEFAULT', 'COMPACT'}: + # Do not make this one editable in uiList for now... layout.label(text=kspath.data_path, translate=False, icon_value=icon) elif self.layout_type in {'GRID'}: layout.alignment = 'CENTER' @@ -105,14 +106,13 @@ class SCENE_PT_keying_sets(SceneButtonsPanel, Panel): row = layout.row() col = row.column() - col.prop(ks, "bl_label") col.prop(ks, "bl_description") subcol = col.column() subcol.operator_context = 'INVOKE_DEFAULT' subcol.operator("anim.keying_set_export", text="Export to File").filepath = "keyingset.py" - col = row.column(align=True) + col = row.column() col.label(text="Keyframing Settings:") col.prop(ks, "bl_options") @@ -168,7 +168,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel): if ksp.group_method == 'NAMED': col.prop(ksp, "group") - col = row.column(align=True) + col = row.column() col.label(text="Keyframing Settings:") col.prop(ksp, "bl_options") diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index 023b3a13848..c03ea1c5422 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -63,7 +63,10 @@ class TEXTURE_UL_texslots(UIList): slot = item tex = slot.texture if slot else None if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(text=tex.name if tex else "", translate=False, icon_value=icon) + if tex: + layout.prop(tex, "name", text="", emboss=False, icon_value=icon) + else: + layout.label(text="", icon_value=icon) if tex and isinstance(item, bpy.types.MaterialTextureSlot): layout.prop(ma, "use_textures", text="", index=index) elif self.layout_type in {'GRID'}: diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index 3db8697a457..d6a63c6497b 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -29,9 +29,9 @@ class CLIP_UL_tracking_objects(UIList): # assert(isinstance(item, bpy.types.MovieTrackingObject) tobj = item if self.layout_type in {'DEFAULT', 'COMPACT'}: - layout.label(text=tobj.name, translate=False, - icon='CAMERA_DATA' if tobj.is_camera - else 'OBJECT_DATA') + layout.prop(tobj, "name", text="", emboss=False, + icon='CAMERA_DATA' if tobj.is_camera + else 'OBJECT_DATA') elif self.layout_type in {'GRID'}: layout.alignment = 'CENTER' layout.label(text="", @@ -506,10 +506,6 @@ class CLIP_PT_objects(CLIP_PT_clip_view_panel, Panel): sub.operator("clip.tracking_object_new", icon='ZOOMIN', text="") sub.operator("clip.tracking_object_remove", icon='ZOOMOUT', text="") - active = tracking.objects.active - if active: - layout.prop(active, "name") - class CLIP_PT_track(CLIP_PT_tracking_panel, Panel): bl_space_type = 'CLIP_EDITOR' @@ -596,6 +592,11 @@ class CLIP_PT_plane_track(CLIP_PT_tracking_panel, Panel): layout.prop(active_track, "name") layout.prop(active_track, "use_auto_keying") + layout.prop(active_track, "image") + + row = layout.row() + row.active = active_track.image is not None + row.prop(active_track, "image_opacity", text="Opacity") class CLIP_PT_track_settings(CLIP_PT_tracking_panel, Panel): diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index 397b74116c2..c9a79575ef0 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -19,7 +19,11 @@ # <pep8 compliant> import bpy from bpy.types import Header, Menu, Panel -from bl_ui.properties_paint_common import UnifiedPaintPanel, brush_texture_settings, brush_mask_texture_settings +from bl_ui.properties_paint_common import ( + UnifiedPaintPanel, + brush_texture_settings, + brush_mask_texture_settings, + ) from bpy.app.translations import pgettext_iface as iface_ diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index a7a648e3c44..e1f04a74ac5 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -83,6 +83,7 @@ class INFO_MT_file(Menu): bl_label = "File" def draw(self, context): + import sys layout = self.layout layout.operator_context = 'INVOKE_AREA' @@ -131,6 +132,8 @@ class INFO_MT_file(Menu): layout.separator() layout.operator_context = 'EXEC_AREA' + if sys.platform == "darwin": + layout.operator_context = 'INVOKE_SCREEN' # quit dialog layout.operator("wm.quit_blender", text="Quit", icon='QUIT') diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 46234b638eb..3bf2977d778 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -395,7 +395,6 @@ class NODE_PT_quality(bpy.types.Panel): col.prop(tree, "use_two_pass") col.prop(tree, "use_viewer_border") col.prop(snode, "show_highlight") - col.prop(snode, "use_hidden_preview") class NODE_UL_interface_sockets(bpy.types.UIList): @@ -410,7 +409,7 @@ class NODE_UL_interface_sockets(bpy.types.UIList): if not socket.is_output: row.template_node_socket(color) - row.label(text=socket.name, icon_value=icon) + row.prop(socket, "name", text="", emboss=False, icon_value=icon) # outputs get icon on the right if socket.is_output: diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index e21656c3259..acd4fc87de4 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -210,11 +210,15 @@ class USERPREF_PT_interface(Panel): col.label(text="Menus:") col.prop(view, "use_mouse_over_open") - col.label(text="Menu Open Delay:") - col.prop(view, "open_toplevel_delay", text="Top Level") - col.prop(view, "open_sublevel_delay", text="Sub Level") + sub = col.column() + sub.active = view.use_mouse_over_open + + sub.prop(view, "open_toplevel_delay", text="Top Level") + sub.prop(view, "open_sublevel_delay", text="Sub Level") col.separator() + col.separator() + col.separator() col.prop(view, "show_splash") @@ -1049,6 +1053,28 @@ class USERPREF_PT_input(Panel): col.separator() sub = col.column() + sub.label(text="View Navigation:") + sub.row().prop(inputs, "navigation_mode", expand=True) + if inputs.navigation_mode == 'WALK': + walk = inputs.walk_navigation + + sub.prop(walk, "use_mouse_reverse") + sub.prop(walk, "mouse_speed") + sub.prop(walk, "teleport_time") + + sub = col.column(align=True) + sub.prop(walk, "walk_speed") + sub.prop(walk, "walk_speed_factor") + + sub.separator() + sub.prop(walk, "use_gravity") + sub = col.column(align=True) + sub.active = walk.use_gravity + sub.prop(walk, "view_height") + sub.prop(walk, "jump_height") + + col.separator() + sub = col.column() sub.label(text="NDOF Device:") sub.prop(inputs, "ndof_sensitivity", text="NDOF Sensitivity") sub.prop(inputs, "ndof_orbit_sensitivity", text="NDOF Orbit Sensitivity") diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index d7f60e00633..296a428e1d3 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -435,6 +435,7 @@ class VIEW3D_MT_view_navigation(Menu): layout.separator() layout.operator("view3d.fly") + layout.operator("view3d.walk") class VIEW3D_MT_view_align(Menu): @@ -745,6 +746,7 @@ class VIEW3D_MT_select_edit_lattice(Menu): layout.separator() + layout.operator("lattice.select_mirror") layout.operator("lattice.select_random") layout.operator("lattice.select_all").action = 'TOGGLE' layout.operator("lattice.select_all", text="Inverse").action = 'INVERT' diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index cd3c238fe86..bdf7b8ea137 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -19,9 +19,11 @@ # <pep8 compliant> import bpy from bpy.types import Menu, Panel -from bl_ui.properties_paint_common import UnifiedPaintPanel -from bl_ui.properties_paint_common import brush_texture_settings -from bl_ui.properties_paint_common import brush_mask_texture_settings +from bl_ui.properties_paint_common import ( + UnifiedPaintPanel, + brush_texture_settings, + brush_mask_texture_settings, + ) class View3DPanel(): @@ -88,7 +90,7 @@ class VIEW3D_PT_tools_objectmode(View3DPanel, Panel): col = layout.column(align=True) col.label(text="Object:") - col.operator("object.duplicate_move") + col.operator("object.duplicate_move", text="Duplicate") col.operator("object.delete") col.operator("object.join") @@ -986,6 +988,8 @@ class VIEW3D_PT_sculpt_topology(Panel, View3DPaintPanel): toolsettings = context.tool_settings sculpt = toolsettings.sculpt + settings = self.paint_settings(context) + brush = settings.brush if context.sculpt_object.use_dynamic_topology_sculpting: layout.operator("sculpt.dynamic_topology_toggle", icon='X', text="Disable Dynamic") @@ -994,9 +998,12 @@ class VIEW3D_PT_sculpt_topology(Panel, View3DPaintPanel): col = layout.column() col.active = context.sculpt_object.use_dynamic_topology_sculpting - col.prop(sculpt, "detail_size") + sub = col.column(align=True) + sub.active = brush and brush.sculpt_tool not in ('MASK') + sub.prop(sculpt, "detail_size") + sub.prop(sculpt, "detail_refine_method", text="") + col.separator() col.prop(sculpt, "use_smooth_shading") - col.prop(sculpt, "use_edge_collapse") col.operator("sculpt.optimize") col.separator() col.prop(sculpt, "symmetrize_direction") diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py index 71ff547f6da..675d0ab8489 100644 --- a/release/scripts/startup/nodeitems_builtins.py +++ b/release/scripts/startup/nodeitems_builtins.py @@ -111,6 +111,7 @@ shader_node_categories = [ ShaderOldNodeCategory("SH_INPUT", "Input", items=[ NodeItem("ShaderNodeMaterial"), NodeItem("ShaderNodeCameraData"), + NodeItem("ShaderNodeLampData"), NodeItem("ShaderNodeValue"), NodeItem("ShaderNodeRGB"), NodeItem("ShaderNodeTexture"), @@ -141,6 +142,8 @@ shader_node_categories = [ NodeItem("ShaderNodeSqueeze"), NodeItem("ShaderNodeSeparateRGB"), NodeItem("ShaderNodeCombineRGB"), + NodeItem("ShaderNodeSeparateHSV"), + NodeItem("ShaderNodeCombineHSV"), ]), ShaderOldNodeCategory("SH_GROUP", "Group", items=node_group_items), ShaderOldNodeCategory("SH_LAYOUT", "Layout", items=[ |