Commit Graph

14494 Commits

Author SHA1 Message Date
Hugo Locurcio
341ca31be8
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
Behavior is now consistent across 2D and 3D editors.

- By default, drag-and-dropping adds the scene as a child of the selected
  node. Hold Alt when releasing the mouse to add the scene as a child
  of the root node, or Shift to add the scene as a sibling of the selected
  node.
- To choose a different node type in the 2D editor when drag-and-dropping
  a texture resource, hold Alt + Shift (instead of just Alt).
- If multiple nodes are selected, only the first one is taken into account.
  This was previously the behavior in 2D, but not in 3D (an error dialog
  appeared instead). This makes the UI more forgiving.
2024-01-26 18:05:58 +01:00
Rémi Verschelde
c26a338430
Merge pull request #87356 from jsjtxietian/connection-error
Check if the ref shader is valid in visual shader's `_update_option_menu`
2024-01-26 11:44:13 +01:00
jsjtxietian
ff089f8cea Check is the ref shader valid in visual shader's update_option_menu 2024-01-25 11:54:23 +08:00
Yuri Sizov
07132860dc Remove incorrect C# rename from the project converter 2024-01-24 16:36:11 +01:00
Yuri Sizov
10945f752c Merge pull request #87510 from adamscott/make-text-editor-consistent-with-script-editor
Make the text editor consistent with the script editor
2024-01-24 14:08:57 +01:00
Yuri Sizov
a32a2eaedc Merge pull request #87417 from AThousandShips/tree_clear
Use callable for `TreeItem` custom draw
2024-01-24 14:08:36 +01:00
Yuri Sizov
adcfe3d1a0 Merge pull request #87252 from ajreckof/Fix-renaming-a-node-to-the-name-of-its-siblings-breaking-NodePath
Fix renaming a node to the name of its siblings breaking NodePath
2024-01-24 14:08:20 +01:00
Yuri Sizov
6d2a827f73 Merge pull request #79374 from raulsntos/ignore-directories-in-tpz
Ignore directory entries in TPZ
2024-01-24 14:07:30 +01:00
Adam Scott
12c84836b7
Make the text editor consistent with the script editor 2024-01-23 11:27:00 -05:00
A Thousand Ships
257d03681c
Use callable for TreeItem custom draw
Deprecating old functionality
2024-01-23 12:07:43 +01:00
Yuri Sizov
6fea273ed3 Merge pull request #87476 from AThousandShips/search_fix
Fix selection regression in `EditorHelpSearch`
2024-01-22 20:39:40 +01:00
Yuri Sizov
b5f033476c Merge pull request #87470 from AThousandShips/tile_thread_fix
[Editor] Fix threading problems with `TileMap` preview
2024-01-22 20:39:32 +01:00
Yuri Sizov
8f51117445 Merge pull request #87343 from ryevdokimov/fix-2d-top-level-2
Update the viewport if CanvasItem top level is changed
2024-01-22 20:39:11 +01:00
Yuri Sizov
3755b7286c Merge pull request #87332 from AThousandShips/scene_saved
[Editor] Add `EditorPlugin::scene_saved` signal
2024-01-22 20:39:07 +01:00
Yuri Sizov
bbfad3d7a5 Merge pull request #87200 from passivestar/dock-shortcuts
Add support for search shortcut to all docks
2024-01-22 20:38:59 +01:00
Yuri Sizov
feb1157276 Merge pull request #83510 from Geometror/vs-connection-ops
Add connection related functionality to VisualShader (deleting, dropping/inserting a node)
2024-01-22 20:38:30 +01:00
passivestar
97a77c5193 Add support for search shortcut to all docks 2024-01-22 22:37:59 +04:00
Robert Yevdokimov
3bed6b1cb0 Update the viewport if CanvasItem top level is changed 2024-01-22 13:10:54 -05:00
A Thousand Ships
97b469c46d
[Editor] Add EditorPlugin::scene_saved signal
Matches the `EditorNode` one for parity with the exposed
`resource_saved` signal
2024-01-22 17:51:12 +01:00
A Thousand Ships
3b7b484300
Fix selection regression in EditorHelpSearch 2024-01-22 17:06:42 +01:00
A Thousand Ships
dbcd82ba67
[Editor] Fix threading problems with TileMap preview 2024-01-22 13:44:36 +01:00
Hendrik Brucker
f59419bfe0 Add connection-related VisualShader operations
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +01:00
Rémi Verschelde
bf5b877636
Merge pull request #87345 from ryevdokimov/removed-unused-prev-rot-variable
Remove unused `prev_rot` variable
2024-01-19 10:19:29 +01:00
Yuri Sizov
66b0bd9203 Merge pull request #86158 from Geometror/ge-connection-rework
Rework `GraphEdit` connections (drawing, API, optimizations)
2024-01-18 19:26:56 +01:00
Yuri Sizov
de95a3effe Merge pull request #85117 from BastiaanOlij/openxr_runtime_select
OpenXR: Add runtime selection dropdown
2024-01-18 19:26:52 +01:00
Robert Yevdokimov
ecc8493e17 Remove unused prev_rot variable 2024-01-18 11:24:22 -05:00
Hendrik Brucker
9d7c2978f4 Rework GraphEdit connections (drawing, API, optimizations)
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +01:00
Rémi Verschelde
33f3511241
Merge pull request #87293 from YuriSizov/editor-theme-a-rehashed-follow-up
Improve editor theme generation after the refactor
2024-01-18 16:34:50 +01:00
Rémi Verschelde
f3fd668a02
Merge pull request #87266 from YuriSizov/pm-gets-a-chris-hemsworth-treatment
Reorganize project manager code
2024-01-18 16:34:26 +01:00
Rémi Verschelde
d3003c48b3
Merge pull request #67132 from KoBeWi/This_commit_message_is_auto-generated._Do_not_modify_it-
Add UID support to GDScript files
2024-01-18 16:33:14 +01:00
Bastiaan Olij
afd1dcf1b1 OpenXR: Add runtime selection dropdown 2024-01-18 15:59:22 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
kobewi
c7f68a27ec Add UID support to GDScript files 2024-01-17 22:30:56 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
Yuri Sizov
e61cae06c6 Merge pull request #87280 from KoBeWi/all_paths_lead_to_Resource
Display path in tooltips of sub-resource list
2024-01-17 18:53:29 +01:00
Yuri Sizov
788aab3a96 Merge pull request #87115 from groud/tilemap_layers_as_nodes
Make TileMapLayers extend Node2D and work as children of TileMap
2024-01-17 18:53:12 +01:00
Yuri Sizov
c027aecc2e Merge pull request #86676 from rune-scape/sparse-script-reload
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Yuri Sizov
d92d8a49aa Merge pull request #86064 from jsjtxietian/fix-sort-by-type
Fix "Class name cannot be empty" error when sorting no import files sort by type
2024-01-17 18:52:35 +01:00
Yuri Sizov
a0fec566ef Merge pull request #82821 from Madalaski/connections_delete_key
Allow to remove signal connections using `Delete`
2024-01-17 18:52:22 +01:00
Gilles Roudière
48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
Yuri Sizov
45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Madalaski
3b9fc45f8c Fixing a usability issue where the DEL key does not delete connections 2024-01-17 00:51:43 +00:00
kobewi
60e88f2def Display path in tooltips of sub-resource list 2024-01-16 23:51:57 +01:00
Yuri Sizov
691450bc08 Reorganize project manager code
- Extract individual components to their own files.
- Improve order of declarations and definitions within those files.
- ProjectDialog is only extracted as there are upcoming
PRs touching on it.
2024-01-16 19:57:36 +01:00
A Thousand Ships
2920a875dc
Cache TreeItems between runs in EditorHelpSearch 2024-01-16 16:50:45 +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
A Thousand Ships
dc86483e3a
Add inheriting classes to DocTools 2024-01-16 14:42:36 +01:00
Yuri Sizov
dc3b07e551 Introduce editor theme spacing presets
This change adds a new editor setting related to theming
which controls base and additional spacing used in the
generated editor theme. These values can also be changed
manually by the user to customize their experience.

Limited effort was applied to make sure both Compact and
Spacious presets work and look fine, but further tuning
and adjustments are totally expected. Some controls will
require layout changes or additional fixes to their constants.
2024-01-16 11:57:45 +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