Commit Graph

231 Commits

Author SHA1 Message Date
Rémi Verschelde 13954fc33e
Merge pull request #87452 from bruvzg/native_menu
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-06 13:16:52 +01:00
Hugo Locurcio 8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Rémi Verschelde 9e13b90ce8
Merge pull request #81177 from Calinou/filedialog-focus-path-shortcut
Add Ctrl + L / Cmd + Shift + G shortcut to focus path bar in FileDialog
2024-03-05 09:55:36 +01:00
Hugo Locurcio 4f8d7cae26
Add Ctrl + L / Cmd + Shift + G shortcut to focus path bar in FileDialog
This also tweaks EditorFileDialog to use the same shortcut,
while making it select the path text after focusing
(like in most file managers).

Ctrl + L / Cmd + Shift + G can also now be used to focus on the
property name in the project settings editor, as well in the
Input Map, Autoload, Shader Globals and Global Groups tabs.
2024-03-05 00:02:09 +01:00
bruvzg c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class. 2024-03-04 23:41:41 +02:00
kobewi ffadba0b08 Allow to easily rename multiple nodes
Co-authored-by: ajreckof <tbonhoure@ymail.Com>
2024-03-03 13:16:21 +01:00
Hugo Locurcio 67e9ccdbc4
Display the build date in the editor and when starting the engine
This can be used to quickly see how recent a development build is,
without having to look up the commit date manually.
When juggling around with various builds (e.g. for benchmarking),
this can also be used to ensure that you're actually running the
binary you intended to run.

The date stored is the date of the Git commit that is built, not
the current date at the time of building the binary. This ensures
binaries can remain reproducible.

The version timestamp can be accessed using the `timestamp` key
of the `Engine.get_version_info()` return value.
2024-02-27 20:39:17 +01:00
Rémi Verschelde 4a4937318b
Merge pull request #88825 from adamscott/add-create-folder-icon
Add create folder icon
2024-02-27 10:18:13 +01:00
Muller-Castro 1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
Adam Scott fd3666298c
Add create folder icon 2024-02-26 09:04:24 -05:00
Robert Yevdokimov 13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
Rémi Verschelde 4582ee1a0f
Merge pull request #87760 from kitbdev/extract-bottom-dock
Extract BottomPanel from EditorNode
2024-02-23 22:18:50 +01:00
Mounir Tohami 7884d63281 Fix PopupMenu doesn't respect it's ScrollContainer's margins 2024-02-23 15:51:47 +02:00
kit eb6ca91ba6 Extract BottomPanel from EditorNode 2024-02-20 15:09:07 -05:00
Rémi Verschelde 9e9dcdbba4
Merge pull request #86378 from RobProductions/update-hover-styling
Add hover highlight to main editor buttons
2024-02-20 19:34:40 +01:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
Rémi Verschelde 92fcbe2f5c
Revert "Allow configuration warnings to refer to a property"
This reverts commit bf37a9bac6.
2024-02-17 19:04:18 +01:00
Rémi Verschelde 2c5fa95aea
Merge pull request #87530 from YeldhamDev/atr_inheritance
Rework the auto translation system
2024-02-17 15:54:31 +01:00
Rémi Verschelde 16e1dbb0b7
Merge pull request #88389 from passivestar/hidden-files-mac
[macOS] Fix the "Toggle Hidden Files" shortcut
2024-02-17 00:26:58 +01: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
passivestar 4249436c52 [macOS] Fix the "Toggle Hidden Files" shortcut 2024-02-16 08:49:01 +04:00
passivestar 5689dbc209 Allow to abort `SpinSlider` value changes 2024-02-16 07:54:35 +04:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Rémi Verschelde d584ce0122
Merge pull request #80544 from MewPurPur/buff-editorspinslider-2
Fix read-only EditorSpinSlider display
2024-02-09 18:08:55 +01:00
RedMser bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
Rémi Verschelde 1d3722a6aa
Merge pull request #87170 from AThousandShips/run_fix
Fix reloading current scene forgetting path
2024-01-29 21:33:26 +01:00
Rémi Verschelde ef9cb3dfa5
Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup
Improve appearance of Node configuration warnings
2024-01-29 13:17:17 +01:00
Micky 3e4e0f08c4 Improve appearance of Node configuration warnings 2024-01-27 13:03:07 +01:00
ajreckof 2f697926b0 Fix renaming a node to the name of its siblings breaking NodePath
Also fix cases where node name was not visually updated because name was not changed

