Commit Graph

110 Commits

Author SHA1 Message Date
dd6443193c [Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
kit
5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
74f64aaf98 Use InputMap actions consistently across all LineEdit's that filter an underlying Tree or ItemList.
- Instead of checking for Key::UP, Key::DOWN, Key::PAGEUP, Key::PAGEDOWN etc., we rather check for the action like 'ui_up' or 'ui_down'.
- Also use AcceptDialog's 'register_text_enter' functionality to consistently close a dialog when ENTER is pressed while the LineEdit has focus (instead of redirecting ENTER keys to e.g. the underlying Tree).
- Unify the LineEdit filter behavior for the SceneTreeDialog and corresponding usages
- Improve OK Button disablement (something should be selected)
2024-08-31 21:10:27 +02:00
e7e633760a prevent the click to get processed further after a paste action 2024-08-09 10:39:25 +01:00
36a5960ab2 Merge pull request #87131 from KoBeWi/skyscrapper_selector_simulator
Properly change GridMap floors while selecting
2024-06-26 14:51:19 +02:00
fbb879debd [Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
d9e2fc74c7 [Scene] Add SceneStringNames::item_selected 2024-06-19 09:39:05 +02:00
755a0efbb6 [Scene] Add SceneStringNames::id_pressed 2024-05-30 22:54:04 +02:00
ee79386f7b [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
1bcbbe96c4 Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
7b42c24550 Make auto translation inheritable 2024-02-15 16:51:19 -03:00
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
80341da660 Properly change GridMap floors while selecting 2024-01-12 22:17:23 +01:00
1a1c542836 Implement automatic translation for ItemList 2023-10-23 10:14:08 +02:00
fcbf7011cc Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
5f3cbcb55d fix some keys triggering their actions twice in GridMap 2023-09-11 03:04:25 +02:00
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
4bba963f0a Merge pull request #80782 from KoBeWi/MessLibrary
Cleanup MeshLibrary changed signals
2023-08-21 08:23:48 +02:00
ecc3944b1e Cleanup MeshLibrary changed signals 2023-08-19 11:56:31 +02:00
4789759035 Fix GridMap shortcuts that should not be physical 2023-08-19 02:49:41 +02:00
f80f4eb390 Make gridmap shortcuts editable and not conflict with other plugins
Co-authored-by: Tomek <kobewi4e@gmail.com>
2023-08-10 16:55:59 +02:00
42faab826d Fix GridMap tile picking when a search filter is applied 2023-06-21 12:02:07 +08:00
3158f6378e Merge pull request #78265 from caseyjoy/57068_gridmap_grid_position
Update GridMap editor grid location when required
2023-06-20 00:04:53 +02:00
0defaefdba Update GridMap editor grid location when required
The GridMap editor's grid previously did not not move when moving
the tile cursor, only on certain menu actions.

This commit adds an update_grid call for valid mouse movement in
the editor, changes update_grid to only offset if there's a valid
cursor, and adds updates for the grid and cursor when a mesh library
is changed since we need the new RID for the update_grid check,
and if we remove the mesh library we want to make sure it gets
recentered. As a nice side-effect, it also updates to the new cursor
mesh if you load a new mesh library.

Fixes #57068
2023-06-17 16:09:41 -06:00
25b2f1780a Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
366c9678ca Fix some invalid plugin edit calls 2023-06-11 22:15:54 +02:00
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
b78623dae6 Only change floors in GridMap editor when holding Ctrl/Cmd, not Shift
The Shift modifier frequently interfered with freelook's speed modifier,
which led to the floor level being accidentally changed.
2023-03-25 03:57:37 +01:00
d8bad3eef5 Fix GridMap signal "cell_size_changed" disconnect error
Fixes GridMap signal "cell_size_changed" disconnect error.
2023-03-14 04:21:37 +01:00
624426f32e Fix GridMap 'cell_size_changed' signal not disconnecting properly
Fixes that a GridMap node would not disconnect from the 'cell_size_changed' signal when the new selected node is another valid GridMap.
2023-02-23 21:17:37 +01:00
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
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
8a3d2f4e0c Cleanup remaining EditorUndoRedoManager usages 2022-11-24 18:56:22 +01:00
ba9e619b51 Use forward-declarations in EditorPlugin where possible 2022-11-11 20:25:51 +01:00
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
ae5771e1b1 Rename remaining "Spatial" in Plugins to "Node3D"
For EditorNode3DGizmo:
- `get_spatial_node` -> `get_node_3d`
- `set_spatial_node` -> `set_node_3d`

For EditorPlugin:
- `add_spatial_gizmo_plugin` -> `add_node_3d_gizmo_plugin`
- `remove_spatial_gizmo_plugin` -> `remove_node_3d_gizmo_plugin`

Also renames some internal methods for consistency (`forward_3d_draw_over_viewport` & `forward_3d_force_draw_over_viewport` ...). Basically, Spatial has been completely eradicated.
2022-10-04 16:27:29 +02:00
6f4d233062 Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
fd6453c45e Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED"
This reverts commit 4b817a565c.

Fixes #64988.
Fixes #64997.

This caused several regressions (#64988, #64997,
https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605)
which point at a flaw in the current logic:

- `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with
  `NOTIFCATION_THEME_CHANGED` as introduced in #62845.
- Some classes use their `THEME_CHANGED` to cache theme items in
  member variables (e.g. `style_normal`, etc.), and use those member
  variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE`
  notification is now deferred, they end up accessing invalid state and this
  can lead to not applying theme properly (e.g. for EditorHelp) or crashing
  (e.g. for EditorLog or CodeEdit).

So we need to go back to the drawing board and see if `THEME_CHANGED` can be
called earlier so that the previous logic still works?

Or can we refactor all engine code to make sure that:
- `ENTER_TREE` and similar do not depend on theme properties cached in member
  variables.
- Or `THEME_CHANGE` does trigger a general UI update to make sure that any
  bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE`
  does arrive for the first time. But that means having a temporary invalid
  (and possibly still crashing) state, and doing some computations twice
  which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-29 11:11:29 +02:00
4b817a565c Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED 2022-08-27 11:52:29 -06:00
ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
da7a5653f4 Expose Basis set_orthogonal_index method as a GridMap function 2022-08-20 21:42:20 -05:00
fe16aecbac Fix error when switching to another GridMap with an item with higher index selected 2022-08-09 19:05:02 -03:00
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00