diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-08-16 15:25:55 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-08-16 15:25:55 +0300 |
commit | b7d656c3b24cee4400d8bd4d5e5184e7657227ef (patch) | |
tree | 20dcb748f022128522da73173e78bcab1ca4ccd9 /release | |
parent | cd5116e914fa6198e65eeb325dd74d817f0e580e (diff) |
2D stabilizer: Revert majority of UI change
For now simply reshuffle option so they keep proper dependency flow.
Benefits:
- Has an ability to hide tracks lists to work with other sliders around.
Could be really handy to quickly get rid of lenghty lists.
- From a feedback seems to be fitting workflow better.
Things to doublecheck on:
- Feels a bit misordered: first you define whether one want to have
rotation stabilized, then have tracks, then scale options.
While this follows dependency flow (which is really good and which
we should not violate) it has weird feeling on whether things are
really where they have to be.
- Autoscale controls visibility of max-scale, can we just make it
active/inactive instead?
- Autoscale replaces slider with label. Can it be disabled slider
instead to reduce visual jumping (disabled slider prevents user
input)
Hopefully we'll still want to have collapsable box after re-iterating
over this points, so we don't waste bits in DNA.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/startup/bl_ui/space_clip.py | 90 |
1 files changed, 53 insertions, 37 deletions
diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index b2263618719..a9db1266bc6 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -916,58 +916,74 @@ class CLIP_PT_stabilization(CLIP_PT_reconstruction_panel, Panel): layout.prop(stab, "anchor_frame") - col = layout.column() - col.label(text="Location") - row = col.row() - row.template_list("UI_UL_list", "stabilization_tracks", stab, "tracks", - stab, "active_track_index", rows=2) + layout.prop(stab, "use_stabilize_rotation") - sub = row.column(align=True) + box = layout.box() + row = box.row(align=True) + row.prop(stab, "show_tracks_expanded", text="", emboss=False) - sub.operator("clip.stabilize_2d_add", icon='ZOOMIN', text="") - sub.operator("clip.stabilize_2d_remove", icon='ZOOMOUT', text="") + if not stab.show_tracks_expanded: + row.label(text="Tracks For Stabilization") + else: + row.label(text="Tracks For Location") + row = box.row() + row.template_list("UI_UL_list", "stabilization_tracks", stab, "tracks", + stab, "active_track_index", rows=2) - sub.menu('CLIP_MT_stabilize_2d_specials', text="", - icon='DOWNARROW_HLT') + sub = row.column(align=True) - col.label(text="Expected Position") - row = col.row() - row.prop(stab, "target_pos", text="") - col.prop(stab, "influence_location") + sub.operator("clip.stabilize_2d_add", icon='ZOOMIN', text="") + sub.operator("clip.stabilize_2d_remove", icon='ZOOMOUT', text="") - layout.separator() - layout.prop(stab, "use_stabilize_rotation") - col = layout.column() - col.active = stab.use_stabilize_rotation - row = col.row() - row.template_list("UI_UL_list", "stabilization_rotation_tracks", stab, "rotation_tracks", - stab, "active_rotation_track_index", rows=2) + sub.menu('CLIP_MT_stabilize_2d_specials', text="", + icon='DOWNARROW_HLT') - sub = row.column(align=True) + row = box.row() + row.label(text="Tracks For Rotation / Scale") + row = box.row() + row.active = stab.use_stabilize_rotation + row.template_list("UI_UL_list", "stabilization_rotation_tracks", stab, "rotation_tracks", + stab, "active_rotation_track_index", rows=2) - sub.operator("clip.stabilize_2d_rotation_add", icon='ZOOMIN', text="") - sub.operator("clip.stabilize_2d_rotation_remove", icon='ZOOMOUT', text="") + sub = row.column(align=True) - sub.menu('CLIP_MT_stabilize_2d_rotation_specials', text="", - icon='DOWNARROW_HLT') + sub.operator("clip.stabilize_2d_rotation_add", icon='ZOOMIN', text="") + sub.operator("clip.stabilize_2d_rotation_remove", icon='ZOOMOUT', text="") - col.prop(stab, "target_rot") - col.prop(stab, "influence_rotation") + sub.menu('CLIP_MT_stabilize_2d_rotation_specials', text="", + icon='DOWNARROW_HLT') - layout.separator() - col = layout.column() - col.active = stab.use_stabilize_rotation - col.prop(stab, "use_stabilize_scale") - col.prop(stab, "use_autoscale") + row = layout.row() + row.active = stab.use_stabilize_rotation + row.prop(stab, "use_stabilize_scale") if stab.use_autoscale: - col.prop(stab, "scale_max", text="Max") - col.label(text="Auto Scale Factor: %5.3f" % (1.0 / stab.target_zoom)) + row = layout.row(align=True) + row.prop(stab, "use_autoscale") + row.prop(stab, "scale_max", text="Max") else: - col.prop(stab, "target_zoom") + layout.prop(stab, "use_autoscale") - col.prop(stab, "influence_scale") + layout.separator() + layout.label(text="Expected Position") + layout.prop(stab, "target_pos", text="") + layout.prop(stab, "target_rot") + if stab.use_autoscale: + layout.label(text="Auto Scale Factor: %5.3f" % (1.0 / stab.target_zoom)) + else: + layout.prop(stab, "target_zoom") layout.separator() + row = layout.row() + row.active = 0 < len(stab.tracks.values()) + row.prop(stab, "influence_location") + + col = layout.column() + col.active = stab.use_stabilize_rotation and 0 < len(stab.rotation_tracks.values()) + row = col.row() + row.prop(stab, "influence_rotation") + row = col.row() + row.prop(stab, "influence_scale") + layout.prop(stab, "filter_type") |