The position (left/right) of the Cancel and OK buttons in AcceptDialog
are DisplayServer specific, as Windows uses OK/Cancel and macOS uses Cancel/OK.
Linux/X11 currently uses the macOS convention which is also the GTK+/GNOME one,
though it's not consistent with Qt/KDE applications which follow the Windows
convention.
Since that can't satisfy everyone, it's best if it's configurable also for the
editor (it's already configurable for the project).
Fixes#59379.
Let the cancel button grab focus to prevent any accident.
Make the full project conversion respect OS specific ok/cancel
positions.
Improve popup sizing and wrapping a bit.
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.
Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.
Just a few comments have also been changed to say "redraw".
In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
This allows the icon's scale to be changed using the `svg/scale`
import option, including to scales greater than the default 128×128.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
Storing the project/favorites list in the EditorSettings makes it
difficult to version-control your editor configuration, as the file will
continually change as you open new projects. It also means a
configuration can't be shared across machines, as they might not have
the same projects or file layout.
Now the project list is stored in $godot_data_dir/projects.cfg.
Each path is a section, which has a boolean favorite value.
If the new config does not exist, the editor attempts to migrate legacy
EditorSettings-based configuration to the new file.
Fixesgodotengine/godot-proposals#1637.
GitHub doesn't allow CORS so we can't download assets from it.
There'd also be more work needed for the Asset Library plugin to be
usable in the Web editor even if that was supported.
- Don't use minimum size for project order/filter controls.
This also allows the filter field to become longer at large
window sizes.
- Hide the loading label instead of changing its opacity.
This causes a reflow during loading, but this is preferable to having
the UI overflow.
- Hide the About button on Android as it will spawn a dialog that's
too large to be closed on most screens.
- Hide the language dropdown on Android as it doesn't work correctly.
This allows the project manager to be displayed correctly at much
lower window sizes than previously.
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!