diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_scene.py')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_scene.py | 72 |
1 files changed, 60 insertions, 12 deletions
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index 049161fdce8..facf54d358a 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -22,9 +22,9 @@ from bpy.types import Panel, UIList from rna_prop_ui import PropertyPanel from bl_ui.properties_physics_common import ( - point_cache_ui, - effector_weights_ui, - ) + point_cache_ui, + effector_weights_ui, + ) class SCENE_UL_keying_set_paths(UIList): @@ -40,7 +40,7 @@ class SCENE_UL_keying_set_paths(UIList): layout.label(text="", icon_value=icon) -class SceneButtonsPanel(): +class SceneButtonsPanel: bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "scene" @@ -62,7 +62,8 @@ class SCENE_PT_scene(SceneButtonsPanel, Panel): layout.prop(scene, "camera") layout.prop(scene, "background_set", text="Background") - layout.prop(scene, "active_clip", text="Active Clip") + if context.scene.render.engine != 'BLENDER_GAME': + layout.prop(scene, "active_clip", text="Active Clip") class SCENE_PT_unit(SceneButtonsPanel, Panel): @@ -84,7 +85,53 @@ class SCENE_PT_unit(SceneButtonsPanel, Panel): row.prop(unit, "use_separate") -class SCENE_PT_keying_sets(SceneButtonsPanel, Panel): +class SceneKeyingSetsPanel: + def draw_keyframing_settings(self, context, layout, ks, ksp): + self.draw_keyframing_setting(context, layout, ks, ksp, "Needed", + "use_insertkey_override_needed", "use_insertkey_needed", + userpref_fallback="use_keyframe_insert_needed") + + self.draw_keyframing_setting(context, layout, ks, ksp, "Visual", + "use_insertkey_override_visual", "use_insertkey_visual", + userpref_fallback="use_visual_keying") + + self.draw_keyframing_setting(context, layout, ks, ksp, "XYZ to RGB", + "use_insertkey_override_xyz_to_rgb", "use_insertkey_xyz_to_rgb") + + def draw_keyframing_setting(self, context, layout, ks, ksp, label, toggle_prop, prop, userpref_fallback=None): + if ksp: + item = ksp + + if getattr(ks, toggle_prop): + owner = ks + propname = prop + else: + owner = context.user_preferences.edit + if userpref_fallback: + propname = userpref_fallback + else: + propname = prop + else: + item = ks + + owner = context.user_preferences.edit + if userpref_fallback: + propname = userpref_fallback + else: + propname = prop + + row = layout.row(align=True) + row.prop(item, toggle_prop, text="", icon='STYLUS_PRESSURE', toggle=True) # XXX: needs dedicated icon + + subrow = row.row() + subrow.active = getattr(item, toggle_prop) + if subrow.active: + subrow.prop(item, prop, text=label) + else: + subrow.prop(owner, propname, text=label) + + +class SCENE_PT_keying_sets(SceneButtonsPanel, SceneKeyingSetsPanel, Panel): bl_label = "Keying Sets" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -114,10 +161,10 @@ class SCENE_PT_keying_sets(SceneButtonsPanel, Panel): col = row.column() col.label(text="Keyframing Settings:") - col.prop(ks, "bl_options") + self.draw_keyframing_settings(context, col, ks, None) -class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel): +class SCENE_PT_keying_set_paths(SceneButtonsPanel, SceneKeyingSetsPanel, Panel): bl_label = "Active Keying Set" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -170,7 +217,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel): col = row.column() col.label(text="Keyframing Settings:") - col.prop(ksp, "bl_options") + self.draw_keyframing_settings(context, col, ks, ksp) class SCENE_PT_color_management(SceneButtonsPanel, Panel): @@ -216,10 +263,11 @@ class SCENE_PT_audio(SceneButtonsPanel, Panel): split = layout.split() col = split.column() - col.label("Listener:") + col.label("Distance Model:") col.prop(scene, "audio_distance_model", text="") - col.prop(scene, "audio_doppler_speed", text="Speed") - col.prop(scene, "audio_doppler_factor", text="Doppler") + sub = col.column(align=True) + sub.prop(scene, "audio_doppler_speed", text="Speed") + sub.prop(scene, "audio_doppler_factor", text="Doppler") col = split.column() col.label("Format:") |