Commit graph

1771 commits

Author SHA1 Message Date
Rémi Verschelde
dcd11cce6b
Merge pull request #85978 from Calinou/editor-tweak-help-menu-icons
Tweak Help menu icons for better visibility of commonly used items
2024-02-17 15:53:11 +01:00
Hugo Locurcio
6ae54fd787
Move EditorNode setting registration so they are in class reference
Co-authored-by: Micky <micheledevita2@gmail.com>
2024-02-17 11:33:22 +01:00
Rémi Verschelde
66b33c15e4
Merge pull request #88297 from dsnopek/android-configure-gradle-path
Android: Allow using alternative Gradle build directory
2024-02-17 00:23:32 +01:00
David Snopek
a37ad265dc Android: Allow using alternative Gradle build directory 2024-02-16 15:20:47 -06:00
Matt Enad
5b5de0e167 Add hover highlight to main editor buttons
Updates styling of the editor run bar, plugin, bottom panel, icon buttons, and main menu buttons for accessibility.
2024-02-16 14:49:44 -05:00
Michael Alexsander
7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Rémi Verschelde
3ed81a8f70
Merge pull request #88334 from passivestar/ctrl-tab-mac
[macOS] Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` not working
2024-02-15 15:45:15 +01:00
Rémi Verschelde
828cf954f6
Merge pull request #88291 from dsnopek/export-plugin-option-overrides
Allow export plugins to override export option values
2024-02-15 15:45:07 +01:00
passivestar
757a691b5e Fix Ctrl+Tab and Ctrl+Shift+Tab on macOS 2024-02-15 02:49:31 +04:00
Joseph DiGiovanni
7eacb6ddbf Add follow system theme settings 2024-02-14 15:31:21 -05:00
David Snopek
ac88acde6f Allow export plugins to override export option values 2024-02-14 10:51:16 -06:00
Rémi Verschelde
351a869af6
Merge pull request #88288 from KoBeWi/uninspectorable
Rework how script is edited when clicking icon
2024-02-13 23:43:43 +01:00
Rémi Verschelde
dc99c8d4a4
Merge pull request #87008 from KoBeWi/cache_mode_replace_fixes²
Fix² behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`
2024-02-13 23:43:18 +01:00
Rémi Verschelde
c2a53dff71
Merge pull request #87773 from bruvzg/undo_global_fix
Fix script editor `undo` shortcut with global menu enabled.
2024-02-13 17:24:03 +01:00
kobewi
8ec86e29c8 Rework how script is edited when clicking icon 2024-02-13 16:54:33 +01:00
Hugo Locurcio
7e25292205
Show update spinner by default in dev_build=yes editor builds
This ensures contributors can see when something forces the
editor to redraw constantly.

The existing boolean `true` value will be casted to `1` in the setting,
so it'll switch to Enabled automatically if the setting was previously
enabled.
2024-02-10 00:45:56 +01:00
Rémi Verschelde
b98c2f23da
Merge pull request #48364 from Calinou/add-vsync-editor-setting
Add a V-Sync editor setting
2024-02-08 10:52:59 +01:00
Hugo Locurcio
6f9586443a
Add a V-Sync editor setting
The editor setting makes it possible to tweak V-Sync status
independently of the project setting.

Use cases:

- Decrease input lag and increase editor responsiveness when editing
  a project that has V-Sync enabled.
- Avoid tearing when editing a project that has V-Sync disabled.
2024-02-05 22:14:20 +01:00
smix8
4d0c21c131 Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
Makes MeshLibrary export do recursive depth-search for MeshInstance3D nodes.
2024-02-04 04:00:38 +01:00
bruvzg
32939f82f1
Fix script editor undo shortcut with global menu enabled. 2024-01-31 07:48:58 +02:00
Hugo Locurcio
d3963a979b
Tweak Help menu icons for better visibility of commonly used items
External links no longer have an icon, so that commonly used items
such as Copy System Info are more immediately visible.
2024-01-31 01:22:09 +01:00
kobewi
4ad74a5663 Some editor code cleanup 2024-01-30 21:33:31 +01:00
Yuri Sizov
068c0d2699 Implement a quick settings dialog for the project manager
Currently it allows to adjust language, theme preset,
UI scaling, and network mode.
Project manager has been updated to support
dynamic theme updates.
2024-01-30 17:52:19 +01:00
Yuri Sizov
7496f99060 Create a MainScreenButton theme variation
This turns custom font theme properties into a proper
variation, which makes applying it simpler.
2024-01-30 17:35:46 +01:00
Juan Linietsky
000367893a Ability to move FileSystem dock to bottom
* Allows moving the filesystem dock to the bottom
* Added ability to drag resources across bottom docks
2024-01-29 15:15:38 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
0796d08b8f
Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons
Disable multi-window buttons instead of hiding them when support is unavailable
2024-01-29 13:16:01 +01:00
Rémi Verschelde
e2c5d2fada
Merge pull request #82113 from nongvantinh/fix-50163
Allow Editor to reload external changes of scripts
2024-01-29 13:15:53 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
Hugo Locurcio
04a930d9a6
Disable multi-window buttons instead of hiding them when support is unavailable
This is more explicit as for why this functionality isn't available
depending on editor settings and current platform.

This also exposes a `EditorInterface.is_multi_window_enabled()` method
so that editor plugins can easily query whether the editor is able and
expected to create multiple windows.
2024-01-27 19:38:39 +01:00
Nông Văn Tình
c051c44df9 Allow Editor to reload external changes of scripts 2024-01-26 21:05:36 +07:00
A Thousand Ships
97b469c46d
[Editor] Add EditorPlugin::scene_saved signal
Matches the `EditorNode` one for parity with the exposed
`resource_saved` signal
2024-01-22 17:51:12 +01:00
Yuri Sizov
de95a3effe Merge pull request #85117 from BastiaanOlij/openxr_runtime_select
OpenXR: Add runtime selection dropdown
2024-01-18 19:26:52 +01:00
Bastiaan Olij
afd1dcf1b1 OpenXR: Add runtime selection dropdown 2024-01-18 15:59:22 +01:00
Yuri Sizov
45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Yuri Sizov
635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
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
kobewi
e534dbf53a Improve saving of built-in resources 2024-01-02 12:53:18 +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