Commit graph

1817 commits

Author SHA1 Message Date
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
kobewi
cbd01043f0 Fix Quick Open not opening binary resources 2023-08-28 12:57:14 +02:00
Rémi Verschelde
0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Rémi Verschelde
2967084fe3
Merge pull request #80490 from YuriSizov/editor-scene-tabs-unchained
Extract editor scene tabs into their own component
2023-08-28 12:04:41 +02:00
Yuri Sizov
e21ded8f8f Merge pull request #80450 from KoBeWi/settings_freeze,_no_more_changes
Deprecate `project_settings_changed` signal
2023-08-25 14:58:32 +02:00
Yuri Sizov
2c77f07aaa Add a script method to get its class icon
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2023-08-24 13:05:41 +02:00
Yuri Sizov
6ab34005ad Extract editor scene tabs into their own component 2023-08-24 12:24:29 +02:00
kobewi
dd7152a311 Unedit nodes early when closing scene tab 2023-08-21 14:12:26 +02:00
Rémi Verschelde
c7356c795b
Merge pull request #80647 from jsjtxietian/CollisionShape3D-Shape-Size-handles-missing-when-Script-editor-floating
Fix 2D/3D viewport context switching issues when script editor is floating
2023-08-17 11:27:04 +02:00
Rémi Verschelde
678c89aa1a
Merge pull request #79382 from MewPurPur/better-prepare-scene-context-menu
Disable irrelevant scene tab context menu items
2023-08-17 11:20:57 +02:00
Tomasz Chabora
3dd881b4e4 Add option to allow echo events in menu shortcuts 2023-08-16 16:59:17 +02:00
jsjtxietian
fec0396cac fix CollisionShape3D Shape Size handle will missing
when Script editor floating
2023-08-15 12:41:20 +08:00
Yuri Sizov
2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
kobewi
fca3ab5564 Deprecate project_settings_changed signal 2023-08-10 15:07:25 +02:00
Rémi Verschelde
1b132b7c23
Merge pull request #80377 from YuriSizov/importers-are-made-to-be-alone
Register and cleanup resource importer singletons in a predictable way
2023-08-09 17:46:33 +02:00
Rémi Verschelde
8375f73680
Merge pull request #80355 from jcovin293/issue/80347/fix-missing-ellipsis
Fix menu items that trigger secondary interface missing ellipsis
2023-08-09 17:46:26 +02:00
RandomWalrus13
585633ea85 Fix menu items that trigger secondary interface missing ellipsis
fix #80347
2023-08-09 08:30:35 -05:00
Rémi Verschelde
f6b9d445b5
Merge pull request #80285 from YeldhamDev/just_a_little_bit
Further separate icon from text of buttons in both editor and default themes
2023-08-09 15:20:25 +02:00
Rémi Verschelde
1163dac9e3
Merge pull request #80215 from clayjohn/HDR-2D
Add option to enable HDR rendering in 2D
2023-08-08 16:57:33 +02:00
Michael Alexsander
98bdb56815
Further separate icon from text of buttons in both editor and default themes 2023-08-07 13:22:39 -03:00
Yuri Sizov
237515d0ed Register and cleanup resource importer singletons in a predictable way 2023-08-07 17:49:33 +02:00
Rémi Verschelde
5413b185f1
Merge pull request #79971 from Calinou/editor-filesystem-dock-expand-favorites
Uncollapse favorites by default in the editor FileSystem dock
2023-08-07 14:49:58 +02:00
clayjohn
57eb762bae Add option to enable HDR rendering in 2D
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance

Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00
MewPurPur
4b0ee492ae Disable irrelevant scene tab context menu items 2023-08-04 19:04:18 +03:00
Pedro J. Estébanez
b3a5e10f4a Avoid crash on exiting due to late prints 2023-08-02 13:38:58 +02:00
Rémi Verschelde
f8ead6d5b6
Merge pull request #80089 from AThousandShips/editor_settings_fix
Fix API hash related crash in `EditorSettings`
2023-08-02 12:20:47 +02:00
Yuri Sizov
77785c340d Merge pull request #79852 from YeldhamDev/that_was_getting_annoying
Fix usability issues with scene tabs
2023-08-01 17:25:33 +02:00
Yuri Sizov
fbe7602bd3 Merge pull request #79945 from hvarga/fix-current-scene-update
Fix out of bounds access when updating current scene
2023-07-31 21:01:43 +02:00
Yuri Sizov
f15898161a Merge pull request #79917 from hvarga/fix-scene-tab-close
Fix crash when using "Close All Tabs"
2023-07-31 21:01:40 +02:00
Ninni Pipping
e2a91309d0 Fix API hash related crash in EditorSettings 2023-07-31 16:35:41 +02:00
Michael Alexsander
3e539fff78
Fix some issues with scene tabs
- Stop scene creation on double-click when hovering the offset buttons.
- Fix the "Add Scene" button's position on RTL mode.
2023-07-30 01:13:36 -03:00
Hugo Locurcio
075bd4b281
Uncollapse favorites by default in the editor FileSystem dock 2023-07-28 01:09:14 +02:00
Yuri Sizov
6535b7475d Merge pull request #79908 from YeldhamDev/output_icon_space
Fix spacing between icon and "Output" button
2023-07-27 15:22:44 +02:00
Hrvoje Varga
ba2850759d Fix current-scene update 2023-07-27 07:45:53 +02:00
Hrvoje Varga
51923fc528 Fix scene tab close 2023-07-27 07:38:40 +02:00
Michael Alexsander
2883a40aa1
Fix spacing between icon and "Output" button 2023-07-26 15:22:44 -03:00
Yuri Sizov
921776f0a5 Merge pull request #79203 from KoBeWi/visible_confusion
Don't grab theme icons for scripts
2023-07-26 18:39:52 +02:00
Yuri Sizov
bc0e646076 Merge pull request #78827 from Rindbee/fix-history-mismatch
Fix history mismatch
2023-07-26 18:39:32 +02:00
Yuri Sizov
92960b7a22 Merge pull request #78615 from RandomShaper/fix_doc_cache
Re-enable docs cache with fixes
2023-07-26 18:39:22 +02:00
Yuri Sizov
fc1b392e08 Merge pull request #79793 from trollodel/hide_make_floating_swm
Make the single window mode check more strict
2023-07-25 21:51:31 +02:00
Yuri Sizov
623787061a Merge pull request #79492 from dsnopek/gdextension-remove-editor-plugins-at-shutdown
Prevent GDExtensions from trying to remove editor plugins at shutdown
2023-07-25 21:25:58 +02:00
trollodel
0f6327b59b Make the single window mode check more strict
Check the "interface/editor/single_window_mode" editor settings.
2023-07-22 17:24:47 +02:00
Yuri Sizov
547f88aa8c Merge pull request #79396 from Sauermann/fix-systeminfo-displayserver
Include display server type in "Copy System Info"
2023-07-21 17:54:30 +02:00
kobewi
51f92d1100 Don't grab theme icons for scripts 2023-07-21 02:13:07 +02:00
Fredia Huya-Kouadio
d17811c814 Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.

