diff options
author | kobewi <kobewi4e@gmail.com> | 2023-03-09 21:12:26 +0100 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2023-03-09 21:12:26 +0100 |
commit | 45b47d558473623d2ae3d11df1cbfb84fb72a1e5 (patch) | |
tree | 263a5746bcd4ec553e7dd7f3bc435e4df12541e2 /editor/plugins/canvas_item_editor_plugin.cpp | |
parent | c1128e911ccd6f1e8c35646df804d894652a58f1 (diff) | |
download | redot-engine-45b47d558473623d2ae3d11df1cbfb84fb72a1e5.tar.gz |
Properly remember snapping options per-project
Diffstat (limited to 'editor/plugins/canvas_item_editor_plugin.cpp')
-rw-r--r-- | editor/plugins/canvas_item_editor_plugin.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index d610f1b937..7b9c1c14ca 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -891,6 +891,14 @@ void CanvasItemEditor::_commit_canvas_item_state(List<CanvasItem *> p_canvas_ite void CanvasItemEditor::_snap_changed() { static_cast<SnapDialog *>(snap_dialog)->get_fields(grid_offset, grid_step, primary_grid_steps, snap_rotation_offset, snap_rotation_step, snap_scale_step); + + EditorSettings::get_singleton()->set_project_metadata("2d_editor", "grid_offset", grid_offset); + EditorSettings::get_singleton()->set_project_metadata("2d_editor", "grid_step", grid_step); + EditorSettings::get_singleton()->set_project_metadata("2d_editor", "primary_grid_steps", primary_grid_steps); + EditorSettings::get_singleton()->set_project_metadata("2d_editor", "snap_rotation_offset", snap_rotation_offset); + EditorSettings::get_singleton()->set_project_metadata("2d_editor", "snap_rotation_step", snap_rotation_step); + EditorSettings::get_singleton()->set_project_metadata("2d_editor", "snap_scale_step", snap_scale_step); + grid_step_multiplier = 0; viewport->queue_redraw(); } @@ -4892,6 +4900,15 @@ void CanvasItemEditor::set_state(const Dictionary &p_state) { viewport->queue_redraw(); } +void CanvasItemEditor::clear() { + grid_offset = EditorSettings::get_singleton()->get_project_metadata("2d_editor", "grid_offset", Vector2()); + grid_step = EditorSettings::get_singleton()->get_project_metadata("2d_editor", "grid_step", Vector2(8, 8)); + primary_grid_steps = EditorSettings::get_singleton()->get_project_metadata("2d_editor", "primary_grid_steps", 8); + snap_rotation_step = EditorSettings::get_singleton()->get_project_metadata("2d_editor", "snap_rotation_step", Math::deg_to_rad(15.0)); + snap_rotation_offset = EditorSettings::get_singleton()->get_project_metadata("2d_editor", "snap_rotation_offset", 0.0); + snap_scale_step = EditorSettings::get_singleton()->get_project_metadata("2d_editor", "snap_scale_step", 0.1); +} + void CanvasItemEditor::add_control_to_menu_panel(Control *p_control) { ERR_FAIL_COND(!p_control); @@ -5422,6 +5439,10 @@ void CanvasItemEditorPlugin::set_state(const Dictionary &p_state) { canvas_item_editor->set_state(p_state); } +void CanvasItemEditorPlugin::clear() { + canvas_item_editor->clear(); +} + void CanvasItemEditorPlugin::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { |