Commit Graph

1499 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio 831b4a5366 Improve startup benchmarking
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
Pedro J. Estébanez 2648232fe8 Make certain editor callbacks thread-safe 2023-05-20 11:17:41 +02:00
Yuri Sizov 17f492fb82 Expose dialog parent-and-popup logic to the API 2023-05-15 19:49:28 +02:00
Pedro J. Estébanez 45d0b38076 Enhance thread safety of loaders and importers 2023-05-12 17:44:48 +02:00
Pedro J. Estébanez 7537a0521f Simplify ResourceLoader error callbacks 2023-05-12 17:44:48 +02:00
Aaron Franke b4129680fb
Sort the list of addons before saving them 2023-05-11 13:39:26 -05:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
Rémi Verschelde 5271186f2f
Merge pull request #75901 from reduz/refactor-node-processing
Refactor Node Processing to allow Scene Multithreading
2023-05-10 12:46:44 +02:00
trollodel b4d6b47c17 Add multi window code and shader editors 2023-05-10 09:14:21 +02:00
Juan Linietsky 98c655ec8d Refactor Node Processing
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.

This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
2023-05-09 19:17:51 +02:00
Fredia Huya-Kouadio bd1bc68ba0
Merge pull request #75718 from m4gr3d/add_scale_editor_icons_main
Adds a `scale_gizmo_handles` entry to the `Touchscreen` editor settings
2023-05-07 17:05:12 -07:00
Fredia Huya-Kouadio 30824e9818 Adds a `scale_gizmo_handles` entry to the `Touchscreen` editor settings
When enabled, this scales the editor icons to improve usability on touchscreen devices.
In addition this commit fixes touch detection for the collision_shape_2d_editor_plugin so it scales with the icons size.
2023-05-07 15:55:28 -07:00
Max Hilbrunner f6bf51ca49
Merge pull request #75864 from KoBeWi/assassin_of_shaders 2023-05-05 14:37:54 +02:00
Rémi Verschelde 8f7b09916d
Merge pull request #76026 from YuriSizov/editor-running-up-that-gui
Extract editor run toolbar into its own component
2023-04-26 12:15:29 +02:00
Rémi Verschelde e54ebaf0eb
Merge pull request #76421 from timothyqiu/editor-dialog
Fix inconsistent file dialog settings usage
2023-04-25 10:01:06 +02:00
Daylily-Zeleen b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Haoyu Qiu 2ccc9e1456 Fix inconsistent file dialog settings usage
* Project Manager ignores display mode settings.
* EditorFileDialog's default display mode and show hidden files settings
  are not updated when corresponding editor settings change.
2023-04-25 09:11:57 +08:00
Yuri Sizov 8a74d8438f Extract editor run toolbar into its own component
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
Yuri Sizov 49d7041d34 Decouple EditorInterface from EditorPlugin
- Simplify some includes in the process.
- Also exposes EditorInterface.movie_maker_enabled as a property.
2023-04-17 21:59:09 +02:00
Rémi Verschelde c5d9470c7c
Merge pull request #75765 from YuriSizov/editor-node-optimize-includes
Improve includes of `EditorNode` (and everything else)
2023-04-11 19:40:24 +02:00
kobewi 71011e0855 Adjust size of some dialogs 2023-04-10 17:04:53 +02:00
kobewi aaf02ec04a Close built-in shaders when closing scene 2023-04-09 22:10:43 +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 ddc8567022 Scene tab closing refactor 2023-04-03 22:19:07 +02:00
Yuri Sizov ee2cc347c6 Add support for icons in GDExtension classes
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-03-31 21:39:02 +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
Yuri Sizov 9fae65404a Streamline class icon resolution in the editor 2023-03-31 21:17:59 +02:00
Haoyu Qiu 26553be424 Turn off auto translate for some editor controls
* Scene tab
* Animation name list in Animation panel
* Feature profile name list in Editor Feature Profile dialog
* Layout names in editor layout menu
* Subresource list in Inspector dock
* Resource type shown in EditorResourcePicker
* Enum dropdowns in inspectors: We'll eventually allow auto translating
  these after implementing a way to opt-out auto translation on a
  property-by-property basis and a way to extract enumerators.
