Commit Graph

1490 Commits

Author SHA1 Message Date
Juan Linietsky 24cf58f917
Merge pull request #16574 from isaacremnant/better_grow_direction
Added GROW_DIRECTION_BOTH for controls
2018-04-08 16:42:16 -03:00
Juan Linietsky 6eb0c74e9d
Merge pull request #17443 from Noshyaar/tilesetcrash
Fix converting to tileset crashes Godot if existing file is not tileset
2018-04-08 09:31:54 -03:00
Juan Linietsky 187b14ae24
Merge pull request #17730 from RandomShaper/radio-buttons-in-menus
Radio buttons in menus
2018-04-07 16:41:39 -03:00
Juan Linietsky 51f689de3c
Merge pull request #17744 from robfram/fix-rtl-table
Fix `RichTextLabel` column size growing beyond its calculated `max_width`
2018-04-07 16:36:50 -03:00
Juan Linietsky 644ada1aac
Merge pull request #17752 from nikibobi/texture-progress-tint
Add tint property to TextureProgress
2018-04-07 16:35:49 -03:00
Juan Linietsky 7dedb22f0b
Merge pull request #17809 from RandomShaper/menu-item-on-release
Improve popup menus usability
2018-04-07 16:22:00 -03:00
Pedro J. Estébanez 259ed1d400 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.
2018-04-07 01:06:02 +02:00
Rémi Verschelde 5ede505f14
Merge pull request #17923 from Paulb23/add_abstract_syntax_highlighter
Abstracted the syntax highlighter from text edit.
2018-04-04 09:50:51 +02:00
Paulb23 f7c727e6c3 Abstracted the syntax highlighter from text edit 2018-04-02 12:41:44 +01:00
Wilson E. Alvarez 747c65272d
Added signal to VideoPlayer to notify when the video finished playing 2018-04-01 23:40:26 -04:00
bosak 90918ff5ab add tint for under, progress and over and tint group 2018-04-01 19:22:51 +03:00
Pedro J. Estébanez a6dc160d5c Use radio-button-like menu entries where applicable 2018-03-27 19:19:45 +02:00
Pedro J. Estébanez ab3b1d9f3e Add radio-button-looking entries to PopupMenu
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.
2018-03-27 19:19:45 +02:00
robfram ef2b7b090c Fix `RichTextLabel` column size growing beyond its calculated `max_width`
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.
2018-03-24 18:09:35 +01:00
Poommetee Ketson ed3b080ca6 Fix converting to tileset crashes Godot if existing file is not tileset
also make TileSetEditorPlgn tile list updates the preview modulate
2018-03-23 21:27:30 +07:00
Rémi Verschelde 5f0ea4ddcf
Merge pull request #17612 from robfram/fix-richtextlabel-bbcode
Fix bad rendering of BBCode tables in `RichTextLabel`
2018-03-23 10:22:33 +01:00
bosak 1fa69c24a0 add tint property to TextureProgress changes progress color 2018-03-21 22:33:48 +02:00
Rémi Verschelde cc8f7c78af
Merge pull request #17618 from groud/fix_gridcontainer
Fixes wrong calculation of gridcontainer's children size
2018-03-19 10:12:20 +01:00
Gilles Roudiere 896e5a64d3 Fixes wrong calculation of gridcontainer's children size 2018-03-18 22:33:17 +01:00
robfram 5358befb41 Fix bad rendering of BBCode tables in `RichTextLabel`
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.
2018-03-18 18:06:24 +01:00
Fabio Alessandrelli c531262190
Merge pull request #16947 from Faless/ui_actions
GUI elements ui_action usage, improvements
2018-03-16 20:55:11 +01:00
Hein-Pieter van Braam 64b336b367
Merge pull request #17293 from bncastle/basebutton_fix_pressed
Fix "ui_accept" action not calling _pressed() function in GDScript Button
2018-03-15 22:58:49 +01:00
Rémi Verschelde fe93459ef9
Merge pull request #17345 from AlexHolly/expose-itemlist-move-item
expose Itemlist.move_item and optimize functionality
2018-03-13 20:05:00 +01:00
Alexander Holland a3d2f59dbe expose itemlist.unselect_all() 2018-03-13 16:46:25 +01:00
Alexander Holland 73146af740 expose Itemlist.move_item and optimize functionality 2018-03-13 15:19:43 +01:00
Rémi Verschelde 88c1430613
Merge pull request #17314 from robfram/complete-path-15813
Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)
2018-03-13 12:16:51 +01:00
Rémi Verschelde 6d97fbdfc1
Merge pull request #17359 from AlexHolly/completion-edge-jump
Auto completion edge jump
2018-03-13 12:01:14 +01:00
Rémi Verschelde 6e491ff283
Merge pull request #17383 from poke1024/colorpicker-tweaks
Better tab support for color picker
2018-03-13 11:42:51 +01:00
Rémi Verschelde ada1357dfd
Merge pull request #17422 from robfram/fix-radial-textureprogress
Implement line clipping for `TextureProgress` to avoid bad rendering
2018-03-13 11:25:49 +01:00
Rémi Verschelde b1c9a7c757
Merge pull request #17410 from groud/fix_grid_container
Fixes infinite loop in GridContainer
2018-03-13 10:34:31 +01:00
Rémi Verschelde c446231a6e
Merge pull request #17191 from garyo/fix_grid_cont
Fix infinite loop in GridContainer layout
2018-03-13 10:34:20 +01:00
Bernhard Liebl 8277bf29a4 Various ui tweaks for color picker 2018-03-12 13:58:31 +01:00
Alexander Holland 11e40d3700 expose Itemlist.is_anything_selected 2018-03-11 03:01:16 +01:00
robfram 7991bd168d Implement line clipping for `TextureProgress` to avoid bad rendering due to 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.
2018-03-10 20:51:42 +01:00
Gary Oberbrunner 561e57df13 Fix infinite loop in GridContainer layout
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.
2018-03-10 14:38:35 -05:00
Gilles Roudiere 44cb8eb3a2 Fixes infinite loop in GridContainer 2018-03-10 14:01:20 +01:00
Alexander Holland e36dd4282b auto-completion edge jump
arrow up/down jumps to end/start on edges
2018-03-09 17:31:07 +01:00
Leon Krause 38623e07ac Prevent division by zero in GridContainer 2018-03-07 17:36:28 +01:00
robfram 95f186b621 Fix bad autocomplete of partially written node paths when using syntactic 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.
2018-03-06 19:25:14 +01:00
bncastle ceb079fa35 Fix BaseButton not always calling _pressed()
Fix "ui_accept" action in BaseButton.cpp not calling _pressed() func in
GDScript
2018-03-05 20:37:10 -05:00
Bernhard Liebl 0e1e95c41f Fix more regressions in RichTextLabel from PR 15711 2018-03-02 19:19:46 +01:00
poke1024 89f607604e Fix regression through fa98637aca 2018-03-01 18:03:53 +01:00
Hein-Pieter van Braam d702d7b335 Fix various valgrind reported uninitialized variable uses 2018-02-28 21:55:13 +01:00
Rémi Verschelde 6093660bfb
Merge pull request #16656 from JFonS/fix_gradient_crash
Fix weird editor crash when switching from editing one gradient to another keeps 'grabbing' variable to true
2018-02-27 11:38:19 +01:00
Fabio Alessandrelli 920d2bfdfa Add two new default actions ui_end, ui_home
Used by Slider and Scrollbar
2018-02-23 13:01:28 +01:00
Fabio Alessandrelli ff122a7e1f Add item_focused signal to OptionButton
And id_focused to Popupmenu.
2018-02-23 13:01:28 +01:00
Fabio Alessandrelli 59c23c1369 Scrollbar now uses UI actions instead of keys 2018-02-23 13:01:28 +01:00
Fabio Alessandrelli e15fe296bd Line edit up/down focus pass through
When line edit receive a up/down and the cursor is at beginning/end it
will not set the input as handled
2018-02-23 13:01:28 +01:00
Fabio Alessandrelli e3eb686906 Tree now uses UI actions instead of keys 2018-02-23 12:58:35 +01:00
Fabio Alessandrelli 4a71483a65 Popupmenu now uses UI actions instead of keys 2018-02-23 12:58:16 +01:00