Commit Graph

1733 Commits

Author SHA1 Message Date
Rémi Verschelde 039379d272
Merge pull request #84193 from kitbdev/dock-manager-extract
Extract `EditorDockManager` from `EditorNode`
2024-01-16 10:35:11 +01:00
kit 2323f040e9 Extract editor dock manager 2024-01-15 15:15:42 -05:00
Rémi Verschelde 03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
Juan Linietsky 15144c24bd Implement a transient_to_focused mode
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.

This deprecates the "unparent_when_invisible" function introduced by #76025.
2024-01-14 18:51:44 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
kobewi 2e09985c0d Fix² behavior of ResourceFormatLoader CACHE_MODE_REPLACE 2024-01-09 16:01:37 +01:00
Rémi Verschelde 9ca3d3ec83
Revert "Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`" 2024-01-09 10:49:14 +01:00
Rémi Verschelde 15186b6606
Merge pull request #72461 from Calinou/editor-renderer-select-mobile
Make the rendering method dropdown also affect mobile if compatible
2024-01-08 11:48:59 +01:00
Aaron Franke 9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06: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
Hugo Locurcio 57f3bdb1e5
Make the rendering method dropdown also affect mobile if compatible
This prevents visual discrepancies between desktop and mobile platforms
after switching rendering methods using this dropdown.

