Commit graph

1592 commits

Author SHA1 Message Date
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
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