Add "Edit" button dropdown item for "Edit in verbose mode"
Remove ability to hold Alt key to change "Edit" and "Run" buttons to verbose mode counterparts
Update editor/project_manager.cpp
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
Remove code for running project in verbose mode
This makes the project manager feel less cramped when many
projects are imported, or when browsing templates in the asset library.
On displays smaller than 1152x800 (e.g. 1366x768), window height is
automatically limited by DisplayServer when setting the window size.
This also tweaks splash screen size when starting the project manager
to match the project manager's default window size, and allows the
`--resolution` and `--position` CLI arguments to affect the project
manager.
Lastly, this increases the minimum width slightly to prevent the UI
from being cut off with the default theme.
How editor plugins use this feature:
1. Pick a unique translation domain name.
2. `_enter_tree()`: load translations into that translation domain.
3. Call `set_translation_domain()` for its root UI node.
4. `_exit_tree()`: remove that translation domain.
Plugins can also set the translation domain to `godot.editor` for
nested nodes that should use editor translations. `EditorFileDialog`
automatically does this.
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab
- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call
These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
This can be used to quickly see how recent a development build is,
without having to look up the commit date manually.
When juggling around with various builds (e.g. for benchmarking),
this can also be used to ensure that you're actually running the
binary you intended to run.
The date stored is the date of the Git commit that is built, not
the current date at the time of building the binary. This ensures
binaries can remain reproducible.
The version timestamp can be accessed using the `timestamp` key
of the `Engine.get_version_info()` return value.