Co-Authored-By: Nông Văn Tình <53887662+nongvantinh@users.noreply.github.com>
2024-01-16 15:18:30 +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
A Thousand Ships 595c6248a3
Fix reloading current scene forgetting path
Scene was stopped before running which cleared the last run scene,
forcing it to run the currently edited scene instead
2024-01-14 12:17:32 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde 5eb22a317d
Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
2024-01-04 16:39:36 +01: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
Rémi Verschelde 00cc23f906
Merge pull request #86486 from timothyqiu/move-copy-dialog
Improve `EditorDirDialog`
2024-01-03 15:47:52 +01:00
Rémi Verschelde 73c5deff76
Merge pull request #82916 from jsjtxietian/update-scene-tree-tooltip-after-editor-description-chnage
Support updating tooltip immediately after editor description change
2024-01-03 15:41:31 +01:00
kobewi 413f55b06f Don't update tree on deselect 2023-12-29 13:15:15 +01:00
Haoyu Qiu a42ead59da Improve EditorDirDialog
* Automatically selects the newly created directory
* Automatically selects "res://" when nothing is selected
* Fixes an error when overwrite/replace dialog appears
* Changes "copy checkbox + action button" to "copy button + move button"
* Double clicking a directory (un)collapses it instead of copy/move
* Uses DirectoryCreateDialog for "Create Folder"
2023-12-25 19:14:04 +08:00
Haoyu Qiu c62c0fb2d2 Improve action name for ungroup button in Scene dock 2023-12-22 19:54:14 +08:00
bruvzg d8bb4c7163
[macOS] Fix updating editor tab titles in the dock menu. 2023-12-19 13:09:20 +02:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov efa8c46fab Fix various issues with the folder color lookup 2023-12-14 20:43:46 +01:00
Yuri Sizov 203c8c31d3 Merge pull request #85071 from Rubonnek/remove-unnecessary-assignments
Remove unnecessary assignments
2023-12-14 17:38:34 +01:00
Yuri Sizov 8f33b4e83a Merge pull request #84882 from Invertex/select-instance-asset
Add "Show In FileSystem" to the Scene hierarchy right-click
2023-12-14 17:38:30 +01:00
Yuri Sizov 6faa5c6dc4 Merge pull request #84837 from synalice/issue-83366-colored-folders
Fix folder color not showing up in file dialogs
2023-12-14 17:38:24 +01:00
Yuri Sizov 19f4dfbdfb Merge pull request #83957 from kitbdev/scene-tab-reuse
Only update `EditorSceneTabs` tabs when necessary
2023-12-14 17:38:09 +01:00
Wilson E. Alvarez 80fb8db31f
Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Invertex 59787683a9 Added "Show In FileSystem" right-click option to Scene hierarchy nodes.
-Implemented shared function for focusing FileSystem tab and highlighting the node path.
-Created right-click option that shows up in the Scene-Hierarchy on Nodes that have a file-system source path.
-Created custom icon for this right-click option
-Implemented the shared function and icon for other places that already had this features (Open Node tab, Inspector Resource)

