[Bf-blender-cvs] [b245d35] master: View2d: bring back 2.4x option to lock time for 2d views

Campbell Barton noreply at git.blender.org
Thu May 1 06:51:25 CEST 2014


Commit: b245d3577ae9c51197e650e94b4902c5cdab3ed2
Author: Campbell Barton
Date:   Thu May 1 14:49:47 2014 +1000
https://developer.blender.org/rBb245d3577ae9c51197e650e94b4902c5cdab3ed2

View2d: bring back 2.4x option to lock time for 2d views

===================================================================

M	release/scripts/startup/bl_ui/space_clip.py
M	release/scripts/startup/bl_ui/space_dopesheet.py
M	release/scripts/startup/bl_ui/space_graph.py
M	release/scripts/startup/bl_ui/space_nla.py
M	release/scripts/startup/bl_ui/space_time.py
M	source/blender/makesrna/intern/rna_space.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py
index d1981c0..96ad70e 100644
--- a/release/scripts/startup/bl_ui/space_clip.py
+++ b/release/scripts/startup/bl_ui/space_clip.py
@@ -1147,6 +1147,7 @@ class CLIP_MT_view(Menu):
                 layout.operator_context = 'INVOKE_DEFAULT'
 
             layout.prop(sc, "show_seconds")
+            layout.prop(sc, "show_locked_time")
             layout.separator()
 
         layout.separator()
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 269c960..eeb0891 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -173,6 +173,7 @@ class DOPESHEET_MT_view(Menu):
         layout.prop(st, "use_marker_sync")
 
         layout.prop(st, "show_seconds")
+        layout.prop(st, "show_locked_time")
 
         layout.separator()
         layout.operator("anim.previewrange_set")
diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py
index 67fc286..353c689 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -105,6 +105,7 @@ class GRAPH_MT_view(Menu):
         layout.prop(st, "use_only_selected_keyframe_handles")
 
         layout.prop(st, "show_seconds")
+        layout.prop(st, "show_locked_time")
 
         layout.separator()
         layout.operator("anim.previewrange_set")
diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py
index 06fe73a..baadc69 100644
--- a/release/scripts/startup/bl_ui/space_nla.py
+++ b/release/scripts/startup/bl_ui/space_nla.py
@@ -74,6 +74,7 @@ class NLA_MT_view(Menu):
         layout.prop(st, "show_frame_indicator")
 
         layout.prop(st, "show_seconds")
+        layout.prop(st, "show_locked_time")
 
         layout.prop(st, "show_strip_curves")
 
diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py
index 691a6cd..c96b8fd 100644
--- a/release/scripts/startup/bl_ui/space_time.py
+++ b/release/scripts/startup/bl_ui/space_time.py
@@ -126,6 +126,7 @@ class TIME_MT_view(Menu):
         st = context.space_data
 
         layout.prop(st, "show_seconds")
+        layout.prop(st, "show_locked_time")
         layout.operator("time.view_all")
 
         layout.separator()
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 85d0344..1afc413 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -289,6 +289,55 @@ static void rna_area_region_from_regiondata(PointerRNA *ptr, ScrArea **r_sa, ARe
 	area_region_from_regiondata(sc, regiondata, r_sa, r_ar);
 }
 
+static int rna_Space_view2d_sync_get(PointerRNA *ptr)
+{
+	ScrArea *sa;
+	ARegion *ar;
+
+	sa = rna_area_from_space(ptr); /* can be NULL */
+	ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+	if (ar) {
+		View2D *v2d = &ar->v2d;
+		return (v2d->flag & V2D_VIEWSYNC_SCREEN_TIME) != 0;
+	}
+
+	return false;
+}
+
+static void rna_Space_view2d_sync_set(PointerRNA *ptr, int value)
+{
+	ScrArea *sa;
+	ARegion *ar;
+
+	sa = rna_area_from_space(ptr); /* can be NULL */
+	ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+	if (ar) {
+		View2D *v2d = &ar->v2d;
+		if (value) {
+			v2d->flag |= V2D_VIEWSYNC_SCREEN_TIME;
+		}
+		else {
+			v2d->flag &= ~V2D_VIEWSYNC_SCREEN_TIME;
+		}
+	}
+}
+
+static void rna_Space_view2d_sync_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
+{
+	ScrArea *sa;
+	ARegion *ar;
+
+	sa = rna_area_from_space(ptr); /* can be NULL */
+	ar = BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
+
+	if (ar) {
+		bScreen *sc = (bScreen *)ptr->id.data;
+		View2D *v2d = &ar->v2d;
+
+		UI_view2d_sync(sc, sa, v2d, V2D_LOCK_SET);
+	}
+}
+
 static PointerRNA rna_CurrentOrientation_get(PointerRNA *ptr)
 {
 	Scene *scene = ((bScreen *)ptr->id.data)->scene;
@@ -1320,6 +1369,12 @@ static void rna_def_space(BlenderRNA *brna)
 	RNA_def_property_enum_items(prop, space_type_items);
 	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 	RNA_def_property_ui_text(prop, "Type", "Space data type");
+
+	/* access to V2D_VIEWSYNC_SCREEN_TIME */
+	prop = RNA_def_property(srna, "show_locked_time", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_funcs(prop, "rna_Space_view2d_sync_get", "rna_Space_view2d_sync_set");
+	RNA_def_property_ui_text(prop, "Lock Time to Other Windows", "");
+	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, "rna_Space_view2d_sync_update");
 }
 
 /* for all spaces that use a mask */




More information about the Bf-blender-cvs mailing list