Commit graph

500 commits

Author SHA1 Message Date
Thaddeus Crews
7dba09882a
Merge pull request #101557 from btgs-0/empty-project-window-flowcontainer-101530
Make the `empty_list_actions` HBoxContainer into a FlowContainer.
2025-01-16 17:17:55 -06:00
Rémi Verschelde
5718845d99 Merge pull request #101576 from bruvzg/pm_size_fix
Fix project manager window size when `EDSCALE` is not 1.0.
2025-01-16 01:49:15 +01:00
Mateus Elias
0158efc153 Fix ProjectManager::_open_selected_projects_check_recovery_mode() method
Check if at least one project is selected.
2025-01-15 10:18:31 -03:00
Pāvels Nadtočajevs
934668a69a Fix project manager window size when EDSCALE is not 1.0. 2025-01-15 12:39:02 +02:00
BT
0b06df10e9 Make the empty_list_actions HBoxContainer into a FlowContainer. 2025-01-15 07:04:09 +10:30
Hugo Locurcio
cc86322d8d
Increase the project manager's default window size
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.
2025-01-11 18:25:24 +01:00
Ricardo Subtil
b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
Rémi Verschelde
c3c0c24d1e
Merge pull request #100863 from larspet/project-list-placeholder
ProjectManager: Update project list placeholder when project is created
2025-01-03 02:01:32 +01:00
Lars Pettersson
c5b61d4d82
ProjectManager: Update project list placeholder when project created or imported. 2024-12-27 23:31:50 +01:00
Maxime Delorme
e4e966b0f2 Fix #100727 by giving the project manager title to the node instead of DisplayServer 2024-12-23 19:44:18 +01:00
Haoyu Qiu
bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +08:00
Rémi Verschelde
43ef253024
Merge pull request #95600 from MajorMcDoom/project-dialog-optional-edit
Add an `Edit Now` option to project dialog to allow opting out of immediately opening a project after creation/import/install
2024-12-12 14:09:37 +01:00
Lukas Tenbrink
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
A Thousand Ships
af56d6e8e8
Use SceneStringName in more places 2024-12-02 14:39:16 +01:00
Haoyu Qiu
84e6330e85 Remove unnecessary array construction when initializing the project manager 2024-11-14 13:52:49 +08:00
Aaron Franke
562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Haoyu Qiu
38579a1e84 Unify editor version buttons 2024-09-28 23:26:23 +08:00
Haoyu Qiu
818acb4290 Make editor use translation domains
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.
2024-09-17 13:09:44 +08:00
kobewi
c435a8f37b Add simple minor version migration 2024-09-11 17:28:42 +02:00
Rémi Verschelde
012ccbc301
Merge pull request #95048 from KoBeWi/keep_the_party_going
Add `keep_screen_on` editor setting
2024-08-27 22:27:35 +02:00
Rémi Verschelde
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
aaronp64
7593e55527 Improve Editor Inspector/Theme item lookup performance
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%
2024-08-20 13:39:40 -04:00
Zi Ye
3669eb0b69 Added an "Edit Now" option to project dialog. 2024-08-15 18:54:05 -05:00
kobewi
ab4c23583a Add keep_screen_on editor setting 2024-08-02 03:44:29 +02:00
Fredia Huya-Kouadio
5e59819727 Cleanup Android input on render thread settings
Follow up to https://github.com/godotengine/godot/pull/93933
Clean up the set of settings use to control whether Android input should be dispatched on the render thread.

Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
2024-07-09 09:15:18 -07:00
kobewi
8041dc6a55 Make project naming setting available in project manager 2024-06-21 15:53:06 +02:00
A Thousand Ships
fbb879debd
[Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
A Thousand Ships
ca18a06ecb
[Scene] Add SceneStringNames::confirmed 2024-06-19 09:40:54 +02:00
A Thousand Ships
d9e2fc74c7
[Scene] Add SceneStringNames::item_selected 2024-06-19 09:39:05 +02:00
A Thousand Ships
d519715d94
[Scene] Add SceneStringNames::font(_size/_color) 2024-06-18 17:24:27 +02:00
Rémi Verschelde
9c87e8c7b4
Merge pull request #91953 from AThousandShips/use_normal_sname
Use `CoreStringNames::normal` in more places
2024-05-31 14:16:05 +02:00
A Thousand Ships
cade5b88d9
Use CoreStringNames::normal in more places 2024-05-30 22:57:54 +02:00
A Thousand Ships
926afccbd8
[Scene] Add SceneStringNames::panel 2024-05-30 22:54:50 +02:00
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi
4324d01c8e Allow loading custom ProjectSettings instance 2024-04-26 11:34:37 +02:00
kobewi
a00527e415 Fix folder scan replacing project list 2024-04-18 13:03:21 +02:00
kobewi
49e69fabba Add automatic checking for engine updates 2024-04-15 15:08:27 +02:00
bruvzg
225761868a
[macOS] Use "expand_to_title" for the project manager. 2024-03-24 00:23:16 +02:00
Nathan Franke
2130f1121a
Automatically create folder in project manager create/import/install 2024-03-08 12:27:50 -06:00
Hugo Locurcio
67e9ccdbc4
Display the build date in the editor and when starting the engine
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.
2024-02-27 20:39:17 +01:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Yuri Sizov
f923b58f88 Correctly handle failures to open a project 2024-01-30 17:52:31 +01:00
Yuri Sizov
28e8a4c0ee Replace empty list dialog with an integrated panel 2024-01-30 17:52:25 +01:00
Yuri Sizov
068c0d2699 Implement a quick settings dialog for the project manager
Currently it allows to adjust language, theme preset,
UI scaling, and network mode.
Project manager has been updated to support
dynamic theme updates.
2024-01-30 17:52:19 +01:00
Yuri Sizov
4d97c33503 Add a network mode setting to bring the editor offline
This PR also adds default font styles for RichTextLabels
in the editor, and improves the introduction dialog
when you don't have any local projects available.

The offline mode is implemented in the asset library
plugin, alongside some code improvements.
2024-01-30 17:52:08 +01:00
Yuri Sizov
bac037b1e0 Improve the project manager UI 2024-01-30 17:52:01 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
Yuri Sizov
691450bc08 Reorganize project manager code
- Extract individual components to their own files.
- Improve order of declarations and definitions within those files.
- ProjectDialog is only extracted as there are upcoming
PRs touching on it.
2024-01-16 19:57:36 +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