1
0
mirror of https://github.com/godotengine/godot.git synced 2026-01-03 19:11:41 +00:00
Commit Graph

348 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio
4bc8918c19 Add support for specifying whether to play the current scene or a specific scene in XR or regular mode
The functionality is only activated for the XR Editor, when a project has OpenXR enabled.
2025-01-12 22:02:24 -08:00
Pāvels Nadtočajevs
b252867145 [macOS/Windows] Add Emoji & Symbols context menu item to LineEdit/TextEdit to show system character picker. 2025-01-10 09:25:34 +02:00
kobewi
24eadaa6a4 Reorganize EditorNode menu options 2025-01-09 12:21:56 +01:00
Rémi Verschelde
0dcc1a37d3 Merge pull request #101094 from KoBeWi/what_if
Simplify scene tabs option disabling
2025-01-08 15:53:26 +01:00
kobewi
a705962d73 Simplify scene tabs option disabling 2025-01-08 00:23:52 +01:00
Rémi Verschelde
f7b9a6a8b1 Merge pull request #100091 from AeioMuch/fix_nodepath_in_history
Add missing cleanup of editor history & set appropriate class icon for object in it
2025-01-08 00:20:58 +01:00
Rémi Verschelde
3e53d73996 Merge pull request #101038 from KoBeWi/QuickerOpenDialog
Remember QuickOpenDialog history between sessions
2025-01-07 23:17:48 +01:00
Rémi Verschelde
ce6c3c5c28 Merge pull request #100556 from KoBeWi/unlimited_contextizer
Add more menus support to EditorContextMenuPlugin
2025-01-07 23:17:23 +01:00
AeioMuch
96e59b99ba Cleanup editor history when opening the history menu popup & set appropriate class icon for object in it. Handle do&undo for selection when reparenting 2025-01-07 23:15:30 +01:00
bruvzg
cc1db569e1 [TextServer] Improve embedded objects handling performance. 2025-01-07 08:01:29 +02:00
Rémi Verschelde
3de10d58ff Merge pull request #101145 from hpvb/fix-scenetree-editor-marked
Make sure marked nodes are reset on scene change
2025-01-06 22:49:09 +01:00
Rémi Verschelde
11f95e7feb Merge pull request #99350 from bruvzg/fs_mime
Support MIME types in file dialog filters on macOS and Linux.
2025-01-06 22:46:59 +01:00
Rémi Verschelde
ae205b0fc6 Merge pull request #98926 from YeldhamDev/out_all_of_you
Add toggle to hide filtered out parents in the "SceneTree" dock
2025-01-06 22:46:48 +01:00
HP van Braam
7ce9c339b3 Make sure marked nodes are reset on scene change
The performance improvement on the SceneTreeEditor caused the previous
state of the SceneTreeEditor::marked HashSet to matter, when it
previously was always just overwritten when markings changed. The old
code thus had no reason to ever clear the marking list.

We now make sure that whether the SceneTreeEditor is hidden or not that
when the edited scene changes we always reset the entire state of the
editor, including the marked HashSet.
2025-01-05 01:58:14 +01:00
Pāvels Nadtočajevs
e1f129cb52 Support MIME types in file dialog filters on macOS and Linux. 2025-01-04 22:05:35 +02:00
kobewi
e167f4df37 Remember QuickOpenDialog history between sessions 2025-01-03 11:51:28 +01:00
Ricardo Subtil
b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
Rémi Verschelde
e13facfa72 Merge pull request #100679 from hakro/quick_open_context_menu
Add a context menu to quick open dialog
2025-01-03 00:48:51 +01:00
hakro
cf8376ba1f Add a context menu to quick open dialog 2025-01-02 20:05:51 +01:00
Thaddeus Crews
b98eeb3899 Merge pull request #99096 from kitbdev/bottom_panel_force_switch
Make bottom panel switch when pinned and removed
2024-12-30 08:58:55 -06:00
Michael Alexsander
38ff1500c7 Add toggle to hide filtered out parents in the "SceneTree" dock 2024-12-24 13:43:01 -03:00
A Thousand Ships
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying
73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
Rémi Verschelde
91e72100e9 Merge pull request #100670 from hpvb/fix-100666
Don't recursively call `_update_tree`
2024-12-20 23:57:43 +01:00
Rémi Verschelde
86094a88ef Merge pull request #100648 from aryan-11825114/fix-profiler-autostart-indicator-going-to-wrong-debugger
Fix autostart indicator going to wrong debugger
2024-12-20 23:57:24 +01:00
Rémi Verschelde
a11364d1e6 Merge pull request #99010 from Hilderin/embedding-game-process
Embed game process in editor
2024-12-20 23:56:43 +01:00
HP van Braam
62cff66383 Don't recursively call _update_tree
When a node was previously selected and the test "selected == p_node"
was true the code would use set_selected() to change the selection to
nullptr. However, if the tree is dirty, which is always true in this
codepath, this would lead to a recursive call to _update_tree()
ultimately leading to a crash due to us running out of stack.

