diff options
author | Darshan Kadu <darsh7807@gmail.com> | 2017-09-10 15:41:40 +0300 |
---|---|---|
committer | Darshan Kadu <darsh7807@gmail.com> | 2017-09-10 15:41:40 +0300 |
commit | 6594fa1ce02809a275c9cd488fa0223d03d73571 (patch) | |
tree | 0bcd95846e1e3b09239126b40ef434ed3dc3a50d /release/scripts/startup | |
parent | f2017083a19e5c83aadc575625dce0642ffce6c5 (diff) |
merged the master branchsoc-2017-vertex_paint
Diffstat (limited to 'release/scripts/startup')
36 files changed, 251 insertions, 224 deletions
diff --git a/release/scripts/startup/bl_operators/anim.py b/release/scripts/startup/bl_operators/anim.py index 02fb05e29eb..0632f9bc3ca 100644 --- a/release/scripts/startup/bl_operators/anim.py +++ b/release/scripts/startup/bl_operators/anim.py @@ -137,6 +137,9 @@ class ANIM_OT_keying_set_export(Operator): break else: self.report({'WARN'}, "Could not find scene using Compositor Node Tree - %s" % (ksp.id)) + elif ksp.id.bl_rna.name == "Key": + # "keys" conflicts with a Python keyword, hence the simple solution won't work + id_bpy_path = "bpy.data.shape_keys[\"%s\"]" % (ksp.id.name) else: idtype_list = ksp.id.bl_rna.name.lower() + "s" id_bpy_path = "bpy.data.%s[\"%s\"]" % (idtype_list, ksp.id.name) @@ -195,7 +198,7 @@ class ANIM_OT_keying_set_export(Operator): class BakeAction(Operator): - """Bake object/pose loc/scale/rotation animation to a new action""" + """Bake all selected objects loc/scale/rotation animation to an action""" bl_idname = "nla.bake" bl_label = "Bake Action" bl_options = {'REGISTER', 'UNDO'} @@ -219,7 +222,7 @@ class BakeAction(Operator): default=1, ) only_selected = BoolProperty( - name="Only Selected", + name="Only Selected Bones", description="Only key selected bones (Pose baking only)", default=True, ) @@ -255,29 +258,27 @@ class BakeAction(Operator): ) def execute(self, context): - from bpy_extras import anim_utils - - action = None - if self.use_current_action: - obj = context.object - if obj.animation_data: - action = obj.animation_data.action - - action = anim_utils.bake_action(self.frame_start, - self.frame_end, - frame_step=self.step, - only_selected=self.only_selected, - do_pose='POSE' in self.bake_types, - do_object='OBJECT' in self.bake_types, - do_visual_keying=self.visual_keying, - do_constraint_clear=self.clear_constraints, - do_parents_clear=self.clear_parents, - do_clean=True, - action=action, - ) - - if action is None: + objects = context.selected_editable_objects + object_action_pairs = ( + [(obj, getattr(obj.animation_data, "action", None)) for obj in objects] + if self.use_current_action else + [(obj, None) for obj in objects] + ) + + actions = anim_utils.bake_action_objects( + object_action_pairs, + frames=range(self.frame_start, self.frame_end + 1, self.step), + only_selected=self.only_selected, + do_pose='POSE' in self.bake_types, + do_object='OBJECT' in self.bake_types, + do_visual_keying=self.visual_keying, + do_constraint_clear=self.clear_constraints, + do_parents_clear=self.clear_parents, + do_clean=True, + ) + + if not any(actions): self.report({'INFO'}, "Nothing to bake") return {'CANCELLED'} diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py index e52d577b900..f63b0495d02 100644 --- a/release/scripts/startup/bl_operators/clip.py +++ b/release/scripts/startup/bl_operators/clip.py @@ -210,7 +210,7 @@ class CLIP_OT_set_active_clip(bpy.types.Operator): @classmethod def poll(cls, context): space = context.space_data - return space.type == 'CLIP_EDITOR' + return space.type == 'CLIP_EDITOR' and space.clip def execute(self, context): clip = context.space_data.clip @@ -254,6 +254,11 @@ class CLIP_OT_track_to_empty(Operator): constraint.object = tracking_object.name constraint.camera = CLIP_camera_for_clip(context, clip) + @classmethod + def poll(cls, context): + space = context.space_data + return space.type == 'CLIP_EDITOR' and space.clip + def execute(self, context): sc = context.space_data clip = sc.clip @@ -782,8 +787,8 @@ class CLIP_OT_setup_tracking_scene(Operator): tree.links.new(mul_shadow.outputs["Image"], mul_image.inputs[2]) tree.links.new(rlayer_fg.outputs["Image"], vector_blur.inputs["Image"]) - tree.links.new(rlayer_fg.outputs["Z"], vector_blur.inputs["Z"]) - tree.links.new(rlayer_fg.outputs["Speed"], vector_blur.inputs["Speed"]) + tree.links.new(rlayer_fg.outputs["Depth"], vector_blur.inputs["Z"]) + tree.links.new(rlayer_fg.outputs["Vector"], vector_blur.inputs["Speed"]) tree.links.new(mul_image.outputs["Image"], alphaover.inputs[1]) tree.links.new(vector_blur.outputs["Image"], alphaover.inputs[2]) diff --git a/release/scripts/startup/bl_operators/uvcalc_smart_project.py b/release/scripts/startup/bl_operators/uvcalc_smart_project.py index 5581415c083..cc590ac9502 100644 --- a/release/scripts/startup/bl_operators/uvcalc_smart_project.py +++ b/release/scripts/startup/bl_operators/uvcalc_smart_project.py @@ -723,7 +723,7 @@ def main(context, global USER_FILL_HOLES_QUALITY global USER_STRETCH_ASPECT global USER_ISLAND_MARGIN - + from math import cos import time @@ -747,7 +747,7 @@ def main(context, USER_FILL_HOLES = 0 USER_FILL_HOLES_QUALITY = 50 # Only for hole filling. USER_VIEW_INIT = 0 # Only for hole filling. - + is_editmode = (context.active_object.mode == 'EDIT') if is_editmode: obList = [ob for ob in [context.active_object] if ob and ob.type == 'MESH'] diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py index 84bae18dd6f..9782d5a072c 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() @@ -87,11 +87,11 @@ class MotionPathButtonsPanel: col.label(text="Show:") col.prop(mps, "show_frame_numbers", text="Frame Numbers") if mpath is not None: - col.prop(mpath, "lines", text='Lines') - col.prop(mpath, "line_thickness", text='Thickness') + col.prop(mpath, "lines", text="Lines") + col.prop(mpath, "line_thickness", text="Thickness") col = split.column() - col.label('') + col.label("") col.prop(mps, "show_keyframe_highlight", text="Keyframes") sub = col.column() sub.enabled = mps.show_keyframe_highlight @@ -102,10 +102,10 @@ class MotionPathButtonsPanel: # Customize path if mpath is not None: row = layout.row(align=True) - row.prop(mpath, "use_custom_color", text='', toggle=True, icon='COLOR') + row.prop(mpath, "use_custom_color", text="", toggle=True, icon='COLOR') sub = row.row(align=True) sub.enabled = mpath.use_custom_color - sub.prop(mpath, "color", text='') + sub.prop(mpath, "color", text="") # FIXME: this panel still needs to be ported so that it will work correctly with animviz @@ -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..6a13e2ddd44 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() @@ -96,7 +96,7 @@ class DATA_PT_display(ArmatureButtonsPanel, Panel): col.prop(arm, "use_deform_delay", text="Delay Refresh") -class DATA_PT_bone_group_specials(Menu): +class DATA_MT_bone_group_specials(Menu): bl_label = "Bone Group Specials" def draw(self, context): @@ -130,7 +130,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel): col.active = (ob.proxy is None) col.operator("pose.group_add", icon='ZOOMIN', text="") col.operator("pose.group_remove", icon='ZOOMOUT', text="") - col.menu("DATA_PT_bone_group_specials", icon='DOWNARROW_HLT', text="") + col.menu("DATA_MT_bone_group_specials", icon='DOWNARROW_HLT', text="") if group: col.separator() col.operator("pose.group_move", icon='TRIA_UP', text="").direction = 'UP' @@ -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' @@ -333,7 +337,7 @@ classes = ( DATA_PT_context_arm, DATA_PT_skeleton, DATA_PT_display, - DATA_PT_bone_group_specials, + DATA_MT_bone_group_specials, DATA_PT_bone_groups, DATA_PT_pose_library, DATA_PT_ghost, 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 ac1eb9505a6..3a3ad31a8ef 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -371,10 +371,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..f9394139b42 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,13 +210,13 @@ 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() col = split.column() - col.label(text="Form factor sampling:") + col.label(text="Form Factor Sampling:") sub = col.row(align=True) 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 d72855fab6b..15c9077d970 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -381,7 +381,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): split = layout.split() col = split.column() - col.label(text="Vertex group:") + col.label(text="Vertex Group:") col.prop_search(md, "vertex_group", ob, "vertex_groups", text="") sub = col.column() sub.active = bool(md.vertex_group) @@ -747,6 +747,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): col.prop(md, "steps") col.prop(md, "render_steps") col.prop(md, "use_smooth_shade") + col.prop(md, "use_merge_vertices") + sub = col.column() + sub.active = md.use_merge_vertices + sub.prop(md, "merge_threshold") col = split.column() row = col.row() @@ -917,9 +921,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): scene = bpy.context.scene engine = scene.render.engine - show_adaptive_options = (engine == "CYCLES" and md == ob.modifiers[-1] and - scene.cycles.feature_set == "EXPERIMENTAL") - + show_adaptive_options = ( + engine == 'CYCLES' and md == ob.modifiers[-1] and + scene.cycles.feature_set == 'EXPERIMENTAL' + ) if show_adaptive_options: col.label(text="View:") col.prop(md, "levels", text="Levels") diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index 9c5be7624e0..3d105934bf8 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -123,7 +123,7 @@ class RENDERLAYER_PT_freestyle(RenderLayerFreestyleButtonsPanel, Panel): layout.active = rl.use_freestyle row = layout.row() - layout.prop(freestyle, "mode", text="Control mode") + layout.prop(freestyle, "mode", text="Control Mode") layout.prop(freestyle, "use_view_map_cache", text="View Map Cache") layout.label(text="Edge Detection Options:") @@ -285,7 +285,7 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, def draw_modifier_box_error(self, box, modifier, message): row = box.row() - row.label(text=message, icon="ERROR") + row.label(text=message, icon='ERROR') def draw_modifier_common(self, box, modifier): row = box.row() diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 46b34373aa5..277b0842b3d 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -90,11 +90,11 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel): split = layout.split() col = split.column() - col.label(text="Linear velocity:") + col.label(text="Linear Velocity:") sub = col.column(align=True) sub.prop(game, "velocity_min", text="Minimum") sub.prop(game, "velocity_max", text="Maximum") - col.label(text="Angular velocity:") + col.label(text="Angular Velocity:") sub = col.column(align=True) sub.prop(game, "angular_velocity_min", text="Minimum") sub.prop(game, "angular_velocity_max", text="Maximum") @@ -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..2aa978a51d8 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -75,16 +75,16 @@ def gpencil_active_brush_settings_simple(context, layout): col.prop(brush, "line_width", slider=True) row = col.row(align=True) - row.prop(brush, "use_random_pressure", text='', icon='RNDCURVE') + row.prop(brush, "use_random_pressure", text="", icon='RNDCURVE') row.prop(brush, "pen_sensitivity_factor", slider=True) - row.prop(brush, "use_pressure", text='', icon='STYLUS_PRESSURE') + row.prop(brush, "use_pressure", text="", icon='STYLUS_PRESSURE') row = col.row(align=True) - row.prop(brush, "use_random_strength", text='', icon='RNDCURVE') + row.prop(brush, "use_random_strength", text="", icon='RNDCURVE') row.prop(brush, "strength", slider=True) - row.prop(brush, "use_strength_pressure", text='', icon='STYLUS_PRESSURE') + row.prop(brush, "use_strength_pressure", text="", icon='STYLUS_PRESSURE') row = col.row(align=True) row.prop(brush, "jitter", slider=True) - row.prop(brush, "use_jitter_pressure", text='', icon='STYLUS_PRESSURE') + row.prop(brush, "use_jitter_pressure", text="", icon='STYLUS_PRESSURE') row = col.row() row.prop(brush, "angle", slider=True) row.prop(brush, "angle_factor", text="Factor", slider=True) @@ -233,7 +233,7 @@ class GreasePencilStrokeEditPanel: if is_3d_view: layout.separator() - + layout.separator() col = layout.column(align=True) @@ -340,19 +340,19 @@ class GreasePencilBrushPanel: row = layout.row() row.prop(brush, "line_width") row = layout.row(align=True) - row.prop(brush, "use_random_pressure", text='', icon='RNDCURVE') + row.prop(brush, "use_random_pressure", text="", icon='RNDCURVE') row.prop(brush, "pen_sensitivity_factor", slider=True) - row.prop(brush, "use_pressure", text='', icon='STYLUS_PRESSURE') + row.prop(brush, "use_pressure", text="", icon='STYLUS_PRESSURE') row = layout.row(align=True) - row.prop(brush, "use_random_strength", text='', icon='RNDCURVE') + row.prop(brush, "use_random_strength", text="", icon='RNDCURVE') row.prop(brush, "strength", slider=True) - row.prop(brush, "use_strength_pressure", text='', icon='STYLUS_PRESSURE') + row.prop(brush, "use_strength_pressure", text="", icon='STYLUS_PRESSURE') row = layout.row(align=True) row.prop(brush, "random_press", slider=True) row = layout.row(align=True) row.prop(brush, "jitter", slider=True) - row.prop(brush, "use_jitter_pressure", text='', icon='STYLUS_PRESSURE') + row.prop(brush, "use_jitter_pressure", text="", icon='STYLUS_PRESSURE') row = layout.row() row.prop(brush, "angle", slider=True) row.prop(brush, "angle_factor", text="Factor", slider=True) @@ -365,7 +365,7 @@ class GreasePencilBrushPanel: col.separator() row = col.row(align=False) row.prop(brush, "pen_subdivision_steps") - row.prop(brush, "random_subdiv", text='Randomness', slider=True) + row.prop(brush, "random_subdiv", text="Randomness", slider=True) class GreasePencilStrokeSculptPanel: @@ -463,7 +463,7 @@ class GreasePencilBrushCurvesPanel: ############################### -class GPENCIL_PIE_tool_palette(Menu): +class GPENCIL_MT_pie_tool_palette(Menu): """A pie menu for quick access to Grease Pencil tools""" bl_label = "Grease Pencil Tools" @@ -487,7 +487,7 @@ class GPENCIL_PIE_tool_palette(Menu): # E - "Settings" Palette is included here too, since it needs to be in a stable position... if gpd and gpd.layers.active: col.separator() - col.operator("wm.call_menu_pie", text="Settings...", icon='SCRIPTWIN').name = "GPENCIL_PIE_settings_palette" + col.operator("wm.call_menu_pie", text="Settings...", icon='SCRIPTWIN').name = "GPENCIL_MT_pie_settings_palette" # Editing tools if gpd: @@ -525,13 +525,13 @@ class GPENCIL_PIE_tool_palette(Menu): col.operator("gpencil.delete", icon='X', text="Delete...") # SE - More Tools - pie.operator("wm.call_menu_pie", text="More...").name = "GPENCIL_PIE_tools_more" + pie.operator("wm.call_menu_pie", text="More...").name = "GPENCIL_MT_pie_tools_more" else: # Toggle Edit Mode pie.operator("gpencil.editmode_toggle", text="Enable Stroke Editing", icon='EDIT') -class GPENCIL_PIE_settings_palette(Menu): +class GPENCIL_MT_pie_settings_palette(Menu): """A pie menu for quick access to Grease Pencil settings""" bl_label = "Grease Pencil Settings" @@ -609,12 +609,12 @@ class GPENCIL_PIE_settings_palette(Menu): row = col.row() row.operator("gpencil.stroke_join", text="Join").type = 'JOIN' row.operator("gpencil.stroke_join", text="Join & Copy").type = 'JOINCOPY' - col.operator("gpencil.stroke_flip", text="Flip direction") + col.operator("gpencil.stroke_flip", text="Flip Direction") - col.prop(gpd, "show_stroke_direction", text="Show drawing direction") + col.prop(gpd, "show_stroke_direction", text="Show Drawing Direction") -class GPENCIL_PIE_tools_more(Menu): +class GPENCIL_MT_pie_tools_more(Menu): """A pie menu for accessing more Grease Pencil tools""" bl_label = "More Grease Pencil Tools" @@ -643,10 +643,10 @@ class GPENCIL_PIE_tools_more(Menu): pie.operator("transform.tosphere", icon='MOD_MULTIRES') pie.operator("gpencil.convert", icon='OUTLINER_OB_CURVE', text="Convert...") - pie.operator("wm.call_menu_pie", text="Back to Main Palette...").name = "GPENCIL_PIE_tool_palette" + pie.operator("wm.call_menu_pie", text="Back to Main Palette...").name = "GPENCIL_MT_pie_tool_palette" -class GPENCIL_PIE_sculpt(Menu): +class GPENCIL_MT_pie_sculpt(Menu): """A pie menu for accessing Grease Pencil stroke sculpting settings""" bl_label = "Grease Pencil Sculpt" @@ -839,8 +839,8 @@ class GPENCIL_MT_brush_specials(Menu): def draw(self, context): layout = self.layout - layout.operator("gpencil.brush_copy", icon='PASTEDOWN', text="Copy current drawing brush") - layout.operator("gpencil.brush_presets_create", icon='HELP', text="Create a set of predefined brushes") + layout.operator("gpencil.brush_copy", icon='PASTEDOWN', text="Copy Current Drawing Brush") + layout.operator("gpencil.brush_presets_create", icon='HELP', text="Create a Set of Predefined Brushes") class GPENCIL_MT_palettecolor_specials(Menu): @@ -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:") @@ -1158,10 +1158,10 @@ class GreasePencilToolsPanel: classes = ( - GPENCIL_PIE_tool_palette, - GPENCIL_PIE_settings_palette, - GPENCIL_PIE_tools_more, - GPENCIL_PIE_sculpt, + GPENCIL_MT_pie_tool_palette, + GPENCIL_MT_pie_settings_palette, + GPENCIL_MT_pie_tools_more, + GPENCIL_MT_pie_sculpt, GPENCIL_MT_snap, GPENCIL_MT_gpencil_edit_specials, GPENCIL_UL_brush, 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_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py index dfd20d90ec4..b79f8263e39 100644 --- a/release/scripts/startup/bl_ui/properties_paint_common.py +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -157,9 +157,9 @@ def brush_texpaint_common(panel, context, layout, brush, settings, projpaint=Fal col.separator() if projpaint: if settings.mode == 'MATERIAL': - col.prop(settings, "use_clone_layer", text="Clone from paint slot") + col.prop(settings, "use_clone_layer", text="Clone from Paint Slot") elif settings.mode == 'IMAGE': - col.prop(settings, "use_clone_layer", text="Clone from image/UV map") + col.prop(settings, "use_clone_layer", text="Clone from Image/UV Map") if settings.use_clone_layer: ob = context.active_object diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index e86df975927..aa4cb0ba1e9 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': @@ -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) @@ -628,7 +628,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): split = layout.split() col = split.column() - col.label(text="Fluid properties:") + col.label(text="Fluid Properties:") col.prop(fluid, "stiffness", text="Stiffness") col.prop(fluid, "linear_viscosity", text="Viscosity") col.prop(fluid, "buoyancy", text="Buoyancy", slider=True) @@ -749,7 +749,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): if part.physics_type == 'BOIDS': layout.label(text="Relations:") elif part.physics_type == 'FLUID': - layout.label(text="Fluid interaction:") + layout.label(text="Fluid Interaction:") row = layout.row() row.template_list("UI_UL_list", "particle_targets", psys, "targets", @@ -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() @@ -1081,7 +1081,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, Panel): col = row.column() col.prop(part, "trail_count") if part.trail_count > 1: - col.prop(part, "use_absolute_path_time", text="Length in frames") + col.prop(part, "use_absolute_path_time", text="Length in Frames") col = row.column() col.prop(part, "path_end", text="Length", slider=not part.use_absolute_path_time) col.prop(part, "length_random", text="Random", slider=True) diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py index 0b98d8738dc..73d3d5fc755 100644 --- a/release/scripts/startup/bl_ui/properties_physics_common.py +++ b/release/scripts/startup/bl_ui/properties_physics_common.py @@ -79,7 +79,7 @@ class PHYSICS_PT_add(PhysicButtonsPanel, Panel): col = split.column() - if obj.type in {'MESH', 'LATTICE', 'CURVE'}: + if obj.type in {'MESH', 'LATTICE', 'CURVE', 'SURFACE', 'FONT'}: physics_add(self, col, context.soft_body, "Soft Body", 'SOFT_BODY', 'MOD_SOFT', True) if obj.type == 'MESH': diff --git a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py index c813350be08..ec7287ef363 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 @@ -245,7 +245,7 @@ class PHYSICS_PT_dp_canvas_output(PhysicButtonsPanel, Panel): # paint-map output row = layout.row() - row.prop_search(surface, "output_name_a", ob.data, "vertex_colors", text="Paintmap layer") + row.prop_search(surface, "output_name_a", ob.data, "vertex_colors", text="Paintmap Layer") if surface.output_exists(object=ob, index=0): ic = 'ZOOMOUT' else: @@ -255,7 +255,7 @@ class PHYSICS_PT_dp_canvas_output(PhysicButtonsPanel, Panel): # wet-map output row = layout.row() - row.prop_search(surface, "output_name_b", ob.data, "vertex_colors", text="Wetmap layer") + row.prop_search(surface, "output_name_b", ob.data, "vertex_colors", text="Wetmap Layer") if surface.output_exists(object=ob, index=1): ic = 'ZOOMOUT' else: @@ -282,7 +282,7 @@ class PHYSICS_PT_dp_canvas_output(PhysicButtonsPanel, Panel): layout.prop(surface, "image_output_path", text="") row = layout.row() row.prop(surface, "image_fileformat", text="") - row.prop(surface, "use_premultiply", text="Premultiply alpha") + row.prop(surface, "use_premultiply", text="Premultiply Alpha") if surface_type == 'PAINT': split = layout.split(percentage=0.4) @@ -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") @@ -439,12 +439,12 @@ class PHYSICS_PT_dp_brush_source(PhysicButtonsPanel, Panel): if brush.paint_source == 'PARTICLE_SYSTEM': col.prop_search(brush, "particle_system", ob, "particle_systems", text="") if brush.particle_system: - col.label(text="Particle effect:") + col.label(text="Particle Effect:") sub = col.column() sub.active = not brush.use_particle_radius sub.prop(brush, "solid_radius", text="Solid Radius") col.prop(brush, "use_particle_radius", text="Use Particle's Radius") - col.prop(brush, "smooth_radius", text="Smooth radius") + col.prop(brush, "smooth_radius", text="Smooth Radius") if brush.paint_source in {'DISTANCE', 'VOLUME_DISTANCE', 'POINT'}: col.prop(brush, "paint_distance", text="Paint Distance") 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..5efe105e7d8 100644 --- a/release/scripts/startup/bl_ui/properties_physics_softbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py @@ -26,6 +26,9 @@ from bl_ui.properties_physics_common import ( ) +COMPAT_OB_TYPES = {'MESH', 'LATTICE', 'CURVE', 'SURFACE', 'FONT'} + + def softbody_panel_enabled(md): return (md.point_cache.is_baked is False) @@ -39,7 +42,7 @@ class PhysicButtonsPanel: def poll(cls, context): ob = context.object rd = context.scene.render - return (ob and (ob.type == 'MESH' or ob.type == 'LATTICE'or ob.type == 'CURVE')) and (rd.engine in cls.COMPAT_ENGINES) and (context.soft_body) + return ob and ob.type in COMPAT_OB_TYPES and rd.engine in cls.COMPAT_ENGINES and context.soft_body class PHYSICS_PT_softbody(PhysicButtonsPanel, Panel): @@ -191,7 +194,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_render.py b/release/scripts/startup/bl_ui/properties_render.py index a7e8d9273ad..6101c715991 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -275,6 +275,7 @@ class RENDER_PT_performance(RenderButtonsPanel, Panel): col.separator() col.prop(rd, "preview_start_resolution") + col.prop(rd, "preview_pixel_size", text="") col = split.column() col.label(text="Memory:") @@ -286,7 +287,7 @@ class RENDER_PT_performance(RenderButtonsPanel, Panel): sub.prop(rd, "use_free_image_textures") sub = col.column() sub.active = rd.use_raytrace - sub.label(text="Acceleration structure:") + sub.label(text="Acceleration Structure:") sub.prop(rd, "raytrace_method", text="") if rd.raytrace_method == 'OCTREE': sub.prop(rd, "octree_resolution", text="Resolution") @@ -347,7 +348,7 @@ class RENDER_PT_stamp(RenderButtonsPanel, Panel): col.active = rd.use_stamp row = col.row() row.prop(rd, "stamp_font_size", text="Font Size") - row.prop(rd, "use_stamp_labels", text="Draw labels") + row.prop(rd, "use_stamp_labels", text="Draw Labels") row = col.row() row.column().prop(rd, "stamp_foreground", slider=True) @@ -482,9 +483,9 @@ class RENDER_PT_encoding(RenderButtonsPanel, Panel): layout.prop(ffmpeg, "gopsize") # B-Frames row = layout.row() - row.prop(ffmpeg, "use_max_b_frames", text='Max B-frames') + row.prop(ffmpeg, "use_max_b_frames", text="Max B-frames") pbox = row.split() - pbox.prop(ffmpeg, "max_b_frames", text='') + pbox.prop(ffmpeg, "max_b_frames", text="") pbox.enabled = ffmpeg.use_max_b_frames split = layout.split() 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 43679727992..57195d22340 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -1033,11 +1033,11 @@ class CLIP_PT_proxy(CLIP_PT_clip_view_panel, Panel): if clip.source == 'MOVIE': col2 = col.column() - col2.label(text="Use timecode index:") + col2.label(text="Use Timecode Index:") col2.prop(clip.proxy, "timecode", text="") col2 = col.column() - col2.label(text="Proxy render size:") + col2.label(text="Proxy Render Size:") col.prop(sc.clip_user, "proxy_render_size", text="") @@ -1418,7 +1418,7 @@ class CLIP_MT_tracking_specials(Menu): text="Enable Markers").action = 'ENABLE' layout.operator("clip.disable_markers", - text="Disable markers").action = 'DISABLE' + text="Disable Markers").action = 'DISABLE' layout.separator() layout.operator("clip.set_origin") diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index f070161f3da..340a6c807df 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -1086,7 +1086,7 @@ class IMAGE_PT_tools_paint_options(BrushButtonsPanel, Panel): col.prop(ups, "use_unified_color", text="Color") -class IMAGE_UV_sculpt_curve(Panel): +class IMAGE_PT_uv_sculpt_curve(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'TOOLS' bl_label = "UV Sculpt Curve" @@ -1117,7 +1117,7 @@ class IMAGE_UV_sculpt_curve(Panel): row.operator("brush.curve_preset", icon='NOCURVE', text="").shape = 'MAX' -class IMAGE_UV_sculpt(Panel, ImagePaintPanel): +class IMAGE_PT_uv_sculpt(Panel, ImagePaintPanel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'TOOLS' bl_category = "Tools" @@ -1370,8 +1370,8 @@ classes = ( IMAGE_PT_tools_imagepaint_symmetry, IMAGE_PT_tools_brush_appearance, IMAGE_PT_tools_paint_options, - IMAGE_UV_sculpt, - IMAGE_UV_sculpt_curve, + IMAGE_PT_uv_sculpt, + IMAGE_PT_uv_sculpt_curve, IMAGE_PT_view_histogram, IMAGE_PT_view_waveform, IMAGE_PT_view_vectorscope, diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index b37b3c5705a..e2056905d93 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -187,10 +187,10 @@ class NODE_MT_view(Menu): if context.space_data.show_backdrop: layout.separator() - layout.operator("node.backimage_move", text="Backdrop move") - layout.operator("node.backimage_zoom", text="Backdrop zoom in").factor = 1.2 - layout.operator("node.backimage_zoom", text="Backdrop zoom out").factor = 0.83333 - layout.operator("node.backimage_fit", text="Fit backdrop to available space") + layout.operator("node.backimage_move", text="Backdrop Move") + layout.operator("node.backimage_zoom", text="Backdrop Zoom In").factor = 1.2 + layout.operator("node.backimage_zoom", text="Backdrop Zoom Out").factor = 0.83333 + layout.operator("node.backimage_fit", text="Fit Backdrop to Available Space") layout.separator() @@ -243,7 +243,7 @@ class NODE_MT_node(Menu): layout.separator() - layout.operator("node.join", text="Join in new Frame") + layout.operator("node.join", text="Join in New Frame") layout.operator("node.detach", text="Remove from Frame") layout.separator() diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 4eb550bbb35..731ab3d4b14 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -56,7 +56,7 @@ class OUTLINER_HT_header(Header): row.operator("anim.keyframe_delete", text="", icon='KEY_DEHLT') else: row = layout.row() - row.label(text="No Keying Set active") + row.label(text="No Keying Set Active") elif space.display_mode == 'ORPHAN_DATA': layout.operator("outliner.orphans_purge") diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 6737b8e1089..06dd90685b7 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -43,7 +43,7 @@ def draw_color_balance(layout, color_balance): col.separator() col.separator() col.prop(color_balance, "lift", text="") - col.prop(color_balance, "invert_lift", text="Invert", icon="ARROW_LEFTRIGHT") + 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() @@ -53,7 +53,7 @@ def draw_color_balance(layout, color_balance): col.separator() col.separator() col.prop(color_balance, "gamma", text="") - col.prop(color_balance, "invert_gamma", text="Invert", icon="ARROW_LEFTRIGHT") + 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() @@ -63,7 +63,7 @@ def draw_color_balance(layout, color_balance): col.separator() col.separator() col.prop(color_balance, "gain", text="") - col.prop(color_balance, "invert_gain", text="Invert", icon="ARROW_LEFTRIGHT") + 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) @@ -197,7 +197,7 @@ class SEQUENCER_MT_view(Menu): layout.operator_context = 'INVOKE_DEFAULT' if is_preview: layout.operator_context = 'INVOKE_REGION_PREVIEW' - layout.operator("sequencer.view_all_preview", text="Fit preview in window") + layout.operator("sequencer.view_all_preview", text="Fit Preview in Window") layout.separator() @@ -246,10 +246,10 @@ class SEQUENCER_MT_select(Menu): layout.operator("sequencer.select_active_side", text="Strips to the Left").side = 'LEFT' layout.operator("sequencer.select_active_side", text="Strips to the Right").side = 'RIGHT' - props = layout.operator("sequencer.select", text="All strips to the Left") + props = layout.operator("sequencer.select", text="All Strips to the Left") props.left_right = 'LEFT' props.linked_time = True - props = layout.operator("sequencer.select", text="All strips to the Right") + props = layout.operator("sequencer.select", text="All Strips to the Right") props.left_right = 'RIGHT' props.linked_time = True @@ -338,21 +338,21 @@ class SEQUENCER_MT_add(Menu): if len(bpy.data.scenes) > 10: layout.operator_context = 'INVOKE_DEFAULT' - layout.operator("sequencer.scene_strip_add", text="Scene") + 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") + 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") + 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") @@ -397,15 +397,15 @@ class SEQUENCER_MT_strip(Menu): layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("transform.transform", text="Grab/Move").mode = 'TRANSLATION' - layout.operator("transform.transform", text="Grab/Extend from frame").mode = 'TIME_EXTEND' + layout.operator("transform.transform", text="Grab/Extend from Frame").mode = 'TIME_EXTEND' layout.operator("sequencer.gap_remove").all = False layout.operator("sequencer.gap_insert") # uiItemO(layout, NULL, 0, "sequencer.strip_snap"); // TODO - add this operator layout.separator() - layout.operator("sequencer.cut", text="Cut (hard) at frame").type = 'HARD' - layout.operator("sequencer.cut", text="Cut (soft) at frame").type = 'SOFT' + layout.operator("sequencer.cut", text="Cut (Hard) at Frame").type = 'HARD' + layout.operator("sequencer.cut", text="Cut (Soft) at Frame").type = 'SOFT' layout.operator("sequencer.slip", text="Slip Strip Contents") layout.operator("sequencer.images_separate") layout.operator("sequencer.offset_clear") @@ -631,7 +631,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): if strip.use_as_speed: layout.prop(strip, "speed_factor") else: - layout.prop(strip, "speed_factor", text="Frame number") + layout.prop(strip, "speed_factor", text="Frame Number") layout.prop(strip, "scale_to_length") elif strip.type == 'TRANSFORM': @@ -698,7 +698,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): row.label("") else: col.separator() - col.label(text="Two or more channels are needed below this strip", icon="INFO") + col.label(text="Two or more channels are needed below this strip", icon='INFO') elif strip.type == 'TEXT': @@ -728,7 +728,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): elif strip.type in {'CROSS', 'GAMMA_CROSS', 'WIPE', 'ALPHA_OVER', 'ALPHA_UNDER', 'OVER_DROP'}: col.prop(strip, "use_default_fade", "Default fade") if not strip.use_default_fade: - col.prop(strip, "effect_fader", text="Effect fader") + col.prop(strip, "effect_fader", text="Effect Fader") elif strip.type == 'GAUSSIAN_BLUR': row = col.row(align=True) row.prop(strip, "size_x") @@ -784,7 +784,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): split.label(text="Alpha:") split.prop(strip, "alpha_mode", text="") - layout.operator("sequencer.change_path", icon="FILESEL").filter_image = True + layout.operator("sequencer.change_path", icon='FILESEL').filter_image = True elif seq_type == 'MOVIE': split = layout.split(percentage=0.2) @@ -1056,9 +1056,9 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): proxy = strip.proxy flow = layout.column_flow() - flow.prop(sequencer, "proxy_storage", text='Storage') + flow.prop(sequencer, "proxy_storage", text="Storage") if sequencer.proxy_storage == 'PROJECT': - flow.prop(sequencer, "proxy_dir", text='Directory') + flow.prop(sequencer, "proxy_dir", text="Directory") else: flow.prop(proxy, "use_proxy_custom_directory") flow.prop(proxy, "use_proxy_custom_file") @@ -1077,7 +1077,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): layout.prop(proxy, "use_overwrite") col = layout.column() - col.prop(proxy, "quality", text="Build JPEG quality") + col.prop(proxy, "quality", text="Build JPEG Quality") if strip.type == 'MOVIE': col = layout.column() @@ -1101,9 +1101,6 @@ class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel): render = context.scene.render col = layout.column() - col.prop(render, "use_sequencer_gl_preview", text="OpenGL Preview") - col = layout.column() - #col.active = render.use_sequencer_gl_preview col.prop(render, "sequencer_gl_preview", text="") row = col.row() 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..5ba1f0b8dcb 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() @@ -218,6 +218,7 @@ class USERPREF_PT_interface(Panel): col = row.column() col.label(text="Display:") col.prop(view, "ui_scale", text="Scale") + col.prop(view, "ui_line_width", text="Line Width") col.prop(view, "show_tooltips") col.prop(view, "show_tooltips_python") col.prop(view, "show_object_info", text="Object Info") @@ -249,6 +250,7 @@ class USERPREF_PT_interface(Panel): col = row.column() col.label(text="View Manipulation:") col.prop(view, "use_mouse_depth_cursor") + col.prop(view, "use_cursor_lock_adjust") col.prop(view, "use_mouse_depth_navigate") col.prop(view, "use_zoom_to_mouse") col.prop(view, "use_rotate_around_active") @@ -477,7 +479,7 @@ class USERPREF_PT_system(Panel): col.label(text="Sound:") col.row().prop(system, "audio_device", expand=False) sub = col.column() - sub.active = system.audio_device != 'NONE' and system.audio_device != 'Null' + sub.active = system.audio_device not in {'NONE', 'Null'} #sub.prop(system, "use_preview_images") sub.prop(system, "audio_channels", text="Channels") sub.prop(system, "audio_mixing_buffer", text="Mixing Buffer") @@ -560,7 +562,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() @@ -1105,29 +1107,29 @@ class USERPREF_MT_ndof_settings(Menu): layout.prop(input_prefs, "ndof_show_guide") layout.separator() - layout.label(text="Orbit style") + layout.label(text="Orbit Style") layout.row().prop(input_prefs, "ndof_view_navigate_method", text="") layout.row().prop(input_prefs, "ndof_view_rotate_method", text="") layout.separator() - layout.label(text="Orbit options") + layout.label(text="Orbit Options") layout.prop(input_prefs, "ndof_rotx_invert_axis") layout.prop(input_prefs, "ndof_roty_invert_axis") layout.prop(input_prefs, "ndof_rotz_invert_axis") # view2d use pan/zoom layout.separator() - layout.label(text="Pan options") + layout.label(text="Pan Options") layout.prop(input_prefs, "ndof_panx_invert_axis") layout.prop(input_prefs, "ndof_pany_invert_axis") layout.prop(input_prefs, "ndof_panz_invert_axis") layout.prop(input_prefs, "ndof_pan_yz_swap_axis") - layout.label(text="Zoom options") + layout.label(text="Zoom Options") layout.prop(input_prefs, "ndof_zoom_invert") if is_view3d: layout.separator() - layout.label(text="Fly/Walk options") + layout.label(text="Fly/Walk Options") layout.prop(input_prefs, "ndof_fly_helicopter", icon='NDOF_FLY') layout.prop(input_prefs, "ndof_lock_horizon", icon='NDOF_DOM') @@ -1452,7 +1454,7 @@ class USERPREF_PT_addons(Panel): sub = row.row() sub.active = is_enabled - sub.label(text='%s: %s' % (info["category"], info["name"])) + sub.label(text="%s: %s" % (info["category"], info["name"])) if info["warning"]: sub.label(icon='ERROR') @@ -1480,11 +1482,11 @@ class USERPREF_PT_addons(Panel): if info["version"]: split = colsub.row().split(percentage=0.15) split.label(text="Version:") - split.label(text='.'.join(str(x) for x in info["version"]), translate=False) + split.label(text=".".join(str(x) for x in info["version"]), translate=False) if info["warning"]: split = colsub.row().split(percentage=0.15) split.label(text="Warning:") - split.label(text=' ' + info["warning"], icon='ERROR') + split.label(text=" " + info["warning"], icon='ERROR') user_addon = USERPREF_PT_addons.is_user_addon(mod, user_addon_paths) tot_row = bool(info["wiki_url"]) + bool(user_addon) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 42a6d3138a7..0ba64a1177f 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -294,7 +294,8 @@ class VIEW3D_MT_transform_object(VIEW3D_MT_transform_base): layout.operator("object.origin_set", text="Geometry to Origin").type = 'GEOMETRY_ORIGIN' layout.operator("object.origin_set", text="Origin to Geometry").type = 'ORIGIN_GEOMETRY' layout.operator("object.origin_set", text="Origin to 3D Cursor").type = 'ORIGIN_CURSOR' - layout.operator("object.origin_set", text="Origin to Center of Mass").type = 'ORIGIN_CENTER_OF_MASS' + layout.operator("object.origin_set", text="Origin to Center of Mass (Surface)").type = 'ORIGIN_CENTER_OF_MASS' + layout.operator("object.origin_set", text="Origin to Center of Mass (Volume)").type = 'ORIGIN_CENTER_OF_VOLUME' layout.separator() layout.operator("object.randomize_transform") @@ -1255,14 +1256,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 +1664,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 @@ -1710,7 +1711,7 @@ class VIEW3D_MT_brush(Menu): # skip if no active brush if not brush: - layout.label(text="No Brushes currently available", icon="INFO") + layout.label(text="No Brushes currently available", icon='INFO') return # brush paint modes @@ -2115,7 +2116,7 @@ class VIEW3D_MT_pose_transform(Menu): layout.separator() - layout.operator("pose.user_transforms_clear", text="Reset unkeyed") + layout.operator("pose.user_transforms_clear", text="Reset Unkeyed") class VIEW3D_MT_pose_slide(Menu): @@ -3536,7 +3537,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 ca33d54a781..ec2e458ea7a 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -929,16 +929,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' @@ -980,9 +982,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 # @@ -1232,20 +1234,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) @@ -1265,16 +1267,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() @@ -1308,14 +1311,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') @@ -1982,7 +1986,7 @@ class VIEW3D_PT_tools_particlemode(View3DPanel, Panel): col = layout.column(align=True) if pe.is_hair: col.active = pe.is_editable - col.prop(pe, "use_emitter_deflect", text="Deflect emitter") + col.prop(pe, "use_emitter_deflect", text="Deflect Emitter") sub = col.row(align=True) sub.active = pe.use_emitter_deflect sub.prop(pe, "emitter_distance", text="Distance") diff --git a/release/scripts/startup/keyingsets_builtins.py b/release/scripts/startup/keyingsets_builtins.py index ce0b1b62d44..390c043bb31 100644 --- a/release/scripts/startup/keyingsets_builtins.py +++ b/release/scripts/startup/keyingsets_builtins.py @@ -494,7 +494,7 @@ class BUILTIN_KSI_WholeCharacter(KeyingSetInfo): # bendy bone properties def doBBone(ksi, context, ks, pchan): bone = pchan.bone - + # This check is crude, but is the best we can do for now # It simply adds all of these if the bbone has segments # (and the bone is a control bone). This may lead to some @@ -643,26 +643,29 @@ class BUILTIN_KSI_DeltaScale(KeyingSetInfo): ############################### +# Note that this controls order of options in 'insert keyframe' menu. +# Better try to keep some logical order here beyond mere alphabetical one, also because of menu entries shortcut. +# See also T51867. classes = ( BUILTIN_KSI_Available, - BUILTIN_KSI_BendyBones, - BUILTIN_KSI_DeltaLocation, - BUILTIN_KSI_DeltaRotation, - BUILTIN_KSI_DeltaScale, + BUILTIN_KSI_Location, + BUILTIN_KSI_Rotation, + BUILTIN_KSI_Scaling, BUILTIN_KSI_LocRot, BUILTIN_KSI_LocRotScale, BUILTIN_KSI_LocScale, - BUILTIN_KSI_Location, BUILTIN_KSI_RotScale, - BUILTIN_KSI_Rotation, - BUILTIN_KSI_Scaling, + BUILTIN_KSI_DeltaLocation, + BUILTIN_KSI_DeltaRotation, + BUILTIN_KSI_DeltaScale, BUILTIN_KSI_VisualLoc, + BUILTIN_KSI_VisualRot, + BUILTIN_KSI_VisualScaling, BUILTIN_KSI_VisualLocRot, BUILTIN_KSI_VisualLocRotScale, BUILTIN_KSI_VisualLocScale, - BUILTIN_KSI_VisualRot, BUILTIN_KSI_VisualRotScale, - BUILTIN_KSI_VisualScaling, + BUILTIN_KSI_BendyBones, BUILTIN_KSI_WholeCharacter, BUILTIN_KSI_WholeCharacterSelected, ) |