The restart dialog now displays which rendering methods will be used,
and the dropdown tooltip also lists caveats related to specific platforms.
2024-01-03 18:38:37 +01:00
Vedat Gunel f35f1a1849 Store horizontal and vertical split offsets separately in FileSystem dock 2023-12-25 18:11:18 +03:00
Yuri Sizov aae58cd688 Merge pull request #85887 from YuriSizov/editor-enforce-min-window
Correctly enforce minimum window size in editor
2023-12-20 15:07:48 +01:00
Yuri Sizov 416e594eb3 Correctly enforce minimum window size in editor
Also set the maximum size for the language
picked in the project manager.
2023-12-20 13:19:21 +01:00
kobewi ce9fec9b4d Improve editing of min/max particle properties 2023-12-20 06:31:08 +01:00
Yuri Sizov 02d4579fa2 Merge pull request #85000 from bruvzg/ed_ui_direction
[Editor] Add option to override editor UI layout direction.
2023-12-19 13:01:35 +01:00
Yuri Sizov c3ee2b9c52 Merge pull request #86008 from Delsin-Yu/4.2
Correctly free relevant scripts when closing scene tabs
2023-12-18 18:18:05 +01:00
Yuri Sizov 644e236e5c Merge pull request #83987 from bruvzg/macos_window_and_help
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +01:00
DE-YU b37b40ff76 Correctly free relevant scripts when closing scene tabs 2023-12-18 21:41:07 +08:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov a5529f759c Merge pull request #86129 from TheSofox/color-picker-memory
Remember last `color_mode` and `picker_shape` in `ColorPicker`s in the editor
2023-12-14 21:22:39 +01:00
Sofox 7979412c75 Remember last 'color_mode' and 'picker_shape' in 'ColorPicker's in the editor 2023-12-14 18:57:57 +00:00
Yuri Sizov 4269a57b0c Merge pull request #85387 from jsjtxietian/fix-forward-plus-crash
Use render method from OS instead of project settings in compositor RD
2023-12-14 17:38:43 +01:00
jsjtxietian 453c2246b6 Use render method from OS in compositor RD; Update related UI 2023-12-14 11:38:46 +08:00
bruvzg 0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +02:00
Aaron Franke 52f1b86ebc
Fix referring to ResourceImporterScene static importers via instances 2023-12-11 20:01:39 -06:00
Rémi Verschelde 8f2b5cc109
Merge pull request #82899 from aaronfranke/import-settings-dialogs
Rename ImportSettings dialogs to have "Dialog" in the name
2023-12-12 00:15:59 +01:00
Yuri Sizov 07677f0f51 Merge pull request #85885 from YuriSizov/bench-pressing
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +01:00
Yuri Sizov 9dce1a45a0 Merge pull request #85819 from Malcolmnixon/export-android-build-template
Add option to install android build template for export
2023-12-08 16:58:54 +01:00
Yuri Sizov 2e94be2ea4 Merge pull request #84167 from SaracenOne/cache_mode_replace_fixes
Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`
2023-12-08 15:23:13 +01:00
Yuri Sizov 6c86974022 Merge pull request #84122 from kitbdev/fix-dock-visibility
Fix dock visibility issues
2023-12-08 15:23:09 +01:00
Malcolm Nixon 988c1bf298 Add option to install android build template for export
This PR adds a new "--install-android-build-template" command-line option which causes the android build template to be installed before exporting the project.
2023-12-08 09:00:25 -05:00
Yuri Sizov fc3f40f37d Improve engine startup/shutdown benchmarks
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.

Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
Rémi Verschelde 3e7cc5ec32
Merge pull request #85271 from YuriSizov/core-check-please!
Correctly check scripts that must inherit `EditorPlugin`
2023-12-04 23:12:24 +01:00
bruvzg 27ca31f359 [Editor] Save and restore previous window mode when toggling full-screen. 2023-11-27 12:44:30 +02:00
Aaron Franke a8dc34b8f0
Rename ImportSettings dialogs to have "Dialog" in the name 2023-11-26 22:59:01 -06:00
Yuri Sizov bc1949d797 Correctly check scripts that must inherit `EditorPlugin`
Also updates some error messages related to this kind of check
across the codebase.
2023-11-23 16:24:43 +01:00
Yuri Sizov 10b70e2498 Rework the surface upgrade tool to inform users without blocking
This removes the immediate confirmation dialog and insteads prints the
message to the editor log (and it also appears as a toast). The immediate dialog
is a devil's plaything, and it cannot be used in this scenario (if it can be used
anywhere at all). The condition that triggers the SUT can happen during any
attempt by the rendering server to read a mesh. This means it will conflict
with a number of editor processes, like loading, importing, preview
generation, export, CLI mode, etc.

So while this is less on the nose as far as informing users goes, it's also
our best option to use the log and the toaster.
2023-11-22 19:03:14 +01:00
kobewi d84ba48d8f Avoid saving scene while already saving the scene 2023-11-20 21:57:21 +01:00
Yuri Sizov fdaee9ee89 Prevent the surface upgrade tool from running during export
Also add an explicit way to trigger the tool manually
at user's will.
2023-11-20 15:36:45 +01:00
bruvzg 932174fedf
[Editor] Add option to override editor UI layout direction. 2023-11-17 14:56:45 +02:00
Rémi Verschelde b049ac43ba
Merge pull request #84927 from bruvzg/macos_ext_frame_upd
[macOS] Process events before changing title style to update window frame.
2023-11-16 14:52:28 +01:00
Saracen f392a9c4f8 Fix CACHE_MODE_REPLACE 2023-11-15 18:55:20 +00:00
Rémi Verschelde 6d47eff457
Merge pull request #83104 from jsjtxietian/fix-crash-when-reimport-animation-while-playing
Fix editor crash when re-importing GLTF while animation is playing
2023-11-15 13:15:54 +01:00
bruvzg c64c1053e9
[macOS] Process events before changing title style to update window frame. 2023-11-15 09:33:23 +02:00
jsjtxietian 3c10493d0b Fix Editor crash when re-importing GLTF while animation is playing 2023-11-15 11:13:42 +08:00
kobewi da55c06322 Save scene when saving built-in resource 2023-11-13 16:34:17 +01:00
Fredia Huya-Kouadio 136b7f9c52
Preserve the output from the gradle build command
Updates `EditorNode#execute_and_show_output(...)` to return the output of the executed command.
2023-11-12 12:07:04 +01:00
clayjohn 95fbb2ecb2 Scan the filesystem in the first frame when using headless mode 2023-11-07 10:46:56 +01:00
Rémi Verschelde 98baac7172
Merge pull request #84200 from clayjohn/surface-upgrade-tool-rework
Overhaul the SurfaceUpgradeTool
2023-11-01 22:32:09 +01:00
clayjohn be386e1876 Overhaul the SurfaceUpgradeTool
This defers the update to a fresh restart of the editor (to ensure we aren't mid way through loading scenes anymore.

It also ensures that the popup can't be used by multiple threads at once

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-11-01 15:32:54 +01:00
Yuri Sizov 8c39a2d169 Disconnect `EditorNode` from file dialogs on destruction 2023-11-01 13:01:28 +01:00
kobewi a92ed50777 Make remote inspector groups not foldable 2023-10-31 17:29:53 +01:00
Rémi Verschelde 8f0b742a9a
Merge pull request #83576 from raulsntos/fix-80883
Enable new addon after hiding ProjectSettings
2023-10-30 17:47:23 +01:00
Rémi Verschelde a7c81f4275
Merge pull request #73981 from stmSi/fix-filter-files-shortcut-input-not-handling
Fix Filter Files shortcut input is not properly handled
2023-10-30 16:25:24 +01:00
kit a2674463fa fix dock visibility issues 2023-10-30 10:52:07 -04:00
Rémi Verschelde e2c79bcb95
Merge pull request #82471 from SaracenOne/recache_bone_attachment
Reimport bone attachment fixes
2023-10-30 10:18:00 +01:00
Rémi Verschelde fe64786a91
Merge pull request #83498 from SaracenOne/mesh_unwrap_rules
Mesh instance UV2 unwrapping improvements
2023-10-28 12:30:22 +02:00
Saracen e865bad06a Mesh instance UV2 unwrapping improvements:
Enforce foreign resource modification rules.
Add more helpful error handling for ArrayMesh unwrapping.
2023-10-28 03:04:15 +01:00
Saracen 4b671eec0e Reimport bone attachment fixes:
Assign bone_idx to GLTF importer to fix serialization.
Notifies Skeletons and BoneAttachments when reimporting.
Removes usage of NOTIFICATION_NODE_RECACHE_REQUESTED
2023-10-27 20:34:01 +01:00
Rémi Verschelde ba79e53dd0
Merge pull request #84048 from SaracenOne/extra_readonly_info
Add read-only info to resource embedded in other scenes.
2023-10-27 13:33:53 +02:00
Saracen ada1f66fc1 Add read-only info to resource embedded in other scenes. 2023-10-27 12:01:22 +01:00
Jordyfel 50b7387a3f Use Hashset for dependency list when moving 2023-10-25 21:05:53 +03:00
Rémi Verschelde f021d33940
Merge pull request #81167 from bitsawer/fix_sdfgi_editor_change
Reset SDFGI when changing editor scene tabs
2023-10-25 10:27:03 +02:00
Rémi Verschelde bc5d5978ea
Merge pull request #83695 from YuriSizov/core-lock-and-key
Improve threading in ClassDB and EditorHelp
2023-10-24 10:54:19 +02:00
Rémi Verschelde 50d17f6b8c
Merge pull request #83613 from clayjohn/surface_upgrade_tool
Add an editor tool to automatically upgrade and re-save meshes
2023-10-24 00:10:37 +02:00
clayjohn 318ef8461f Implementation of tool to automatically upgrade and re-save meshes 2023-10-23 22:39:48 +02:00
kit 701c8d8323 Fix tab dragging issues 2023-10-22 13:58:31 -04:00
Yuri Sizov 9b03fb36f9 Improve threading in ClassDB and EditorHelp 2023-10-20 22:14:04 +02:00
Yuri Sizov cd31407cb3 Clean up some Editor, OpenXR, VideoStream code
- EditorNode has excessive and pointless checks for Input singleton.
- EditorNode initialization order is a bit awkward.
- OpenXR binds a method that doesn't need that (for call deferred).
- VideoStream has a formatting error.
2023-10-20 17:54:39 +02:00
Rémi Verschelde 15955e5d9e
Merge pull request #83512 from zaevi/fix_remove_from_floating_dock
Editor: Fix `remove_control_from_dock` fails when dock is floating.
2023-10-20 15:08:40 +02:00
Raul Santos 7b34fa8dd2
Enable new addon after hiding ProjectSettings
- Enabling newly created addons can show a warning dialog, doing so before hiding the `ProjectSettingsEditor` dialog causes rendering glitches.
- Remove unused `PuginConfigDialog` in `EditorNode`. The one actually being used is an instance in `EditorPluginSettings`.
2023-10-18 20:20:46 +02:00
Yuri Sizov 582ed157b5 Fix StringName leaks in GDExtension, core, and editor themes 2023-10-18 17:36:20 +02:00
Rémi Verschelde e06d09228b
Merge pull request #83251 from Rindbee/fix-current_edited_scene-wrong-move
Fix saving wrong edited scene state when switching scene tabs
2023-10-18 00:01:24 +02:00
Zae acf0d395c8 Editor: Fix `remove_control_from_dock` fails when dock is floating. 2023-10-18 01:14:26 +08:00
风青山 225a5e225f Fix saving wrong edited scene state when switching scene tabs
When creating a new scene, the scene tab will actually switch to the newly created one.
Also worth noting that switching scene tabs saves state (by `save_edited_scene_state`).

When trying New Scene again, the previously empty scene tab will be removed.

So the correct logic is: switch the tab save state first, and then remove the previous
empty scene tab. To prevent `current_edited_scene` from being incorrect when saving state.
2023-10-17 22:52:44 +08:00
Rémi Verschelde 230bdda872
Merge pull request #82742 from kitbdev/empty-dock-layout
Fix loading floating dock layout
2023-10-13 11:43:35 +02:00
kobewi 41fa6c32b4 Disable update spinner when debug redraw is active 2023-10-11 13:21:29 +02:00
Saracen c0e872c05b Fix dependency menu not showing up if scene failed to load. 2023-10-09 03:15:46 +01:00
kobewi a6de7a8a3f Allow contextual plugins to persist temporarily 2023-10-06 15:58:50 +02:00
bruvzg af00c4a54a
[X11] Add support for using EGL/GLES instead of GLX. 2023-10-04 14:15:36 +03:00
kit 349da99476 fix load floating dock layout 2023-10-03 15:36:53 -04:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Rémi Verschelde da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
David Snopek 2733a6f762 Implement reloading of GDExtensions 2023-09-25 22:10:17 -05:00
Saracen 3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
Kevin Cardona c1146632b2 Add Ctrl/CMD+P as a shortcut to quick open files in addition to Shift+Alt+O 2023-09-16 15:32:37 -06: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 8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
Danil Alexeev f8a0c487a8
Editor: Rearrange "Main Menu > Help" items 2023-09-07 16:17:28 +03:00
Yuri Sizov fc01e2e7f6 Add a theme preview switcher to the 2D viewport
This commit adds a new View submenu that allows switching
between the project theme (default), the editor theme, and
the default theme. The last selected option is stored per
project and is restored when reloading the project.
2023-09-06 19:40:43 +02:00
Yuri Sizov 512182f147 Add theme contexts to various parts of the editor
This change defines additional theme contexts for editor
branches to prevent theme leaking between the default
theme, the project theme, and the editor theme.

- Both editor window and EditorNode define an editor-specific
context with the editor theme and the default theme.
- The 2D viewport defines a project-specific context with
the project theme and the default theme.
- Theme editor preview tabs define the default-only context
with the default theme.

Additionally, the default theme context now only includes
the project theme for running projects (both export and debug).
This prevents the project theme from leaking into the editor.

This commit also does a little clean up on the theming aspects
of the EditorNode.
2023-09-06 19:40:43 +02:00
Yuri Sizov 21c5f86d5d Check the native base of scripts when resolving icons 2023-09-06 15:20:07 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde 60422759fa
Merge pull request #80849 from KoBeWi/edit_NOTHING
Unedit nodes early when closing scene tab
2023-09-02 14:29:00 +02:00
Rémi Verschelde 5588980e47
Merge pull request #80184 from MewPurPur/gray=abstract
Use the gray color for all abstract classes
2023-09-01 16:00:58 +02:00
MewPurPur 398ca4e71a Use the gray color for all abstract classes 2023-08-31 12:59:18 +03:00
Hugo Locurcio 3ba031602b
Display time of last save in the unsaved changes confirmation editor dialog
When multitasking, this makes it clearer whether closing a window with unsaved
changes is potentially dangerous or not.
2023-08-31 00:47:11 +02:00
bitsawer 836705d7a9 Reset SDFGI when changing editor scene tabs 2023-08-30 19:50:05 +03:00
Rémi Verschelde 91c5273ec5
Merge pull request #75656 from YuriSizov/core-iconic-builtins
Add a script method to get its class icon
2023-08-29 12:41:03 +02:00