Commit Graph

195 Commits

Author SHA1 Message Date
Rémi Verschelde
6b8daa498e
SceneTreeEditor: Fix crash when TreeItem is removed before callback
Fixes #90235.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-04-05 16:53:33 +02:00
Rémi Verschelde
27dec32699
Merge pull request #89735 from bruvzg/ed_native_fd2
[Native File Dialog] Add support for using native dialogs in the editor.
2024-04-04 14:31:39 +02:00
RedMser
9cd30208d6 Improve SceneTreeEditor usability
- Mark contextually relevant node
- Remember/Clear selection as appropriate
- Scroll to marked/selected node
2024-03-31 21:35:10 +02:00
bruvzg
61f7145f43
[Native File Dialog] Add support for using native dialogs in the editor. 2024-03-28 11:53:03 +02:00
Haoyu Qiu
f298aaa956 Fix unexpected auto-translation of more editor components 2024-03-28 10:50:57 +08:00
Rémi Verschelde
4389f85a17
Merge pull request #89518 from AThousandShips/spin_slider_clean
[Editor] Remove redundant code from `EditorSpinSlider`
2024-03-24 01:16:20 +01:00
Rémi Verschelde
ae8d43b0bb
Merge pull request #88003 from kitbdev/dock-manager-fixes
Refactor and fix issues in Editor Dock Manager
2024-03-24 01:13:26 +01:00
kobewi
e44079607a Remove stray item icon from tabs menu 2024-03-21 14:52:21 +01:00
A Thousand Ships
2cbf469912
Fix sorting of files/dirs in dialogs
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +01:00
kit
0c9c84f7a6 Refactor and fix issues in Editor Dock Manager
Extract Dock Context Menu.
2024-03-16 13:51:31 -04:00
A Thousand Ships
56b05a5a3d
[Editor] Remove redundant code from EditorSpinSlider 2024-03-15 15:03:12 +01:00
Matt Enad
d4ac3fabac Fix main button margins in custom themes
Defined more theme variations and styleboxes for those variations to work around an issue where external editor themes would apply incorrect margins to certain buttons. This should eliminate clipping/alignment issues while a custom theme is in use.

Also simplified the step where margins are copied over thanks to @Rindbee 's suggestion
2024-03-13 15:38:09 -04:00
Aaron Franke
0700b807a2 Allow node visibility to work with custom user-provided node types 2024-03-07 17:25:06 -08:00
passivestar
a03315e3d9 Fix vertical alignment of editor version LinkButton in the bottom panel 2024-03-06 17:48:21 +04:00
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