Commit Graph

624 Commits

Author SHA1 Message Date
kobewi 8ec86e29c8 Rework how script is edited when clicking icon 2024-02-13 16:54:33 +01:00
A Thousand Ships 684752e75b
Replace error checks against `size` with `is_empty` 2024-02-09 12:50:15 +01:00
Rémi Verschelde 45e9d20d60
Merge pull request #87834 from TokageItLab/remove-dupecall-scene-tree-dock
Remove duplicated callings `set()` from SceneTreeDock
2024-02-05 14:50:09 +01:00
Silc Lizard (Tokage) Renew 87ab959ae0 Remove duplicated `set()` methods from SceneTreeDock 2024-02-03 10:01:27 +09:00
kobewi a2c2caa2f4 Fix shortcut name consistency in SceneTreeDock 2024-02-01 22:40:23 +01:00
passivestar 97a77c5193 Add support for search shortcut to all docks 2024-01-22 22:37:59 +04:00
kobewi 60e88f2def Display path in tooltips of sub-resource list 2024-01-16 23:51:57 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
QuirkyLemon 14b2533ef6 add tooltip for toggling favorite nodes 2024-01-12 15:26:13 -06:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
SaracenOne cb8a743e18
Fix behavior of 'Editable Children' toggle.
Prevents losing nodes owned by the edited scene when
toggling editable_children off on an instanced scene,
and makes the toggle compatible with undo-redo.
2024-01-09 13:34:38 +01:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Rémi Verschelde bb1006b2ac
Merge pull request #84284 from Haydoggo/script-switch
Preserve inspector focus when opening script from scene tree
2024-01-04 16:39:59 +01:00
Rémi Verschelde 1312a73304
Merge pull request #84135 from aXu-AP/reparent-select-fix
Fix nodes being deselected upon reparenting
2024-01-04 16:39:53 +01:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde df8b7fee81
Merge pull request #82802 from marcinn/fix-82756-prevent-saving-children-without-owner
Fix saving branch as scene saves children without owner set
2024-01-03 15:40:37 +01:00
Rémi Verschelde e78c5d0ec5
Merge pull request #86211 from TheSofox/node-duplicate-undo-fix
Fix duplicating multiple nodes at different depths in `SceneTreeDock`
2024-01-02 15:08:57 +01:00
Sofox ed648799ae Fixed duplicating nodes at different depths in SceneTreeDock 2023-12-22 15:20:08 +00:00
Michael Alexsander 589b7b0ed1
Fix scene dock search losing its default tooltip after typing an invalid filter 2023-12-17 20:07:46 -03:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov 8f33b4e83a Merge pull request #84882 from Invertex/select-instance-asset
Add "Show In FileSystem" to the Scene hierarchy right-click
2023-12-14 17:38:30 +01:00
Invertex 59787683a9 Added "Show In FileSystem" right-click option to Scene hierarchy nodes.
-Implemented shared function for focusing FileSystem tab and highlighting the node path.
-Created right-click option that shows up in the Scene-Hierarchy on Nodes that have a file-system source path.
-Created custom icon for this right-click option
-Implemented the shared function and icon for other places that already had this features (Open Node tab, Inspector Resource)

