Commit graph

563 commits

Author SHA1 Message Date
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
Rémi Verschelde
49794911e8
Merge pull request #70779 from jamesmintram/jamesm/bugfix/add-missing-shortcut-case-for-reparent
Add missing case statement to handle re-parent to new node
2023-01-03 12:31:50 +01:00
James Mintram
35d0f712ba Add missing case statement to handle re-parent to new node 2022-12-31 20:32:32 +00:00
stmSi
b2a398d2a5 Editor: Fix Paste From Clipboard make two root separate scenes pointing to same file 2022-12-27 17:12:36 +06:30
kobewi
0f5018b483 Remove unnecessary condition 2022-12-17 23:04:03 +01:00
Rémi Verschelde
6ee3268189
Merge pull request #65228 from Mickeon/fix-packed-scene-unique-name-root
Fix "Save Branch as Scene" storing root Node's `unique_name_in_owner`
2022-12-05 18:08:10 +01:00
trollodel
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
rune-scape
847c9bd248 GDScript: Avoid using get_global_class_native_base 2022-11-27 03:55:53 -05:00
kobewi
8a3d2f4e0c Cleanup remaining EditorUndoRedoManager usages 2022-11-24 18:56:22 +01:00
kobewi
7797557f91 Allow directly instantiate scripts in scene tree 2022-11-22 18:40:08 +01:00
Rémi Verschelde
994c935d97
Merge pull request #63601 from YeldhamDev/tooltip_stuff
Small changes to some tooltips
2022-11-17 13:48:46 +01:00
Rémi Verschelde
6d2a7cb46d
Merge pull request #68709 from MewPurPur/instance-begone-part3
Remove more instances of 'instance' being used as a verb
2022-11-16 14:41:42 +01:00
VolTer
3b4f5f8a04 Remove more instances of 'instance' being used as a verb 2022-11-16 14:01:53 +01:00
Michael Alexsander
39e6beed98 Small changes to some tooltips 2022-11-12 22:01:09 -03:00
kobewi
6b2febe794 Don't reparent dragged node when non needed 2022-11-06 20:19:00 +01:00
kobewi
15831e381b Unify usage of undo_redo in editor 2022-11-02 17:51:58 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
1b3847bb74
Merge pull request #67560 from timothyqiu/mp-default
Fix `SceneTreeEditor::_update_tree()` binding
2022-10-31 11:08:15 +01:00
Rémi Verschelde
420eb1aa34
Merge pull request #67445 from Zylann/rename_queue_delete
Rename queue_delete => queue_free
2022-10-31 10:51:18 +01:00
Marc Gilleron
7543a5e014 Rename queue_delete => queue_free
# Conflicts:
#	editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
Micky
809dad907a Add buttons in Remote Scene Tree
A Scene button to any scene instantiated from file. When clicked, it opens the original PackedScene.

A toggle visibility button is also available.
2022-10-20 18:02:41 +02:00
kobewi
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Haoyu Qiu
3d919f84e5 Fix SceneTreeEditor::_update_tree() binding 2022-10-18 10:40:30 +08:00
kobewi
b754df2b99 Fix node name casing issues
Co-authored-by: ryburnj <jordanryburn@gmail.com>
2022-10-10 22:31:26 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Micky
33092b6f45 Expose and warn about Node Filters in Scene Tree Dock
Adds "Filter by Type" and "Filter by Group" in the Scene Tree Dock's MenuButton.
Hovering on them displays an useful tooltip.
When selecting these items, the matching parameter is appended to the terms, and the caret is automatically brought to the end.

When typing a filter that cannot be identified, a warning icon is displayed. The reason is explained as a tooltip.

The same options are also quickly available by right-clicking or middle-clicking in the text field.
2022-10-06 13:36:40 +02:00
Ninni Pipping
df9eaf5f47 Tree recursive folding 2022-09-21 13:28:29 +02:00
Rémi Verschelde
a293f2204c Merge pull request #65134 from Mickeon/editor-unique-name-toggle
Make "Access as Unique Name" a shortcut
2022-09-19 22:03:00 +02:00
Micky
f7231b67e1 Make "Access as Unique Name" a shortcut
The shortcut's name is "scene_tree/toggle_unique_name", not mapped to anything by default.