The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
kobewi
b883f32188 Check for unsaved changes when closing a scene 2023-07-18 14:27:56 +02:00
kobewi
6dc5dc3479 Add _get_unsaved_status() method to EditorPlugin 2023-07-18 14:18:36 +02:00
Yuri Sizov
79a9e79561 Merge pull request #79416 from sepTN/fix-copy-system-info
Fix rendering driver in Copy System Info for the Compatibility rendering method
2023-07-18 13:28:30 +02:00
Septian
c4b878ccb3 Fix Copy System Info to copy the correct rendering driver for the Compatibility rendering method 2023-07-18 06:16:15 +07:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Markus Sauermann
1712b78e18 Include Display Server Type in Copy System Info
Add info about X11 or Wayland to System Information on LinuxBSD.
2023-07-16 10:32:54 +02:00
David Snopek
62af007aa0 Prevent GDExtensions from trying to remove editor plugins at shutdown 2023-07-14 17:48:14 -05:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
WiseNoodle
d1c70cf7d4 Add missing word to text of the alert dialog 2023-07-12 11:53:31 -04:00
Rindbee
28db5e7649 Fix history mismatch
Set the properties of the resource's proxy instead of setting the resource's
properties directly. (For action "Set ...")

Update the path of the edited scene when saving the scene. (For action "Add
atlas source")
2023-07-11 05:45:37 +08:00
kobewi
59ae7e2445 Collapse bottom panel if there is no active tab 2023-07-05 23:07:12 +02:00
Pedro J. Estébanez
cac4d44cde Re-enable docs cache with fixes 2023-07-05 10:44:58 +02:00
kobewi
0458ac4b81 Improve script icon cache 2023-06-26 14:03:21 +02:00
Yuri Sizov
f623509086 Handle contextual editors gracefully when restoring layout 2023-06-23 15:46:06 +02:00
Yuri Sizov
8cfbc6bda2 Revert "Remember only permanent bottom tabs"
This reverts commit 5dde57e958.
2023-06-23 15:23:36 +02:00
kobewi
5dde57e958 Remember only permanent bottom tabs 2023-06-23 10:53:39 +02:00
Michael Alexsander
41a75cfa4f
Allow exporting release Android builds without a debug keystore 2023-06-19 01:00:13 -03:00
Rémi Verschelde
ad85ecef8d
Merge pull request #77750 from RandomShaper/tidy_shader_data_items
Let editor workaround a case of inconsistency in compound scenes
2023-06-13 13:52:51 +02:00
Pedro J. Estébanez
96c469a138 Let editor workaround a case of inconsistency in compound scenes 2023-06-13 11:05:57 +02:00
Alex Drozd
454befc880 Prevent non-existent scene from being saved to persistent editor config 2023-06-12 22:49:49 +02: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
0a4d0506d1 Fix problems reloading MeshLibrary 2023-06-11 19:42:24 +02:00
Rémi Verschelde
a08aa9627c
Merge pull request #75226 from AThousandShips/file_dialog_default
Do not use editor setting for FileDialog hidden files
2023-06-09 15:30:48 +02:00
MJacred
2c5e2196bd Replace get_rendering_device() call to prevent crashes on OpenGL.
And make OpenGL video adapter info align with Vulkan.
2023-06-06 23:29:36 +02:00
lawnjelly
b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
kobewi
53a15d85be Get rid of mouse wheel switch in scene tabs 2023-05-31 22:21:40 +02:00
David Giardi
a8fc343f80 Make main editor window border margin controllable by theme 2023-05-30 19:19:39 +02:00
Rémi Verschelde
60871fd4b7
Merge pull request #77574 from MJacred/editor/system_info_single_line
Make system information for issue reports single-line
2023-05-30 09:33:13 +02:00
MJacred
ca1ee316b5 Make system information for issue reports single-line
Additionally:
* for custom builds, add commit hash
* added a tooltip to help mitigate potential/understandable confusion whether the single-line output might be a bug
* prettify driver name
2023-05-29 22:20:40 +02:00
Yuri Sizov
fd5faae29c
Merge pull request #75983 from timothyqiu/dialog-rebase
Fix theme of editor VCS dialogs
2023-05-29 17:42:16 +02:00
Yuri Sizov
4c5c7cbb58 Fix auto-reparenting logic in the ProgressDialog
* Make sure `Popup` signals are disconnected when unparented.
* Remove a fail condition from `Window::is_embedded` when
not in tree.
2023-05-29 17:02:16 +02:00
Haoyu Qiu
b30a332009 Fix theme of editor VCS dialogs
These dialogs were added to the plugin itself so theme can't be
propagated.

Also moved initialization of the VCS menu after the creation of
EditorInterface.
2023-05-29 21:25:31 +08:00
Yuri Sizov
c670c4334a
Merge pull request #65902 from MJacred/editor/copysysteminfo
Add an editor option to copy system info to clipboard
2023-05-27 20:11:54 +02:00
MJacred
9e5bf3d589 Copy system info to clipboard + Update bug_report.yml
plus minor static-related fixes
* linuxbsd: get_systemd_os_release_info_value() -> static breaks usage if used multiple times
* windows/linuxbsd: get_video_adapter_driver_info() writes info into static
* linuxbsd: get_distribution_name() + get_version() -> write bsd fallback into static variable
* windows/uwp/android: remove unnecessary use of static
2023-05-27 18:21:23 +02:00
kobewi
8eb076a630 Uncollapse res:// by default 2023-05-26 13:25:09 +02:00
Rémi Verschelde
699b66b62d
Merge pull request #77010 from dsnopek/gdextension-editor-plugins
Allow GDExtensions to add editor plugins
2023-05-26 11:00:32 +02:00
David Snopek
3007163210 Allow GDExtensions to add editor plugins 2023-05-25 09:14:29 -05:00
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
Ninni Pipping
c04c69b903 Do not use editor setting for FileDialog hidden files 2023-03-22 16:27:06 +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
stmSi
656cdf121a Fix Filter Files shortcut input is not properly handling 2023-02-26 20:04:27 +06:30
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
Yuri Sizov
bbbcd77217 Make use of a theme cache in EditorHelp and ensure it's updated
- Migrates the existing cache to the standard theme cache struct
- Moves some parts of the codebase to use cache instead of ad-hoc fetching
- Adds hooks to editor settings previously missing from theme regeneration
2023-02-11 20:09:35 +01:00
Aaron Franke
be916233f9
Check for CanvasItem instead of Control and Node2D 2023-02-11 02:18:10 -06:00
Rémi Verschelde
09b2c5fd05
Merge pull request #72552 from m4gr3d/cleanup_custom_build_main
Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process
2023-02-06 22:50:22 +01:00
Silc Renew
1f9dbbe07b Fix AnimationTrackEditor doesn't open when selecting AnimationPlayer 2023-02-07 03:08:06 +09:00
kobewi
50297a9cef More fixes to over plugin handling 2023-02-06 15:35:33 +01:00
Fredia Huya-Kouadio
ca593f2f89 Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process. 2023-02-02 07:17:31 -08:00
Rémi Verschelde
d9ade633b3
Merge pull request #71936 from akien-mga/remove-some-unused-signals
Remove some unused signals
2023-02-01 07:53:52 +01:00
kobewi
360c71c3f6 Prevent wrong unedit when clicking editor viewport 2023-02-01 00:50:34 +01:00
Rémi Verschelde
b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
Rémi Verschelde
6c859889eb
Merge pull request #72420 from TokageItLab/fix-animation-editor-plugin
Fix broken bottom panel switching
2023-01-31 13:18:06 +01:00
Silc Renew
fc22583b34 Fix broken bottom panel switching 2023-01-31 19:34:26 +09:00
clayjohn
9071809021 Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
This allows us to set a default value inherited by child viewports and have child viewports set the value themselves which is needed for disabling the environment in the editor
2023-01-30 12:25:49 -08:00
Rémi Verschelde
312011fade
Fix various typos with codespell
And include #72377.

Co-authored-by: Wiktor Kocielski <withaust@gmail.com>
2023-01-30 14:22:47 +01:00
kobewi
3f17bfad8d Fix editors potentially being used twice 2023-01-28 21:44:20 +01:00
Rémi Verschelde
619604093f
Merge pull request #71725 from bruvzg/mac_mpass_title
[macOS] Move extended title bar input to _gui_input and add mouse filters to prevent editor buttons from passing double-click to title.
2023-01-26 22:49:38 +01:00
SaracenOne
fc74cbe835 Fix path for unsaved inherited scenes. 2023-01-25 03:06:59 +00: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
885cb808db
Merge pull request #65302 from KoBeWi/middle_click_of_exasperation
Remove middle click shortcut to open scene tab
2023-01-24 09:44:46 +01:00
Rémi Verschelde
1dfd236f15
Merge pull request #70377 from dsnopek/server-export-mk2
Add "dedicated server" export mode which can strip unneeded visual resources
2023-01-23 22:13:28 +01:00
David Snopek
74458b6e9b Add "dedicated server" export mode which can strip unneeded visual resources 2023-01-23 13:24:54 -06:00
Rémi Verschelde
11e2278844
Merge pull request #57606 from SaracenOne/update_on_reimport
Update instances of scenes which have been reimported.
2023-01-23 15:35:44 +01:00
kobewi
0d90b46b97 Fix plugins over not working 2023-01-23 14:19:42 +01:00
PrecisionRender
38fb8259d0 Use selected node type for choosing editor tab
Use selected node type for choosing editor tab

Update editor/editor_node.cpp

Co-authored-by: Tomek <kobewi4e@gmail.com>
2023-01-22 16:24:52 -06:00
Rémi Verschelde
84aaa1e90e
Merge pull request #71849 from EricEzaM/fix-run-specific-scene-shortcut
Fix 'run specific scene' shortcut on Windows/non-Mac
2023-01-22 16:07:14 +01:00
Eric M
6fa4f43dee Fix 'run specific scene' shortcut on Windows/non-Mac 2023-01-22 20:31:31 +10:00
Rémi Verschelde
bda87300e8
Merge pull request #71770 from KoBeWi/better_editing_or_something
Rework EditorPlugin editing logic
2023-01-22 11:07:39 +01:00
kobewi
4ae168eb04 Rework EditorPlugin editing logic 2023-01-22 00:20:45 +01:00
Rémi Verschelde
906ee0b219
Merge pull request #67253 from KoBeWi/PICKER_USAGE_NO_EDITOR
Remove editor dependencies from ColorPicker
2023-01-21 20:52:16 +01:00
bruvzg
4b2323e030
[macOS] Move extended title bar input to _gui_input and add mouse filters to prevent editor buttons from passing double-click to title. 2023-01-20 12:47:05 +02:00
kobewi
c0083e431b Cleanup unused engine code v2 2023-01-19 13:02:18 +01:00
kobewi
67baca5514 Increase default size of docks 2023-01-18 16:49:08 +01:00
SaracenOne
4628736894 Update instances of scenes which have been reimported. 2023-01-16 13:46:33 -08:00
Rémi Verschelde
0f0b853c98
Merge pull request #70668 from KoBeWi/never_give_up
Retry loading addons after filesystem scan
2023-01-16 09:47:17 +01:00
kobewi
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
bruvzg
5406b001ca
Move remote debug buttons to a single menu. 2023-01-14 22:25:35 +02:00
bruvzg
026002859b Fix editor progress dialog theme update. 2023-01-14 01:07:24 +02:00
Rémi Verschelde
f79c58aac5
Merge pull request #71209 from bruvzg/ed_progress_reparent
Automatically reparent editor progress dialog to avoid error spam.
2023-01-13 00:29:48 +01:00
Pedro J. Estébanez
d0e37cd04c Add framework for avoidance of color flash in new windows 2023-01-12 21:42:51 +01:00
Danil Alexeev
8f706be6fa
Rearrange editor/naming/* project settings 2023-01-12 11:41:13 +03:00
bruvzg
19293d1813
Automatically reparent editor progress dialog to avoid error spam. 2023-01-11 10:13:21 +02:00
Rémi Verschelde
dce8cdbca8
Merge pull request #70863 from bruvzg/win_init_min
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates.
2023-01-09 23:08:52 +01:00
Juan Linietsky
0e0a6bb39b
Removed unused property hints and Object::get_translatable_strings()
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Rémi Verschelde
c3c5eceb35
Merge pull request #70463 from DarkKilauea/nav-server-const
[4.x] Rework const on NavigationServer methods
2023-01-08 22:50:05 +01:00
Rémi Verschelde
56522f7f8f
Merge pull request #71057 from EricEzaM/editor-node-cleanup
Remove unnecessary changing of shortcut name in editor node.
2023-01-08 22:45:32 +01:00
Eric M
8d0178a589 Remove unnecessary changing of shortcut name.
The same effect which was desired here can just be done with `set_item_text(...)`, which is what this PR does. It removes the need to constantly update the shortcut name when the scene menu is opened.
2023-01-08 20:48:56 +10:00
Eric M
8256b4ea23 Fix Undo/Redo not working until Scene menu is opened. 2023-01-08 20:35:30 +10:00
Josh Jones
a0715b30f9 Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-07 17:29:00 -08:00
Rémi Verschelde
163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Rémi Verschelde
b14f7aa9f9
Merge pull request #70500 from hakro/readd-renderer-options
Bring back the renderer options button on the main editor
2023-01-06 08:10:42 +01:00
Yuri Sizov
82c00c21e6 Simplify some editor plugin logic and remove dead code 2023-01-05 21:04:54 +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
bruvzg
06551dfa3a
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates. 2023-01-03 09:25:45 +02:00
kobewi
f2367e0782 Retry loading addons after filesystem scan 2022-12-28 15:40:45 +01:00
Hakim
6a60300193 Bring back the renderer options button on the main editor 2022-12-24 00:43:18 +01:00
Silc Renew
060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
Marius Hanl
c6da15fed7 Do not add child twice and set initial focus 2022-12-21 22:26:11 +01:00
reduz
e93d991329
Add a dialog for customizing FBX import
* If FBX files are found, a dialog will pop up asking to configure FBX2glTF.
* Dialog can also be accessed by going Editor -> Configure FBX Import.
* The dialog also shows a link to click to download the converter, which
  should contain instructions.
2022-12-18 01:08:54 +01:00
kobewi
ff994585b3 Add scope prefix to undo actions 2022-12-14 22:51:10 +01:00
clayjohn
5b5cd2b98b Remove high quality glow as it is not any higher quality than regular glow 2022-12-13 10:15:45 -08:00
kobewi
7c6b659bd7 Add PropertyInfo overload for GLOBAL_DEF 2022-12-11 21:36:48 +01:00
Markus Sauermann
e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
kobewi
5d2a9a3570 Make remote inspector groups not foldable 2022-11-30 15:31:24 +01:00
Rémi Verschelde
5669834f82
Merge pull request #66995 from HolonProduction/main_window_bug
Fix a bug with main window `EditorPlugin`.
2022-11-29 16:50:03 +01:00
Rémi Verschelde
9d64a2e97b
Merge pull request #66194 from YeldhamDev/feature_fixes
Fix some stuff with the editor features
2022-11-29 16:47:26 +01:00
HolonProduction
1da0a12705 Solve a bug with main window plugins.
When removing a main window plugin the bindings of the main window buttons was not changed to reflect the changed indices.
2022-11-29 16:16:23 +01:00
trollodel
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Markus Sauermann
302ddbcfd9 Fix that the History Dock appears before other Docks in old projects
Newly introduced docks, that are not apparent in old projects should
be positioned after the ones in the project-config-file.
This way it seems to be less irritating.
2022-11-25 03:09:03 +01:00
Rémi Verschelde
e836284667
Merge pull request #69072 from souplamp/history-dock-check-connected
Add history dock to default editor layout, and prevent signal connecting multiple times
2022-11-24 19:04:10 +01:00
souplamp
51cf968e56 History dock singleton, set default editor layout, ready notification
- add the history dock to the default editor layout, so when a user does Editor -> Editor Layout -> Default the history dock will no longer disappear
- change the enter tree notification to a ready notification to prevent the history dock from trying to connect 'on_history_changed' signal everytime the dock is moved in the editor layout
2022-11-24 11:45:42 -06:00
Zae
4fdfc5176c [Editor] Fix float dock shows untranslated title. 2022-11-24 18:52:15 +08:00
Rémi Verschelde
a66fc4cf7e
Merge pull request #60686 from trollodel/move_editor_registration
Move editor class and plugin registrations to a dedicated file
2022-11-18 23:07:48 +01:00
trollodel
75177455d9 Move editor class and plugin registrations to a dedicated file 2022-11-18 08:02:08 +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
cespeute
4b00c2ec57 Add EditorInterface.get_selected_paths()
Exposes the selected paths in the editor filesystem dock.
Implements this proposal : https://github.com/godotengine/godot-proposals/issues/2424

Also renamed the old `get_selected_path` to `get_selected_directory` to
better match the already existing get_current_path function.
2022-11-14 22:46:27 +01:00
Fabio Alessandrelli
d568b25e36 [Editor] Better expose EditorDebuggerPlugin.
Now splitted into two classes:
- EditorDebuggerPlugin (RefCounted).
- EditorDebuggerSession (abstract).

This allows the EditorPlugin to be in control of the debugger plugin
lifecycle, be notified when sessions are created, and customize each of
them independently.

We should slowly transition the various profilers and captures in
ScriptEditorDebugger to their own plugins, and decouple
ScriptEditorDebugger from it's UI part (making it the "real"
EditorDebuggerSession potentially dropping the wrappers).
2022-11-14 14:55:22 +01:00
Michael Alexsander
441af72c6e Fix some stuff with the editor features 2022-11-12 21:09:19 -03:00
trollodel
ba9e619b51 Use forward-declarations in EditorPlugin where possible 2022-11-11 20:25:51 +01:00
kobewi
d9f066d5fa Remove duplicate project settings definitions 2022-11-08 01:29:39 +01:00
Rémi Verschelde
518b4bcc0d
Merge pull request #68342 from KoBeWi/Godot_museum't
Allow to disable History Dock via feature profile
2022-11-07 13:41:29 +01:00
kobewi
c89100e571 Allow to disable History Dock via feature profile 2022-11-07 13:06:59 +01:00
RedMser
f1743263d3 Fix disambiguate_filenames absolute paths on Unix
Also clean up relative path handling to use get_basename()
2022-11-06 16:34:59 +01:00