Co-authored-by: MewPurPur <mew.pur.pur@gmail.com>
2023-12-13 07:43:39 -08:00
Yuri Sizov 0481a0b8b3 Merge pull request #82528 from SaracenOne/path_types
Add support for exporting script classes without a name
2023-12-08 15:22:48 +01:00
jsjtxietian 4680ced5fa support updating tooltip after editor description change 2023-11-15 14:27:49 +08:00
Nikita Krasnov 0d6300d269 Fix folder color not showing up in file dialogs 2023-11-14 17:17:10 +03:00
Saracen 7559eb1667 Script path type support in editor:
Allow script path type hints to be used in drag and drop
and scene tree popup.
2023-11-08 00:18:40 +00:00
Haoyu Qiu 3f00d713b8 Allow dragging editable children
But not allow dropping inside the scene tree editor.
2023-11-01 23:54:38 +08:00
Saracen 29c2615352 Remove toggling of unique names in subscenes 2023-10-28 02:55:45 +01:00
kit 473c209fcd Only update EditorSceneTabs tabs when necessary 2023-10-26 11:13:39 -04:00
DennisManaa 1a1c542836 Implement automatic translation for ItemList 2023-10-23 10:14:08 +02:00
Yuri Sizov 215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
kobewi 825a18e980 Don't remove favorite files in EditorFileDialog 2023-10-18 02:06:01 +02:00
A Thousand Ships a1e47c3a87 Fix shortcut input for `EditorSceneTabs` 2023-10-17 15:49:53 +02:00
Rémi Verschelde 7513ae6d06
Merge pull request #81812 from MewPurPur/zoomies
Incorporate min and max zoom limits into the EditorZoomWidget
2023-10-09 15:31:49 +02:00
MewPurPur 44d782681c Incorporate min and max zoom limits into the EditorZoomWidget 2023-10-07 20:41:59 +03:00
Haoyu Qiu 3006394a69 Fix garbled text in editor toasters 2023-10-06 21:38:34 +08:00
Rémi Verschelde 94377f50b2
Merge pull request #80813 from TokageItLab/rework-animation-manager
Implement `AnimationMixer` as a base class of `AnimationPlayer` and `AnimationTree`
2023-09-29 10:20:16 +02:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Yuri Sizov 4f0e2ea86e Merge pull request #80699 from aXu-AP/spin-box-comma-decimals
Allow comma as a decimal separator for SpinBox
2023-09-28 20:04:02 +02:00
Aaron Franke b0c1c24c38
Allow adding a custom side menu to EditorFileDialog 2023-09-26 14:03:18 -05:00
Rémi Verschelde 480590ceb2
Merge pull request #81278 from Alex2782/bugfix_EditorSpinSlider_clamp#81272
Fix clamping logic in `EditorSpinSlider`
2023-09-26 08:19:15 +02:00
Rémi Verschelde 8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
Yuri Sizov b351cffddf Fix theme access and improve UX in AnimationTree editor 2023-09-23 21:47:27 +02:00
aXu-AP 4d3dc0e944 Use comma as a decimal separator for SpinBox
Add support for comma ',' as a decimal separator for SpinBox. This implementation allows for expressions like `pow(2, 3)` to be used as well. If you use comma to separate decimals, use semicolon `;` to separate function parameters.
Change EditorSpinSlider behavior to match.
2023-09-21 15:45:37 +03:00
Yuri Sizov 4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
ajreckof 6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
Rémi Verschelde cdef53df1e
Merge pull request #81705 from AThousandShips/null_check_editor
[Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-16 21:24:53 +02:00
kobewi cd0aaab48c Cleanup some GLOBAL_DEFs 2023-09-15 21:32:23 +02:00
A Thousand Ships 75ee58fd04 [Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-15 20:15:39 +02:00
Rémi Verschelde 72ceaa8d9c
Merge pull request #81226 from AThousandShips/file_diag_fix
Fix `EditorFileDialog` clears the file name on changing directory
2023-09-08 11:50:42 +02:00
Rémi Verschelde 7663c69922
Merge pull request #81388 from YuriSizov/core-gdvirtual-but-less-confused-about-itself
Extract `ScriptInstance` into its own file to simplify includes
2023-09-07 13:53:45 +02:00
Rémi Verschelde 88269cfb86
Merge pull request #80821 from Alex2782/bugfix_go_up_#80750
Fix go to parent folder in `EditorFileDialog`
2023-09-07 13:50:55 +02:00
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Alexander Hartmann 40046bcf60 Fix go to parent folder in EditorFileDialog 2023-09-06 01:01:04 +02:00
Alexander Hartmann 053d718154 Fixes the 'CLAMP' problem in the 'EditorSpinSlider' ...
... when arrow keys are pressed up or down.
2023-09-03 20:47:22 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
A Thousand Ships 17d69ed7bb Fix `EditorFileDialog` clears the file name on changing directory
Fixes issues with assigning a name for files being saved
2023-09-01 22:53:41 +02:00
kobewi a949f1b4b5 Refactor disabling scene tab context menu options 2023-09-01 21:34:54 +02:00
Igor 4b8163586b
Streamline the project import workflow 2023-08-29 09:50:03 +02:00
Rémi Verschelde ba1089689a
Merge pull request #80954 from bruvzg/sp_per_font
[Text Server] Store extra spacing of individual font variations.
2023-08-28 20:37:58 +02:00
Rémi Verschelde b3811a3e4f
Merge pull request #81061 from KoBeWi/remembering_things_is_so_meta
Properly remember custom text color in scene tree
2023-08-28 12:11:59 +02:00
kobewi b88007b6c5 Properly remember custom text color in scene tree 2023-08-28 02:37:47 +02:00
Yuri Sizov 6ab34005ad Extract editor scene tabs into their own component 2023-08-24 12:24:29 +02:00
bruvzg 5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03:00
Martin Boué bf4cbd4129 Show only compatible nodes in 'Select a node' window
Fixes https://github.com/godotengine/godot-proposals/issues/7217
2023-08-18 18:52:00 +02:00
MewPurPur fac939b7c3 Fix read-only EditorSpinSlider display 2023-08-12 15:30:42 +03:00
kobewi 7f41403a6f Standardize dialog input validation as a new class 2023-08-08 16:14:35 +02:00
Hugo Locurcio e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
kobewi 05ab444357 Show valid types in SceneTreeDialog 2023-08-04 13:50:27 +02:00
Rémi Verschelde bf185e4f70
Merge pull request #79357 from raulsntos/dotnet/build-button
C#: Move build button to EditorRunBar
2023-08-03 18:33:41 +02:00
Rémi Verschelde 179e3d6ab9
Merge pull request #78292 from ajreckof/Fix-batch-rename-for-unique-name-and-empty-name-
Fix batch rename for unique name and empty name
2023-08-03 18:33:37 +02:00
ajreckof 4909396cfc Fix batch rename for unique name and empty name. 2023-08-03 18:26:58 +02:00
Raul Santos 03598062fd
C#: Move build button to EditorRunBar
- Move C# build button to `EditorRunBar`.
- Add C# build icon.
- Add shortcut macros to `GodotTools`.
- Move C# build shortcuts to C#.
2023-08-03 17:55:52 +02:00
kobewi f7238fb3f4 Reverse condition for skipping directories 2023-07-28 16:07:18 +02:00
Hendrik Brucker a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
Septian 837df886f3 Fix dragged nodes have icon size 2023-07-10 20:18:18 +07:00
Rémi Verschelde a12d9df9e1
Merge pull request #71024 from marzecdawid/better-cursor-behaviour-in-tree-with-ctrl
Fix cursor behavior for multiselect in Tree while holding CTRL
2023-07-08 18:14:48 +02:00
Rémi Verschelde 5205ff69ca
Merge pull request #79090 from mb4c/wrap-tooltip
Add tooltip description wrapping in scene tree and plugin settings
2023-07-07 16:04:41 +02:00
mb4c d007be2d14 Add tooltip description wrapping in scene tree and plugin settings 2023-07-07 11:16:34 +02:00
Alfonso J. Ramos b2bef8c47b Do not change a node unique name to the same name 2023-07-06 16:27:34 -05:00
Dawid Marzec 9abbdea95e Fix cursor behaviour in Tree while holding CTRL 2023-06-21 20:44:29 +02:00
Rémi Verschelde bfec390026
Merge pull request #76672 from kleonc/scene-tree-item-unify-tooltip-creation
Unify setting tooltips for items in `SceneTreeEditor`
2023-06-20 00:01:29 +02:00
Markus Sauermann 42402aa7db Fix the distance for grabbing a EditorSpinSlider
Currently moving the mouse for a single pixel is enough to trigger
grabbing, which happens often unintentionally.
2023-06-16 09:39:49 +02:00
Rémi Verschelde 6587a81910
Merge pull request #78268 from Sauermann/fix-remove-unused-variable
Remove unused variable `PopupMenu::parent_rect`
2023-06-15 15:26:36 +02:00
Markus Sauermann 840e2b14f3 Remove unused variable `PopupMenu::parent_rect`
This private variable is not read anywhere.
Remove it and all places, where it is set.
2023-06-15 12:08:47 +02:00
Rémi Verschelde 2c22e56e37
Merge pull request #77992 from ajreckof/Prevent-unselectable-nodes-when-switching-filter-and-no-children-match-the-new-filter
Prevent unselectable nodes when switching filter and no children match the new filter.
2023-06-15 10:50:22 +02:00
ajreckof 8c6ede10c5 Prevent unselectable nodes when switching filter and no children match the new filter 2023-06-14 23:20:28 +02:00
ajreckof 5c15083d40 properly update nodepath with batch rename 2023-06-14 15:12:46 +02:00
kobewi 06eef4c64d Fix nodes selectable abnormally when using filter 2023-06-13 11:11:00 +02:00
kleonc 82f6dae408 Unify setting tooltips for items in SceneTreeEditor 2023-05-02 12:34:44 +02:00
Rémi Verschelde b81387d6b7
Merge pull request #76513 from YuriSizov/editor-dont-run-too-fast
Avoid accessing the theme too early in EditorRunBar
2023-04-27 23:57:00 +02:00
Yuri Sizov de1a1dd43e Avoid accessing the theme too early in EditorRunBar 2023-04-27 18:49:16 +02:00
Winston Yallow 277e261acf
Add editor setting for spin slider sensibility 2023-04-27 13:45:24 +02:00
Rémi Verschelde e1075e9c7c
Fix various typos with codespell
Also includes the grammar fix from #76206.

Co-authored-by: Peter Anderson <BWPanda@users.noreply.github.com>
2023-04-26 13:57:09 +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 76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Rémi Verschelde 91bcfa8896
Merge pull request #76122 from spanzeri/fix_animation_snap_slider_crash
Fix editor spin slider remaining editable if set read_only during and edit and fix related animation player crash
2023-04-24 16:45:09 +02:00
Samuele Panzeri b6abb34759 Fix editor spin slider remaining editable if set read_only during an edit and fix related animation player crash 2023-04-22 18:34:36 +02: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
Pedro J. Estébanez 84183f89e6 Make EditorToaster's handler thread-safe 2023-04-13 12:10:56 +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
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