It also dynamically changes the text based on whether or not the unique name is going to be enabled or disabled.

Finally, it spaces the shortcut in the menu close to "Copy Node Path" if possible.
2022-09-19 17:16:50 +02:00
Rémi Verschelde
e5594c26b1
Merge pull request #44143 from KoBeWi/callable_multiplayer 2022-09-18 13:47:04 +02:00
Tomasz Chabora
882a4f8906 Port remaining connections to callable_mp 2022-09-18 13:08:54 +02:00
ryburnj
9d6af9323a Fix inconsistent scene file name casing by moving existing Name_Casing code to separate function in editor_node, and adding a call from both editor_node and scene_tree_dock. 2022-09-18 11:17:22 +10:00
Micky
a2c3b4ea92 Fix "Save Branch as Scene" storing root Node's unique_name_in_owner
Fix #64425
2022-09-17 11:04:59 +02:00
kobewi
d8093e83b8 Fix undo actions in SceneTreeDock 2022-09-08 22:57:54 +02:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
kobewi
80c78387a2 Remove pathed get_node() use from scene tree dock 2022-09-03 23:10:07 +02:00
Rémi Verschelde
ae349d8227
Merge pull request #64377 from Mickeon/rename-canvas-redraw
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30 14:47:41 +02:00
Rémi Verschelde
432b25d364
Merge pull request #65066 from aaronfranke/str-path-join 2022-08-30 10:01:11 +02:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
kleonc
5d7ff1bf44 SceneTreeDock Toggling unique name in owner for all selected nodes 2022-08-29 19:18:52 +02:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Micky
ef5b9a06a9 Rename hint_tooltip to tooltip_text & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
kobewi
ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
Umang Kalra
7ef5dfcfc3 Changed the title of change node type dialog 2022-08-20 22:53:07 +05:30
bruvzg
8c56a7416b
Implement MenuBar control to wrap PopupMenus or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00
kobewi
c3606cb5f3 Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
Rémi Verschelde
ba3734e69a
Merge pull request #63603 from aaronfranke/editor-paths
Move editor paths into the EditorPaths class
2022-07-29 19:31:59 +02:00
Rémi Verschelde
74d92bf459
Merge pull request #43081 from KoBeWi/property_keeper
Keep property values when extending script
2022-07-29 19:29:52 +02:00
Aaron Franke
ac870ab1c8
Move editor paths into the EditorPaths class 2022-07-29 11:07:30 -05:00
Tomasz Chabora
44cf3c22ac Keep property values when extending script 2022-07-29 16:57:50 +02:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Silc Renew
063f66d738 fix unmarked unique when make local
Co-authored-by: Juan Linietsky reduzio@gmail.com
2022-07-26 20:56:35 +09:00
kobewi
b42bbca266 Fix node dragging not working when dock is moved 2022-07-21 23:57:52 +02:00
FireForge
97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
Rémi Verschelde
b942c1ffe3
Merge pull request #62827 from fire-forge/ok-cancel
Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
2022-07-13 14:10:38 +02:00
FireForge
af19501cc7 Seperate filter and description in FileDialog.add_filter() 2022-07-09 10:51:45 -05:00
FireForge
e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
Rémi Verschelde
91b984a507
Merge pull request #61966 from Rindbee/fix-internal-nodes-owned
Fix setting owner on internal nodes when save branch as scene
2022-06-23 14:08:12 +02:00
FireForge
f85eb4164a Expose PopupMenu set/get_item_horizontal_offset()
- Renames setter from set_item_h_offset()
- Adds getter
2022-06-15 02:08:44 -05:00
Rindbee
472d16be4f Fix setting owner on internal nodes when save brach as scene 2022-06-12 13:57:42 +08:00
kobewi
ec6bbd486f Don't handle pending clicks outside scene tree 2022-06-10 15:14:31 +02:00
FireForge
7f7244f04a Use consistent casing in editor filter/search bars 2022-05-28 18:43:16 -05:00