Commit Graph

74 Commits

Author SHA1 Message Date
Rémi Verschelde
f3801032b8 Add editor setting for AcceptDialog OK/Cancel buttons positioning
The position (left/right) of the Cancel and OK buttons in AcceptDialog
are DisplayServer specific, as Windows uses OK/Cancel and macOS uses Cancel/OK.

Linux/X11 currently uses the macOS convention which is also the GTK+/GNOME one,
though it's not consistent with Qt/KDE applications which follow the Windows
convention.

Since that can't satisfy everyone, it's best if it's configurable also for the
editor (it's already configurable for the project).

Fixes #59379.

(cherry picked from commit 9bb05de89fcc286a0d78bea12dc779a56c274fb0)
2022-12-11 18:33:23 +01:00
Alfred Reinold Baudisch
1d8716a903 Cast dragged file extension name to lowercase, closes #68104
(cherry picked from commit 07e367cb0b07f02fef92420fde53e05be3d4b247)
2022-11-30 19:21:43 +01:00
Hendrik Brucker
b85a3cbce3 Add Gradient resource preview generator
Co-Authored-By: Haoyu Qiu <timothyqiu32@gmail.com>
2022-11-30 14:51:39 +01:00
Jean-Michel Bernard
52fdae0600 Prevent docks to be reset to first tab when switching dock visibility 2022-11-13 00:52:35 +01:00
829aeda5b1 Remove unused code. 2022-10-11 12:19:37 +02:00
04bc4be35c Remove unused file selector from EditorNode. 2022-10-08 23:36:08 +02:00
48d50bed1d Now menu items can be added to the convert menu in the editor. 2022-10-08 22:32:52 +02:00
ce58de4e2e Added an option to automatically reload or save instead of asking what to do after a file changed outside the editor. 2022-10-04 17:59:33 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
6b9e851e5c Ported: Fix issue causing the project manager to crash because of missing path argument
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
- m4gr3d
4be7c91cd9
2022-09-17 17:27:50 +02:00
reduz
95f8c781e1 Simplify Subresource Saving
Redo edited subresource (and resource) saving in a much more simplified way.
I think this should work (unless I am missing something) and be faster than what is there.
It should also supersede #55885.

I am not 100% entirely convinced that this approach works, but I think it should so please test.

(cherry picked from commit 9eb5f2a0d79fb761235e77d369ee2f38fceb094a)
2022-09-16 21:23:31 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
24a1580dbf Renamed the files aswell. 2022-08-29 17:33:10 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
bfc1679f14 Actually register EditorInterface, SpatialEditor, CanvasItemEditor, and WebNodeEditor as globals. 2022-08-23 13:21:09 +02:00
8d4e878ff6 Don't treat a hidden main button as an indicator that their editor plugin is disabled. This behavior was used to be a part of editor feature profiles, which I removed a long time ago. 2022-08-20 19:36:33 +02:00
98acdf8270 Now full screen editor plugins have the ability to hide their tab button in the top bar. 2022-08-20 17:20:34 +02:00
bafd6d1d8d Renamed AFTER_GUI_INPUT_DESELECT to AFTER_GUI_INPUT_NO_DESELECT. 2022-08-20 01:01:18 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
521934ff55 Ported from Godot4: New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
- TwistedTwigleg
8aa3c2f091
2022-08-18 18:47:30 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
99e94b08c4 Moved base input related classes to core/input. 2022-08-17 17:02:24 +02:00
686663d3e4 Moved around more classes in core. 2022-08-17 16:01:01 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
0d2fc2e9f2 Moved color to core/math. 2022-08-17 11:38:15 +02:00
4b939998a7 Removed AnimationTreePlayer, as it was deprecated (and also practically unusable). 2022-08-11 23:01:27 +02:00
b6eb2db442 Backported returning AfterGUIInput from forward_spatial_gui_input from Godot4. Also removed the first index parameter. This fully broke the skeleton editor, it will be fixed soon. 2022-08-11 02:24:30 +02:00
ed5024d3c3 Moved AnimationPlayerEditor::singleton to private, and added getter method for it. 2022-08-10 18:53:15 +02:00
Pedro J. Estébanez
285c2acefc Keep crash handler status on editor restart
(cherry picked from commit 116f03a1b68ecc59f9755cd0219e256c63955f55)
2022-07-29 23:49:10 +02:00
Alfred R. Baudisch
3354642b33 Script Editor: Don't switch to 2D/3D viewports when selecting nodes
Selecting nodes in the Scene dock automatically switches to the relevant 2D
or 3D viewport. This behavior can be annoying while using the Script Editor
and wanting to inspect node properties, so it's now disabled by default when
the Script Editor is active.

This new behavior can be changed back to the previous auto-switching using
the `text_editor/navigation/stay_in_script_editor_on_node_selected` editor
setting.

(cherry picked from commit c4433c37932aca14b45e76a0b3498561532a0055)
2022-07-29 23:20:27 +02:00
9596474a36 Ported: [Command line export] return 0 exit code when export is finished with warnings. - bruvzg
d6698c1f81
2022-07-29 23:01:04 +02:00
cow-neaz
d25bae8559 Stop game on reloading project
(cherry picked from commit 8935cf17cf674b0cb027e5c82a21a64d3a43feb1)
2022-07-29 11:01:55 +02:00
8ca3043a28 Ported: ProjectSettings: Ensure 'editor/' settings aren't nested
Having a mix of settings with and without subcategory makes the 'Editor'
section stand out with a weird UX, as instead of simply being a foldable
section like the others, it also holds its own top-level settings and is
therefore selectable.
This wasn't the case in 3.4, and is fixed in 4.0 by refactoring, so for
3.5 we should preserve the 3.4 UX, even if it's not the best.
- akien-mga
acd4a01b8c
2022-07-29 10:45:12 +02:00
43131ad4cb Ported: Add readable export errors. Add RTL image vertical alignment support. - bruvzg
f5fa1ca944
2022-07-28 18:40:46 +02:00
Red Headphone
7ddeae2e23 fix: no quit confirmation on project reload if files are saved 2022-07-27 17:46:15 +02:00
kobewi
89b5c84fd1 Cache script icons in editor
(cherry picked from commit 3f50dad460dc2239343e0eb9ba8fb63b8fd20b88)
2022-07-27 15:00:41 +02:00
Haoyu Qiu
957fcb67b1 Load fallback icon for custom class when no icon available
(cherry picked from commit ba90778f1cb670db34e3d51923456e90b29fa1c4)
2022-07-27 14:27:25 +02:00
37413614eb Ported: Add an inspector preview for BitMap - fire-forge, timothyqiu
e8d1552af2
2022-07-27 14:04:48 +02:00
FireForge
57bdac4e2b Add a RayCast2D.cast_to editor handle 2022-07-27 14:02:38 +02:00
9eee70dbb7 Ported: Add an external link editor icon
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.
The icon was designed by redlamp.
Co-authored-by: Taylor Wright <taylor@redlamp.org>
- Calinou
2bc036dad5
2022-07-27 09:02:28 +02:00
Haoyu Qiu
122a796535 Fix custom class icon when it inherits from a script 2022-07-27 01:17:09 +02:00