Adds set_flag(FLAG_RESIZE_DISABLED, true) to ConfirmationDialog and
AcceptDialog instances which only contain plain content. Dialogs
with content that could leave the borders of the dialog were kept
as resizable.
The flag is set explicitly at dialog creation time, instead of the
previous auto-detect approach. In cases of uncertainty, the dialog was
left as resizable.
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.
Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.
With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
Previously, some messages indicating a lack of support were errors
instead of warnings. Some messages were also not shown when running
a release export template.
- Use "renderer" terminology consistently instead of "rendering method".
Add accessibility names and live region to improve screen reader support:
- Project name field now announces its label
- Status message is a live region for automatic announcements
- Renderer radio buttons include group context in their names
This also adds infrastructure to make specific settings the default, but only
in projects created after this point (so that existing projects
are not affected). This can be used for progressive upgrades in the future.
This applies to both the project creation dialog and creating projects
through the command line using `touch project.godot`.
- refactored and renamed String::_camelcase_to_underscore to String:_separate_compound_words
- refactored String::to_snake_case to work with the refactored String::_separate_compound_words
- created char_utils::is_hyphen to catch all hyphen variants in kebab-case conversion
- created String::to_kebab_case using the new String::_separate_compound_words
- created corresponding Documentation in String and StringName
- simplified both switch statements in EditorNode and ProjectDialog
- added new kebab-casing Option for Node Names in ProjectSettings
- added missing camelCase Options to Scene- and Node-Names in ProjectSettings
- simplified Mono RuntimeInterop Functions
- hooked up the ConnectionsDialog
- created additional Unit Tests