Commit graph

220 commits

Author SHA1 Message Date
A Thousand Ships
4ed62665a2
Replace .bind(...).call_deferred() with .call_deferred(...) 2024-05-27 13:29:57 +02:00
kobewi
b365a63403 Automatically use property count in PropertyListHelper 2024-05-25 10:51:37 +02:00
kobewi
d276e8ba0b Fix scene hash not updated when scene is empty 2024-05-22 14:55:39 +02:00
Haoyu Qiu
e5c321448e Create AudioStreamPlayer when dropping AudioStream
- Create AudioStreamPlayer if dropped in between nodes in the Scene dock
- Create AudioStreamPlayer2D if dropped into 2D editor
- Create AudioStreamPlayer3D if dropped into 3D editor
2024-05-19 20:26:04 +08:00
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
aaronp64
245be6f9c1 Move "Add a new scene" button when Scene Tabs settings change
Updating "Display Close Button" setting (interface/scene_tabs/display_close_button) in Editor Settings changes the size of scene tabs, but the add button at the end of the tabs was not being moved until the next update, causing gaps/overlaps between the controls.  Adding call to _scene_tabs_resized() after getting the new settings to update the add button position.

Fixes #91850
2024-05-11 20:13:29 -04:00
Gilles Roudière
7705265477 Fix PropertyListHelper::_get_property returning a valid value even if an index is outside the array valid indices
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-05-10 10:46:04 +02:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Rémi Verschelde
a7c59fe192
Merge pull request #91331 from dsnopek/expose-editor-file-dialog-popup-function
Expose `EditorFileDialog::popup_file_dialog()` to GDScript and GDExtension
2024-05-06 15:15:01 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
A Thousand Ships
fd8a31b53d
[Editor] Prevent some shortcut errors when generating docs 2024-05-03 17:43:54 +02:00
kit
5fd23730eb Fix editor spin slider RTL and margin 2024-05-02 08:34:46 -04:00
David Snopek
8ce54d4632 Expose EditorFileDialog::popup_file_dialog() to GDScript and GDExtension 2024-04-29 14:49:32 -05:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of Callable.is_null()
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Rémi Verschelde
2338d9b3bc
Merge pull request #89747 from KoBeWi/icoNOT
Remove stray item icon from tabs menu
2024-04-26 15:13:31 +02:00
Rémi Verschelde
0fe0f1e992
Merge pull request #86605 from KoBeWi/update_all_of_the_tree_not
Don't update tree on deselect
2024-04-26 15:13:21 +02:00
Haoyu Qiu
308fb3a284 Fix error when moving FileSystem dock 2024-04-24 08:36:56 +08:00
Rémi Verschelde
1a89b60549
Merge pull request #90651 from Muller-Castro/folder-color
Fix folder colors not present in editor dir dialog
2024-04-18 12:24:30 +02:00
Rémi Verschelde
ab24edca4f
Merge pull request #90680 from jsjtxietian/skip-.godot
Fix editor's file explorer will show directories that should be skipped
2024-04-17 20:26:24 +02:00
unknown
5ae6382105 Allow closing scene tab preview using Escape 2024-04-16 13:11:24 -07:00
Muller-Castro
c8ef9e6955 Fix folder colors not present in editor dir dialog 2024-04-16 16:21:49 -03:00
kobewi
49e69fabba Add automatic checking for engine updates 2024-04-15 15:08:27 +02:00
jsjtxietian
d06db652ef Fix editor's file explorer will show directories that should be skipped 2024-04-15 11:13:46 +08:00
AeioMuch
0ba1adfaf9 Inspect hovered node while dragging 2024-04-10 17:15:13 +02:00
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