Commit graph

547 commits

Author SHA1 Message Date
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
Rémi Verschelde
3c9cc7914a
Merge pull request #61162 from KoBeWi/drag_nodes_like_a_boss 2022-05-23 22:08:03 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
kobewi
95bbffff48 Only switch to node when not dragging it 2022-05-18 23:25:32 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
reduz
8580f377a3 Implement Scene Unique Nodes
Implements https://github.com/godotengine/godot-proposals/issues/4096

* Nodes can be marked unique to the scene in the editor (or via code).
* Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched.
* Implementation is very optimal, as these nodes are cached.
2022-04-25 12:19:17 +02:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
bruvzg
d1207a0504
[Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
Hendrik Brucker
314430b868 Cleanup EditorNode and EditorData
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-03-30 20:12:26 +02:00
Haoyu Qiu
ccde2bf66f Add property name style toggle to Inspector 2022-03-28 18:52:09 +08:00
Vitika9
46ca4737f1 Removed extra separator in absence of ChangeType and Rename 2022-03-18 14:42:48 +05:30
Aaron Franke
918b09cabc
Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00