2023-03-28 23:18:32 +08:00
Yuri Sizov b57f3c2e67
Merge pull request #75331 from KoBeWi/remove_removed_plugins
Remove disabled plugins from active plugins
2023-03-27 11:42:33 +02:00
Haoyu Qiu 8ab11127bc Make Add Scene button the same height as scene tabs 2023-03-27 16:13:17 +08:00
kobewi 0b8b37c35d Remove disabled plugins from active plugins 2023-03-25 21:12:47 +01:00
Yuri Sizov ac2e82463c
Merge pull request #74114 from dalexeev/editor-help-enable-context-menu
Enable `RichTextLabel` context menu if selection is enabled
2023-03-16 12:19:05 +01:00
Yuri Sizov 5dd52f47b1
Merge pull request #74795 from KoBeWi/MassNodeEdit
Fix MultiNodeEdit not cleared after deleting nodes
2023-03-15 15:39:13 +01:00
John Veness 4505049ba6 Corrected capitalisation of macOS
In documentation and comments, ignoring thirdparty code
2023-03-12 16:48:52 +00:00
kobewi fbffd686e2 Fix MultiNodeEdit not cleared after deleting nodes 2023-03-11 22:46:31 +01:00
Ninni Pipping 3de5332fcb Document `editor/naming/scene_name_casing` setting
Moved definitions of editor related project settings to `editor/register_editor_types.cpp` to make documentation work.
2023-03-09 21:17:49 +01:00
Rémi Verschelde 009bdc587c
Merge pull request #74634 from Haydoggo/floating-dock-error-fix
Fix errors when closing floating docks
2023-03-09 12:20:22 +01:00
Hayden Leete 21578e0bb4 Fix errors when closing floating docks
dock->get_index() on line 4463 was not behaving as expected
due to dock having an internal sibling, so now we just get the
index excluding internal nodes.

line 4742 would throw an error if you made multiple docks
floating then redocked the end docks first, but no longer
2023-03-09 17:00:50 +13:00
Yuri Sizov 496bd94c21 Prevent cache corruption when saving resources in the editor 2023-03-08 19:46:55 +01:00
Haoyu Qiu ac7a4f6e87 Fix coloring of the renderer options button 2023-03-08 19:12:43 +08:00
Danil Alexeev 06c7940a5a
Enable `RichTextLabel` context menu if selection is enabled 2023-03-06 13:18:36 +03:00
Rémi Verschelde 0885e4b931
Merge pull request #73365 from bruvzg/no_transient_children
Automatically reparent editor message dialogs to avoid error spam.
2023-03-02 11:41:17 +01:00
Haoyu Qiu 43bf0ca8d2 Fix dock name lost translation after layout change
* After you click in the dock select panel
* After you load an editor layout
2023-03-01 22:18:51 +08:00
Rémi Verschelde a5e944661d
Merge pull request #73775 from SaracenOne/fix_node_ownership_on_scene_update_addition
Fix ownership bug on ancestor nodes when scene is reimported
2023-02-23 13:53:47 +01:00
George Marques 554b55ae74
Load script for addons without cache
Since they are postponed sometimes due to transient script errors, it
needs to try again without the cache to compile the script again
instead of using the failed one.
2023-02-22 15:52:36 -03:00
SaracenOne 7bbd7833de Fix ownership bug on ancestor nodes when scene is reimported. 2023-02-22 18:21:14 +00:00
Davi 21fcf657ce Add Output font size in Theme regeneration conditions 2023-02-21 17:45:20 -03:00
bruvzg 921f3b7589
Automatically reparent editor message dialogs to avoid error spam. 2023-02-21 12:32:11 +02:00
bruvzg b3c64675cc
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input. 2023-02-20 22:02:47 +02:00
Gilles Roudière 88f3d18bc6 Fix TileMap dragging selection 2023-02-17 17:55:03 +01:00