Commit Graph

1643 Commits

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