Commit graph

1474 commits

Author SHA1 Message Date
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
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
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
luz.paz
612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Max
6a48f952ca Fixed disappearing text on filedialog buttons 2018-02-21 16:04:51 +02:00
Michael Alexsander Silva Dias
db80d56388 Fixed "Open" button being enabled when nothing is selected in a FileDialog while in "Open folder" mode. 2018-02-20 12:19:06 -03:00
Rémi Verschelde
55f00d9655
Merge pull request #16455 from volzhs/close-docs
Keep to show current script when closing all docs
2018-02-20 09:40:29 +01:00
volzhs
df84290a7e Keep to show current script when closing all docs
also fix error when removing multiple tabs from TabContainer at same frame.
like closing multiple docs at once.

Fix #16403
2018-02-20 14:39:52 +09:00
Rémi Verschelde
6ee4298ee3
Merge pull request #16652 from aragar/FixQuotationInString
Fix quotation in string
2018-02-19 22:12:53 +01:00
Rémi Verschelde
d5daaa72fa
Merge pull request #15306 from poke1024/item-list-draw-speed
Boost drawing speed of ItemLists with many items
2018-02-19 21:53:59 +01:00
Alexander Alekseev
66c39b1426 Fixes OptionButton selection index being reset to zero at instanciation
Bug: engine tries to set selected item before items were added during save scene/run project, because of wrong properties order.
Fixes #10213.
2018-02-19 20:25:34 +01:00
Rémi Verschelde
b93d6a001b
Merge pull request #16566 from groud/gui_input_rework
2D Editor GUI input rework
2018-02-19 20:05:35 +01:00
isaacremnant
cc902cf9ab Force controls to save rect_clip_content since they do not all default to false. 2018-02-18 22:24:05 -05:00
Artem Varaksa
d35e486228 Clean up some bad words from code comments 2018-02-17 16:00:39 +03:00
Gilles Roudiere
8dad41e395 2D editor GUI input rework. Changes are:
- The input handling is done into several distinct functions, and the
  code is more consistent.
- The actions' history is more precise ("Edited CanvasItem"
  is now "Rotated CanvasItem","Moved CanvasItem",etc...)
- Fixed a little bug about input key events not forwarded correctly to plugins
- IK is followed by default when you move a bone node, the alt-key allow
  you to move it normally
2018-02-16 10:14:52 +01:00
JFonS
f68594a525 Fix weird editor crash when switching from editing one gradient to another keeps 'grabbing' variable to true 2018-02-14 16:48:13 +01:00
Rémi Verschelde
2551db44e1
Merge pull request #15618 from ianb96/fold_comment
TextEdit folding over unindented comments
2018-02-14 16:36:42 +01:00
Rémi Verschelde
f1ee573ebe
Merge pull request #15711 from poke1024/fix-rtl-descent
Fixes wrong vertical font layout in RichTextLabel
2018-02-14 16:28:16 +01:00