This fixes #100666
2024-12-20 23:01:44 +01:00
aryan-11825114
b3e15af8ad Fix autostart indicator going to wrong debugger 2024-12-20 14:25:57 +05:30
Thaddeus Crews
6c04997d0d Merge pull request #100596 from bruvzg/flt_upd
[EditorFileDialog] Do not update file selection on filter change if nothing was previously selected.
2024-12-19 20:00:16 -06:00
Thaddeus Crews
ddf6e9e3eb Merge pull request #100595 from bruvzg/win_drv_letter
[Windows, FileDialog] Prepend drive letter to the absolute paths without drive letter.
2024-12-19 20:00:15 -06:00
Thaddeus Crews
d48ada19e2 Merge pull request #81892 from aaronfranke/scene-editor-warn-root-transform
Add a warning for when the scene root node is transformed
2024-12-19 20:00:04 -06:00
bruvzg
348ee200f8 [EditorFileDialog] Do not update file selection on filter change if nothing was previously selected. 2024-12-19 10:01:26 +02:00
bruvzg
b9a00feb66 [Windows, FileDialog] Prepend drive letter to the absolute paths without drive letter. 2024-12-19 09:47:46 +02:00
Hilderin
9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
kobewi
ba54a2805a Add more menus support to EditorContextMenuPlugin 2024-12-18 21:30:45 +01:00
Aaron Franke
e1429cd7d3 Add a warning for when the scene root node is transformed 2024-12-17 23:47:15 -08:00
Haoyu Qiu
bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +08:00
Thaddeus Crews
7efe038eed Merge pull request #97492 from Geometror/profiler-autostart-indicator
Add profiler autostart indicator to EditorRunBar
2024-12-16 12:09:59 -06:00
Rémi Verschelde
08508d2e01 Merge pull request #99700 from hpvb/scene_tree_editor_performance
Improve Scene Tree editor performance
2024-12-16 17:16:00 +01:00
Hendrik Brucker
9f8bbe43ee Add profiler autostart indicator to EditorRunBar 2024-12-16 10:15:24 +01:00
HP van Braam
6f7525c396 Improve Scene Tree editor performance
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.

Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.

In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.

We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.

SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.

There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.

This fixes #83460

I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Timo Schwarzer
11bf2da9de Improve editor file dialog options 2024-12-11 15:11:34 +01:00
Chaosus
9a8d6628de [Scene] Add SceneStringName::hover 2024-12-11 11:11:25 +03:00
Chaosus
ba39b078f5 [Scene] Add SceneStringName::FlatButton 2024-12-10 11:12:26 +03:00
Lukas Tenbrink
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
Haoyu Qiu
1ef3bd5768 Fix UI inconsistencies in EditorFileDialog's toolbar
- Sort button has different stylebox compared to others
- The top toolbar has a separator on the right side when in open mode
- Update fav up/down buttons when fav list changes
2024-12-05 16:56:59 +08:00
Thaddeus Crews
44cda51110 Merge pull request #98812 from bruvzg/macos_bundles_as_file
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
bruvzg
d5e599f77e [macOS] Handle bundles as files in the embedded file dialogs. 2024-12-03 12:41:52 +02:00
Pāvels Nadtočajevs
6a331dafe1 Fix native file dialog filter selection in save dialogs. 2024-12-02 18:38:53 +02:00
Rémi Verschelde
aab12fd273 Merge pull request #99652 from bruvzg/fd_cd_win
[Windows] Fix root and current folder in native file dialog.
2024-12-02 17:20:27 +01:00