Co-authored-by: MewPurPur <mew.pur.pur@gmail.com>
2023-12-13 07:43:39 -08:00
Yuri Sizov 8cb2d20fce Merge pull request #85236 from YuriSizov/editor-flat-remote
Use the flat button style on switches in scene and node docks
2023-12-08 16:58:24 +01:00
Rémi Verschelde a8bc207252
Merge pull request #85181 from TheSofox/reparent-container-undo-fix
Restored Control properties when you undo a parenting of a Control to a Container
2023-12-04 23:10:51 +01:00
Yuri Sizov 3a67eb2675 Disable a prohibitively slow code branch when reparenting nodes 2023-11-29 17:39:39 +01:00
Yuri Sizov b1d6e336ea Use the flat button style on switches in scene and node docks 2023-11-22 20:10:35 +01:00
Sofox 5614e6d61c Restored Control layout properties you undo a parenting of a Control to a Container 2023-11-22 09:37:17 +00:00
Marcin Nowak 561fcf54a4 Fix #82756: Save branch as scene saves children without owner set 2023-11-16 01:14:04 +01:00
Rémi Verschelde 15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
Yuri Sizov b04b546092 Fix node names of submenu items across the editor
Also removes some programmer remarks and fixes some docs.
2023-11-08 14:42:42 +01:00
Yuri Sizov 8b11ae9cf5 Merge pull request #83596 from SaracenOne/node_copy_paste_fix
Fix ownership bugs in node copy and pasting.
2023-11-06 13:23:03 +01:00
Saracen 26576cc210 Fix ownership bugs in node copy and pasting. 2023-11-04 20:14:09 +00:00
Saracen 4f0790a214 Fix perform_node_renames handling of AnimationMixers track paths 2023-11-02 21:38:32 +00:00
Hayden Leete 887fd08260 preserve inspector focus when opening script 2023-11-01 18:19:27 +13:00
aXu-AP 414d84b159 Fix nodes being deselected upon reparenting 2023-10-31 21:15:04 +02:00
Rémi Verschelde dc3a643541
Merge pull request #83934 from KoBeWi/give_back_animations_to_animation_editor
Fix animation track paths updated by scene dock
2023-10-28 18:34:10 +02:00
Saracen 29c2615352 Remove toggling of unique names in subscenes 2023-10-28 02:55:45 +01:00
Rémi Verschelde dd74ffde95
Merge pull request #84022 from SaracenOne/validate_renames
Add foreign validation warning for rename actions.
2023-10-27 11:39:20 +02:00
Saracen 5deff6c2dd Add foreign validation warning for rename actions. 2023-10-26 22:14:48 +01:00
Rémi Verschelde 9f20a4a391
Merge pull request #81510 from garychia/unedit_created_script
SceneTreeDock: Avoid changing the currently edited object when attaching a script
2023-10-26 08:57:01 +02:00
kobewi 294ce2d2a7 Fix animation track paths updated by scene dock 2023-10-25 12:34:50 +02:00
Rémi Verschelde cd46addfca
Merge pull request #83597 from SaracenOne/duplicate_foreign_nodes
Support duplication of foreign nodes.
2023-10-25 10:28:45 +02:00
Rémi Verschelde f41e07bfe6
Merge pull request #81737 from Mickeon/fix-connection-inherited-packed-scene
Fix internal `CONNECT_INHERITED` being saved in PackedScene & Make Local
2023-10-24 10:53:37 +02:00
Rémi Verschelde 5e8bf6addf
Merge pull request #83815 from timothyqiu/as
Fix "as" capitalization in editor strings
2023-10-23 12:43:15 +02:00
Rémi Verschelde e19acaab47
Merge pull request #82486 from timothyqiu/the-node-who-lived
Fix "Some nodes are referenced by animation tracks" when deleting instance
2023-10-23 12:39:15 +02:00
Haoyu Qiu 2413952a4c Fix "as" capitalization in editor strings 2023-10-23 16:10:05 +08:00
Saracen 9d6f570c28 Support duplication of foreign nodes. 2023-10-18 17:00:47 +01:00
Rémi Verschelde 3d9ce123fa
Merge pull request #83386 from SaracenOne/make_local_inherited
Disallow 'Make Local' command on inherited nodes.
2023-10-16 13:00:59 +02:00
Saracen 0f36040321 Disallow 'Make Local' command on inherited nodes. 2023-10-15 13:35:19 +01:00
kobewi a5c984412c Don't try updating wrong NodePaths in resources 2023-10-13 13:31:13 +02:00
Rémi Verschelde fc64dfedfb
Merge pull request #80817 from garychia/reparent_node
Avoid creating any useless undo action when dragging nodes in place
2023-10-10 15:06:06 +02:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
Rémi Verschelde c3046f4c0d
Merge pull request #80721 from tom95/resource-node-path-renaming
Recurse into resources to check for changed node paths
2023-10-03 17:12:44 +02:00
Micky 021d92fece Fix internal CONNECT_INHERITED being saved in PackedScene & Make Local 2023-10-03 15:03:55 +02:00
Tom Beckmann 42a3108902 recurse into resources to check for changed node paths 2023-10-02 22:00:02 +02:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Haoyu Qiu b50d0ebb28 Fix "Some nodes are referenced by animation tracks" when deleting instance 2023-09-28 22:53:29 +08:00
kobewi e30e84d77a Fix submenus deleted accidentally 2023-09-26 16:47:33 +02:00
Hugo Locurcio edade7db23
Clarify filtering by node type and group in the Scene tree dock
This functionality has been available since 4.0, but was difficult
to discover since there was no tooltip and the placeholder didn't
mention it.
2023-09-22 23:09:35 +02:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
A Thousand Ships 75ee58fd04 [Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov fa31a9fe2a Merge pull request #81673 from KoBeWi/only_child
Don't paste nodes as sibling of scene root
2023-09-15 19:48:44 +02:00
kobewi 4778b53da9 Don't paste nodes as sibling of scene root 2023-09-15 16:05:17 +02:00
Chia-Hsiang Cheng 3d7facd21c Remove animation tracks with correct indices 2023-09-15 14:22:09 +08:00
Yuri Sizov 9948f03344 Merge pull request #79920 from KoBeWi/most_sane_path
Automatically add path to built-in scripts
2023-09-14 15:21:19 +02:00
Chia-Hsiang Cheng d12d955e68 Avoid changing the currently edited object when attaching a script 2023-09-10 17:16:09 +08:00
风青山 95248a7d72 Fix bugs of copying scene root node or pasting node as scene root
Fix crash when pasting a node as a new scene root.
Fix owner was not set correctly when copying scene root node from unsaved scene.

The owner of the root node is `nullptr`, which was ignored before.
2023-09-07 21:57:37 +08:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde 0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Chia-Hsiang Cheng 41441765cd Avoid creating any useless undo action when dragging nodes in place 2023-08-26 22:00:36 +08:00
Rémi Verschelde c081d1bd24
Merge pull request #78816 from kleonc/scene-tree-fix-drag-drop-to-parent-with-internal-nodes
Fix drag-dropping nodes to parent with internal nodes
2023-08-16 16:54:06 +02:00
Yuri Sizov 2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
RandomWalrus13 585633ea85 Fix menu items that trigger secondary interface missing ellipsis
fix #80347
2023-08-09 08:30:35 -05:00
Rémi Verschelde 016621f51d
Merge pull request #79467 from Calinou/editor-add-paste-as-sibling
Add a shortcut to paste nodes as sibling of the selected node
2023-08-07 14:47:27 +02:00
Yuri Sizov e4b8dc81b8 Merge pull request #78300 from ajreckof/fix-replace-node-destroying-Node-properties
Auto-update properties when replacing a node
2023-08-03 22:37:40 +02:00
ajreckof 4da9927faf Fix replace node deleting `Node` properties.
Update editor/scene_tree_dock.cpp

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-08-03 18:38:24 +02:00
kobewi ed6ad376c6 Automatically add path to built-in scripts 2023-07-26 14:52:45 +02:00
Chia-Hsiang Cheng e0cbbe4bbd Avoid duplicating the 'Filters' section 2023-07-23 12:14:28 +08:00
Hugo Locurcio c0e3dc55ba
Add a shortcut to paste nodes as sibling of the selected node
This makes quick pasting jobs easier when you don't want a heavily
nested structure, by pressing Ctrl + Shift + V (Cmd + Shift + V on macOS)
instead of Ctrl + V (Cmd + V on macOS).
2023-07-14 17:35:23 +02:00
kleonc 3f6e35bdb2 Fix drag-dropping nodes to parent with internal nodes 2023-07-07 19:24:44 +02:00
hzhang 25746716f3 Fix drag-dropping nodes at the end of children list 2023-06-19 20:42:33 +08:00
Rémi Verschelde c3e5e4ed4b
Merge pull request #68599 from Rindbee/update-edited_scene_root-in-time
Update the edit scene root in time after it is replaced
2023-06-12 17:08:50 +02:00
Rindbee eb74079dfb Update the edit scene root in time after it is replaced
When changing the type of the edited scene root node, it may be necessary
to update edited scene root in time for the child nodes to work properly.
2023-06-12 21:49:30 +08:00
kobewi 05663b8633 Minor improvements to sub-resource list 2023-05-26 14:37:30 +02:00
kobewi e729c46b19 Filter extraneous resources from sub-resource list 2023-05-18 01:15:27 +02:00
HolonProduction 7814dedc91 Preserve scene unique names when saving branch as scene. 2023-04-30 13:33:43 +02:00
kobewi 36b4ed4fa4 Prompt to confirm anim track delete on node delete 2023-04-25 17:55:05 +02:00
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
kobewi 5a99304251 Add a list of all sub-resources used in the scene 2023-04-05 21:01:49 +02:00
Yuri Sizov 1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
SnailRhymer 526d299623 Stop pasted child nodes being assigned an owner when previously unowned
Make copy and pasting match duplication's ownership transferral behavior by storing ownership information in the duplicated nodes on the node clipboard, then checking that information when setting owners for pasted nodes.
2023-03-15 16:12:51 +01:00
kobewi 360c71c3f6 Prevent wrong unedit when clicking editor viewport 2023-02-01 00:50:34 +01:00
Aaron Franke 0e7785333f
Improve clarity of Tree's activated/double-clicked signals
Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-01-24 15:55:09 -06:00
Yuri Sizov fab9926a95
Merge pull request #65137 from dalexeev/editor-naming
Rearrange `editor/naming/*` project settings
2023-01-24 22:26:03 +03:00
Rémi Verschelde 5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
kobewi 4ae168eb04 Rework EditorPlugin editing logic 2023-01-22 00:20:45 +01:00
kobewi b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Danil Alexeev 8f706be6fa
Rearrange `editor/naming/*` project settings 2023-01-12 11:41:13 +03:00
Yuri Sizov 00b5222f66 Fix inconsistent state of Controls when editing and running scenes 2023-01-09 15:54:04 +03:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00