From 3886dea98c31c43b80df183ec858b738025ae821 Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Wed, 8 Nov 2023 09:54:34 -0300 Subject: tmp diff --git a/scripts/startup/bl_ui/space_graph.py b/scripts/startup/bl_ui/space_graph.py index 21c0c1c5e12..acb21ce2d8a 100644 --- a/scripts/startup/bl_ui/space_graph.py +++ b/scripts/startup/bl_ui/space_graph.py @@ -111,8 +111,8 @@ class GRAPH_PT_snapping(Panel): col = layout.column() col.label(text="Snap To") tool_settings = context.tool_settings - col.prop(tool_settings, "snap_anim_element", expand=True) - if tool_settings.snap_anim_element != 'MARKER': + col.prop(tool_settings, "snap_graph_element", expand=True) + if tool_settings.snap_anim_element not in {'MARKER', 'INCREMENT'}: col.prop(tool_settings, "use_snap_time_absolute") diff --git a/source/blender/editors/transform/transform_convert_graph.cc b/source/blender/editors/transform/transform_convert_graph.cc index 127b49c50ab..c2e8b613b6d 100644 --- a/source/blender/editors/transform/transform_convert_graph.cc +++ b/source/blender/editors/transform/transform_convert_graph.cc @@ -644,18 +644,6 @@ static bool fcu_test_selected(FCurve *fcu) return false; } -static void invert_snap(eSnapMode &snap_mode) -{ - if (snap_mode & SCE_SNAP_TO_FRAME) { - snap_mode &= ~SCE_SNAP_TO_FRAME; - snap_mode |= SCE_SNAP_TO_SECOND; - } - else if (snap_mode & SCE_SNAP_TO_SECOND) { - snap_mode &= ~SCE_SNAP_TO_SECOND; - snap_mode |= SCE_SNAP_TO_FRAME; - } -} - /* This function is called on recalc_data to apply the transforms applied * to the transdata on to the actual keyframe data */ @@ -668,10 +656,6 @@ static void flushTransGraphData(TransInfo *t) eSnapMode snap_mode = t->tsnap.mode; - if (t->modifiers & MOD_SNAP_INVERT) { - invert_snap(snap_mode); - } - TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t); /* flush to 2d vector from internally used 3d vector */ for (a = 0, diff --git a/source/blender/editors/transform/transform_snap.cc b/source/blender/editors/transform/transform_snap.cc index 64c209d5440..9ff78351f81 100644 --- a/source/blender/editors/transform/transform_snap.cc +++ b/source/blender/editors/transform/transform_snap.cc @@ -129,7 +129,7 @@ bool validSnap(const TransInfo *t) void transform_snap_flag_from_modifiers_set(TransInfo *t) { - if (ELEM(t->spacetype, SPACE_GRAPH, SPACE_ACTION, SPACE_NLA)) { + if (ELEM(t->spacetype, SPACE_ACTION, SPACE_NLA)) { /* Those space-types define their own invert behavior instead of toggling it on/off. */ return; } diff --git a/source/blender/makesrna/intern/rna_scene.cc b/source/blender/makesrna/intern/rna_scene.cc index 3c6d1ad666c..94e083253dc 100644 --- a/source/blender/makesrna/intern/rna_scene.cc +++ b/source/blender/makesrna/intern/rna_scene.cc @@ -210,6 +210,15 @@ const EnumPropertyItem rna_enum_snap_animation_element_items[] = { }; #ifndef RNA_RUNTIME + +static const EnumPropertyItem rna_enum_snap_graph_element_items[] = { + {SCE_SNAP_TO_INCREMENT, "INCREMENT", 0, "Increment", "Snap to increments of grid"}, + {SCE_SNAP_TO_FRAME, "FRAME", 0, "Frame", "Snap to frame"}, + {SCE_SNAP_TO_SECOND, "SECOND", 0, "Second", "Snap to seconds"}, + {SCE_SNAP_TO_MARKERS, "MARKER", 0, "Nearest Marker", "Snap to nearest marker"}, + {0, nullptr, 0, nullptr, nullptr}, +}; + static const EnumPropertyItem snap_uv_element_items[] = { {SCE_SNAP_TO_INCREMENT, "INCREMENT", @@ -3488,6 +3497,13 @@ static void rna_def_tool_settings(BlenderRNA *brna) RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_UNIT); RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, nullptr); /* header redraw */ + prop = RNA_def_property(srna, "snap_graph_element", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_bitflag_sdna(prop, nullptr, "snap_anim_mode"); + RNA_def_property_enum_items(prop, rna_enum_snap_graph_element_items); + RNA_def_property_ui_text(prop, "Snap Graph Element", "Type of element to snap to"); + RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_UNIT); + RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, nullptr); /* header redraw */ + /* image editor uses own set of snap modes */ prop = RNA_def_property(srna, "snap_uv_element", PROP_ENUM, PROP_NONE); RNA_def_property_enum_bitflag_sdna(prop, nullptr, "snap_uv_mode");