Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/startup')
-rw-r--r--release/scripts/startup/bl_operators/node.py3
-rw-r--r--release/scripts/startup/bl_ui/properties_data_armature.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_data_curve.py72
-rw-r--r--release/scripts/startup/bl_ui/properties_data_mesh.py22
-rw-r--r--release/scripts/startup/bl_ui/properties_data_modifier.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_freestyle.py6
-rw-r--r--release/scripts/startup/bl_ui/properties_game.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_mask_common.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_material.py5
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py10
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py6
-rw-r--r--release/scripts/startup/bl_ui/properties_render_layer.py18
-rw-r--r--release/scripts/startup/bl_ui/properties_scene.py6
-rw-r--r--release/scripts/startup/bl_ui/properties_texture.py5
-rw-r--r--release/scripts/startup/bl_ui/space_clip.py15
-rw-r--r--release/scripts/startup/bl_ui/space_image.py6
-rw-r--r--release/scripts/startup/bl_ui/space_info.py3
-rw-r--r--release/scripts/startup/bl_ui/space_node.py3
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py32
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py2
-rw-r--r--release/scripts/startup/bl_ui/space_view3d_toolbar.py19
-rw-r--r--release/scripts/startup/nodeitems_builtins.py3
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=[