Age | Commit message (Collapse) | Author |
|
Radio buttons in menus
|
|
Fix `RichTextLabel` column size growing beyond its calculated `max_width`
|
|
Add tint property to TextureProgress
|
|
Improve popup menus usability
|
|
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal.
This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item.
This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature.
This improves UX a bit by saving unnecessary clicks.
From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
|
|
Abstracted the syntax highlighter from text edit.
|
|
|
|
|
|
|
|
|
|
They work exactly the same as current checkbox-decorated items, but in order to preserve compatibility, separate methods are used, like `add_radio_check_item()`. The other option would have been to add a new parameter at the end of `add_check_item()` and the like, but that would have forced callers to provide the defaults manually.
`is_item_checkable()`, `is_item_checked()` and `set_item_checked()` are used regardless the item is set to look as check box or radio button.
Keeping check in the name adds an additional clue about these facts.
Closes #13055.
|
|
When `RichTextLabel` calculated the actual width of columns, it let
them grow to sizes greater than its calculated `max_width`. Now this
PR ensures no columns grows beyond `max_width`, and the excess width
is distributed among the columns which can still grow.
It should fix #17731.
|
|
Fix bad rendering of BBCode tables in `RichTextLabel`
|
|
|
|
Fixes wrong calculation of gridcontainer's children size
|
|
|
|
Text overflowed canvas as tables didn't calculate correctly the width
of their columns. They used the whole table width available for each
column. Also, the `cell` parameter was wrongly parsed if used with its
optional argument (expand ratio).
This PR fixs the parsing of `cell` parameter (i.e. `cell=e`) and the
distribution of the full table width between columns, but it overrides
automatically the `expand` flag if the column is smaller than it could
be, to allow a better UX out-of-the-box. It keeps the `expand_ratio`
flag to let the user customize how every column grows in relation to
the rest.
Partially fix #6289.
|
|
GUI elements ui_action usage, improvements
|
|
Fix "ui_accept" action not calling _pressed() function in GDScript Button
|
|
expose Itemlist.move_item and optimize functionality
|
|
|
|
|
|
Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)
|
|
Auto completion edge jump
|
|
Better tab support for color picker
|
|
Implement line clipping for `TextureProgress` to avoid bad rendering
|
|
Fixes infinite loop in GridContainer
|
|
Fix infinite loop in GridContainer layout
|
|
|
|
|
|
imprecise UV mapping
Original code used a quick aproximation for simulating the
correspondent texel in the `TextureProgress` texture as radial
progress indicator. This lead to visualization errors. Changed it for
a Liang-Barsky line clipping algorithm stripped to its minimum for
this specific use case.
Fix #17364.
|
|
I had a grid container and tried to set rect.min_height larger in the
editor; that caused an infinite loop in GridContainer::_notification
at line 118. The reason is max_index was being set to the *height* of
the row, not the *index* of the row. So later when it tried to erase
that row and try again, there was nothing to erase.
I applied the same fix to the width code.
|
|
|
|
arrow up/down jumps to end/start on edges
|
|
|
|
sugar notation ($)
If you had a tree like Node2D->Sprite->Camera2D and you write a
code like $Node2D/Spr and chose the autocompletion sugested
Node2D/Sprite, the resulting string was $Node2D/Node2D/Sprite
instead $Node2D/Sprite. If you chose Node2D/Sprite/Camera2D, then
you ended with $Node2D/Node2D/Sprite/Camera2D.
Fix #15813.
|
|
Fix "ui_accept" action in BaseButton.cpp not calling _pressed() func in
GDScript
|
|
|
|
|
|
|
|
Fix weird editor crash when switching from editing one gradient to another keeps 'grabbing' variable to true
|
|
Used by Slider and Scrollbar
|
|
And id_focused to Popupmenu.
|
|
|
|
When line edit receive a up/down and the cursor is at beginning/end it
will not set the input as handled
|
|
|
|
|
|
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
|
|
|
|
while in "Open folder" mode.
|