Commit graph

376 commits

Author SHA1 Message Date
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
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde
0354dc4205
Merge pull request #86867 from TokageItLab/reset-copy-options-for-more
Copy InterpolationType / LoopMode for all track & UseBlend option for audio when adding reset keys
2024-01-08 11:59:07 +01:00
Rémi Verschelde
a2bd7c3301
Merge pull request #85142 from CookieBadger/animation-player-improvements
Improve usability of zooming in the animation editor
2024-01-08 11:50:38 +01:00
CookieBadger
5b3d5e0a65 Improved usability of zoom features in animation player 2024-01-07 01:30:06 +01:00
Silc Lizard (Tokage) Renew
5ade1077ff Copy intrp/loop for all track & use_blend for audio when adding reset 2024-01-06 17:15:45 +09:00
Rémi Verschelde
4c0db7765d
Merge pull request #86630 from TokageItLab/value-track-default-option
Make default options of int value track refer to RESET animation
2024-01-02 18:06:02 +01:00
Silc Lizard (Tokage) Renew
eecfe5d75a Make default options of int value track refer to RESET animation 2024-01-02 13:13:47 +09:00
kobewi
d96fca371b Copy track update mode when adding reset key 2023-12-30 18:02:55 +01:00
Saracen
09a4aa3ce8 Fix setting bezier track handle mode from inspector. 2023-12-14 23:11:47 +00:00
Silc Lizard (Tokage) Renew
21833f3dfd Fix seeking bug in AnimationPlayerEditor 2023-11-22 06:43:26 +09:00
Saracen
8db9884dd5 Add descriptive warning for animation track hint fails. 2023-10-30 14:34:15 +00:00
Rémi Verschelde
e897a46a5f
Merge pull request #82627 from kleonc/animation-editor-audio-clip-offset-sliders-limit-to-length
Limit animation audio clip inspector offset sliders to clip length
2023-10-16 10:38:08 +02:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
RealMadvicius
e7a35d1521 Fix crash when clicking on "Interpolation Mode" with nonexistent node path
issue reference [https://github.com/godotengine/godot/issues/81769]
#81769 AnimationPlayer: Editor crashes when clicking on "Interpolation Mode" with nonexistent node path

- adding a nullptr check on a Node pointer obtained from get_node(NodePath) in case it is null now we wont execute the next instruction

> ClassDB::get_property_info(nd->get_class(), prop, &prop_info);

Which then prevents the crash
2023-10-07 11:34:02 +02:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde
a3d6d60fe1
Merge pull request #81188 from the-sink/animation_player_things
Select node when clicked in AnimationPlayer timeline
2023-10-03 17:14:25 +02:00
kleonc
c1008c2471 Limit animation audio clip inspector offset sliders to clip length 2023-10-01 18:40:41 +02:00
the-sink
cbdb23e7ee Select node when clicked in AnimationPlayer timeline 2023-09-28 18:00:34 -07:00
Silc Lizard (Tokage) Renew
1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
A Thousand Ships
e45927b2f2 Replace radians range hint with radians_as_degrees 2023-09-25 08:50:19 +02:00
ajreckof
6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +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
Haoyu Qiu
b8b0339549 Improve undo action names
* Avoid concating strings manually for better i18n and easy l10n
   * Use `vformat` when possible
   * Use separate strings if the changing part is only a few hardcoded strings
* Don't put a period at the end of the name
2023-09-12 18:53:50 +08:00
jsjtxietian
042e0f7019 Ignore method track when drawing line between keys 2023-09-12 14:43:23 +08:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Yuri Sizov
3bc842b1b1 Merge pull request #54524 from Calinou/animation-editor-add-bypass-confirmation
Skip keyframe creation dialog when holding Shift in the animation editor
2023-07-26 18:39:01 +02:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Hugo Locurcio
5e117ee7bf
Skip keyframe creation dialog when holding Shift in the animation editor
The editor setting to always bypass the confirmation dialog was removed,
since the new shortcut effectively supersedes it in a more granular way.
2023-07-17 12:09:32 +02:00
Rémi Verschelde
a3a8d3463e
Merge pull request #74948 from AThousandShips/animation_key
Fix type check in AnimationTrackKeyEdit for methods
2023-06-09 15:30:16 +02:00
Silc Lizard (Tokage) Renew
14205804a9 Add spring tween to AnimationTrackEditor 2023-06-05 05:02:27 +09:00
Silc Renew
fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09: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
Haoyu Qiu
aa604ec435 Add i18n for track easing and baking dialogs 2023-04-13 13:06:55 +08: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
Ninni Pipping
ad769903b0 Fix type check in AnimationTrackKeyEdit for methods 2023-03-15 19:32:27 +01:00
Rémi Verschelde
b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
SaracenOne
919df3ac0e Make animation length control respect read-only rules. 2023-02-15 15:13:50 +00:00
Haoyu Qiu
84aee17901 Improvements and fixes based on Weblate comments
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
    * "Inclusive" and "Self" in the profiler.
    * Places where it needs the context about being an editor progress label.
    * "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
    * Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
    * Fix duplicated "if" in the description of `signf()`.
    * Fix mismatched example output in `String.operator %()`.
    * Fix typo in the description of `Decal.texture_emission`.
    * Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Ruthger Dijt
e2a87ec28b fix nullptr dereference in AnimationTimelineEdit 2023-02-11 20:30:11 +01:00
Silc Renew
4c5bd4cb0a Fix weird bezier edit button update timing in AnimationTrackEditor 2023-02-11 20:48:18 +09:00
Rémi Verschelde
73c53cca81
Merge pull request #71054 from MarioLiebisch/fix-animationplayer-calltrack-strings
Properly stringify args for Call Method Tracks
2023-02-10 18:44:29 +01:00
Silc Renew
116c975a7b Fix rotation key edit is labeled scale in AnimationMultiTrackKeyEdit 2023-02-06 13:48:33 +09:00
Rémi Verschelde
b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
Silc Renew
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Gilles Roudière
a3b431b09d Add gesture to ViewPanner and simplify a bit its API 2023-01-23 16:43:53 +01:00
kobewi
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Silc Renew
5d2e7b9b1d Fix undo of editing animation length with spinner by adding flag 2023-01-10 12:29:05 +09:00