The UI was extending past the screen width when loading a page diplaying
a plugin with an especially long title in the asset store plugin.
I implemented a new `EditorAssetLibraryItem::clamp_width` method that
checks that the title text is not longer than the column width minus
some padding and truncates it if it is.
I also noticed that the nav buttons for paginated results were causing the UI to extend past
the screen width on higher editor scales since they were hardcoded to
show ten page buttons if there were enough results. I modified the
pagination slightly to display a dynamic number of nav buttons based on
the editor scale in order to fix this other cause of the same problem.
I had to use the font of the `title`, which is a `LinkButton` in order
to determine the text width, so I added a public getter `get_button_font` to the `LinkButton` class.
(cherry picked from commit d63a88bef1)
PCK files (like other build products) should be deterministic based on their inputs. Removed calls to Math::rand() that are being used to generate padding.
Looks like these were introduced as part of adding encryption support, but the padding being random does not have any cryptographic significance. This can be trivially inferred since file blocks that happen to be aligned don't get padding anyway.
If there's a desire to indroduce something that functions as a nonce it should probably be added explicitly and only if encryption is enabled.
remove Math::rand() calls in editor_export_platform.cpp
follow up to make consistent with pck_packer
(cherry picked from commit 067807c1cb)
This prevents the estimation from being extremely high (close to 100,000 FPS)
until enough time has passed to display an accurate estimation.
(cherry picked from commit 15b31f0891)
This commit fixes#78140
When the scene was re-imported with non-default values of some settings, re-importing it again using default values for those settings didn't have the effect.
The problem was that when handling the reimport, a wrong dictionary of the settings was used.
(cherry picked from commit 8b729e5b7e)
This is useful when animating pixel art sprites in the 2D editor,
as a value of `1` is often too large when zoomed in.
(cherry picked from commit a39190a18f)
The bug happens when plugin tree is propagating mouse events
(so it is blocked), but EditorProgress's dtor will make main editor
focused and call update_plugins immediately
which will update the blocked tree.
(cherry picked from commit 7e3a762369)
Set the properties of the resource's proxy instead of setting the resource's
properties directly. (For action "Set ...")
Update the path of the edited scene when saving the scene. (For action "Add
atlas source")
(cherry picked from commit 28db5e7649)