@@ -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+
52845289void 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 );
0 commit comments