Skip to content

Commit feb65f7

Browse files
committed
Remember animation snapping state
1 parent 5950fca commit feb65f7

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

editor/animation/animation_track_editor.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5281,6 +5281,11 @@ void AnimationTrackEditor::_update_step_spinbox() {
52815281
_update_snap_unit();
52825282
}
52835283

5284+
void AnimationTrackEditor::_store_snap_states() {
5285+
EditorSettings::get_singleton()->set_project_metadata("animation_track_editor", "snap_timeline", snap_timeline->is_pressed());
5286+
EditorSettings::get_singleton()->set_project_metadata("animation_track_editor", "snap_keys", snap_keys->is_pressed());
5287+
}
5288+
52845289
void AnimationTrackEditor::_update_fps_compat_mode(bool p_enabled) {
52855290
_update_snap_unit();
52865291
}
@@ -7997,19 +8002,21 @@ AnimationTrackEditor::AnimationTrackEditor() {
79978002

79988003
snap_timeline = memnew(Button);
79998004
snap_timeline->set_flat(true);
8000-
bottom_hf->add_child(snap_timeline);
80018005
snap_timeline->set_disabled(true);
80028006
snap_timeline->set_toggle_mode(true);
8003-
snap_timeline->set_pressed(false);
80048007
snap_timeline->set_tooltip_text(TTR("Apply snapping to timeline cursor."));
8008+
snap_timeline->set_pressed(EditorSettings::get_singleton()->get_project_metadata("animation_track_editor", "snap_timeline", false));
8009+
bottom_hf->add_child(snap_timeline);
8010+
snap_timeline->connect(SceneStringName(toggled), callable_mp(this, &AnimationTrackEditor::_store_snap_states).unbind(1));
80058011

80068012
snap_keys = memnew(Button);
80078013
snap_keys->set_flat(true);
8008-
bottom_hf->add_child(snap_keys);
80098014
snap_keys->set_disabled(true);
80108015
snap_keys->set_toggle_mode(true);
8011-
snap_keys->set_pressed(true);
80128016
snap_keys->set_tooltip_text(TTR("Apply snapping to selected key(s)."));
8017+
snap_keys->set_pressed(EditorSettings::get_singleton()->get_project_metadata("animation_track_editor", "snap_keys", true));
8018+
bottom_hf->add_child(snap_keys);
8019+
snap_keys->connect(SceneStringName(toggled), callable_mp(this, &AnimationTrackEditor::_store_snap_states).unbind(1));
80138020

80148021
fps_compat = memnew(Button);
80158022
fps_compat->set_flat(true);

editor/animation/animation_track_editor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,7 @@ class AnimationTrackEditor : public VBoxContainer {
664664
void _new_track_property_selected(const String &p_name);
665665

666666
void _update_step_spinbox();
667+
void _store_snap_states();
667668

668669
PropertySelector *prop_selector = nullptr;
669670
PropertySelector *method_selector = nullptr;

0 commit comments

Comments
 (0)