Commit Graph

2723 Commits

Author SHA1 Message Date
Juan Linietsky 8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky 9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky 4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde 4d5705eefa
Merge pull request #37274 from Janglee123/corrected-text-selection-in-color-picker
Corrected text selection in color picker
2020-03-26 09:29:18 +01:00
janglee 77b70aa79d Corrected text selection in color picker
Fixes #35603
2020-03-25 08:13:31 +00:00
Rémi Verschelde 4d7ab010db
Merge pull request #37281 from ThakeeNathees/fix-project-manager-don't-consume-Enter
Fix: project manager don't consume Enter key #17620
2020-03-25 08:13:04 +01:00
Thakee Nathees b98153886f fix project manager don't consume Enter key #17620 2020-03-25 07:09:36 +05:30
Rémi Verschelde e9ecb06cf3
Merge pull request #37280 from KoBeWi/n
Make search in RichTextLabel case-insensitive
2020-03-24 21:31:57 +01:00
Rémi Verschelde b587f98fcc
Merge pull request #37176 from dkaste/line-edit-secret-fix-2
Use LineEdit secret character width everywhere
2020-03-24 21:27:44 +01:00
Tomasz Chabora b3f83ac115 Make search in RichTextLabel case-insensitive 2020-03-24 20:03:09 +01:00
Rémi Verschelde ca4e4506db Fix potential divisions by 0 reported by MSVC
The `TextEdit` one was indeed a potential bug.
The `PCKPacker` one seems to be a false positive, it's already in a
`for` loop that depends on `files.size()`.
2020-03-21 11:54:08 +01:00
Darren Kaste c7c47410aa Use LineEdit secret character width everywhere 2020-03-19 19:06:14 -04:00
Rémi Verschelde cf50ee4fa4
Merge pull request #37094 from dkaste/line-edit-secret-select
Calculate LineEdit selection with secret character
2020-03-18 21:50:14 +01:00
simpuid 43b2f75d64 Remove update condition from LineEdit::update_placeholder_width
Placeholder with length greater than `max_length` are allowed, so there is no reason for those update condition.
It fixes the odd alignment of placeholder when it's length is greater than `max_length`
2020-03-18 02:22:45 +05:30
Rémi Verschelde cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Darren Kaste 395a038c85 Calculate LineEdit selection with secret character 2020-03-16 12:22:13 -04:00
Michael Alexsander 8f925b1970 Fix incorrect TabContainer documentation for 'get_tab_control()' 2020-03-14 10:53:21 -03:00
Rémi Verschelde 951ecc4f79
Merge pull request #36518 from Janglee123/no-underlined-keywords
Removed underlining of not clickable symbols
2020-03-12 22:24:43 +01:00
janglee 50a570c9c1 Removed underlining for not clickable symbols 2020-03-11 08:57:21 +00:00
Rémi Verschelde e80da4a920
Merge pull request #36715 from dreamsComeTrue/fix-text-edit-comment-quotes
Allow single quotes [',"] in comments in TextEdit
2020-03-11 07:32:24 +01:00
Dominik 'dreamsComeTrue' Jasiński ab6456d1bc Allow single quotes in comments
Fixes: #36638
2020-03-11 06:27:28 +01:00
Pedro J. Estébanez aee586553a Improve UX of drive letters
Namely, move the drive dropdown to just the left of the path text box and don't include the former
in the latter.

This improves the UX on Windows.

In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its
dropdown is kept at the original location.
2020-03-03 10:38:34 +01:00
Rémi Verschelde e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Gil Arasa Verge c27811ee68 Double click on a folder didn't open it
There is a deferred call to _update_file_list inside _tree_item_activated but it was not bound.
2020-02-29 21:11:03 +01:00
Rémi Verschelde 09a6a2d8f8 Signals: Port more uses of connect_compat
Those were problematic as they call a method of their parent class,
but callable_mp does not allow that unless it's public.

To solve it, we declare a local class that calls the parent class'
method, which now needs to be protected to be accessible in the
derived class.
2020-02-28 14:24:09 +01:00
Rémi Verschelde f742dabafe Signals: Manually port most of remaining connect_compat uses
It's tedious work...

Some can't be ported as they depend on private or protected methods
of different classes, which is not supported by callable_mp (even if
it's a class inherited by the current one).
2020-02-28 14:24:09 +01:00
Rémi Verschelde 01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Rémi Verschelde 5a025d3ce8
Merge pull request #36626 from giarve/stop-input-event-prop-on-popup-close
Clicking backgrd. dimming of editor popup stops input event propagation
2020-02-28 10:09:04 +01:00
Gil Arasa Verge 35bc88ca34 Clicking backgrd. dimming of editor popup stops input event propagation
A click on the dimmed background of a popup in the editor should stop the input event from propagating to the background.

This solution reuses the system introduced in commit efc3ffb8, taking advantage of the hide() notifications from the modal where we will set the flag "pass_on_modal_close_click(false)" to stop event handling at the viewport input event handling.
The viewport first hides the modal and after marks the input as handled if the flag mentioned above is set.

Fixes #36341
2020-02-28 00:02:06 +01:00
Mateo Dev .59 7ea690b94f Signals: tab_changed now is emitted when it's on scene tree 2020-02-27 21:27:52 +01:00
Rémi Verschelde 2d904d2f80
Merge pull request #36232 from Calinou/add-soft-line-length-guideline
Add a soft line length guideline to the script editor
2020-02-27 21:10:42 +01:00
Rémi Verschelde d94155e10b
Merge pull request #36050 from eswartz/line-edit-move-cursor-on-unselect
Use left/right arrow to move cursor when unselecting in LineEdit
2020-02-27 14:04:19 +01:00
Juan Linietsky 33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
bruvzg 1af06d3d46
Rename `scancode` to `keycode`.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Rémi Verschelde 194fd2d5a5
Merge pull request #36089 from dreamsComeTrue/fix-autocomplete-quotes
Fix: auto brace complete for quoted strings
2020-02-23 22:13:27 +01:00
Rémi Verschelde 2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Dominik 'dreamsComeTrue' Jasiński 6a404a88e4 Fix: auto brace complete for quoted strings
Fixes #36002
2020-02-21 23:01:13 +01:00
Juan Linietsky 3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky 3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Rémi Verschelde c92c434299
Merge pull request #36229 from dreamsComeTrue/rich-text-label-key-events
RichTextLabel: proper handling of internal key events
2020-02-17 09:56:38 +01:00
Ed Swartz ee39093ce3 Use left/right arrow to move cursor when unselecting in LineEdit
-- useful for rename dialog (the filename portion is selected by
default, and usually, want to change the end of the name, not the
beginning)
2020-02-15 09:24:20 -06:00
Juan Linietsky 867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
Michael Alexsander 5f5ccfc361 Fix hiding ColorPicker's presets not fully hiding its controls 2020-02-15 02:19:28 -03:00
Hugo Locurcio 3e4b508c3b
Add a soft line length guideline to the script editor
The default value is 80. The hard line length guideline's
default column has been moved to 100 to account for the new
soft line length guideline.

It can be disabled by setting its value to the same column as the
hard line length guideline.

This closes https://github.com/godotengine/godot-proposals/issues/347.
2020-02-15 03:02:40 +01:00
Dominik 'dreamsComeTrue' Jasiński ff030afc93 RichTextLabel: proper handling of internal key events
Fixes #36211
2020-02-14 23:15:38 +01:00
Juan Linietsky cf8c679a23 ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. 2020-02-12 14:24:54 -03:00
Juan Linietsky e1b3444415 Bugfixes and ability to better specify filter and repeat modes everywhere.
Removes antialiased flag for draw_* methods.
2020-02-11 11:53:28 +01:00
Juan Linietsky 1b4281b895 basic 2D engine is more or less working with Vulkan, including editor.
Still a lot to do
2020-02-11 11:53:27 +01:00
Juan Linietsky 3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Rémi Verschelde 9d8e095946 Merge pull request #34288 from bojidar-bg/33425-always-suggest-subsequence
Always display subsequence autocompletion matches
2020-02-10 11:25:35 +01:00
Rémi Verschelde ad2ceaade2 Merge pull request #35768 from Eoin-ONeill-Yokai/hiddenRichText
Fix to RichTextEffect `visibility` - Label Now Accounts for Skipped Characters.
2020-02-09 12:57:04 +01:00
Rémi Verschelde e420b85ba5
Merge pull request #35840 from timothyqiu/groups-match
Fixes add group in Group Editor dialog
2020-02-09 12:53:37 +01:00
Rémi Verschelde 7f95e027b4
Merge pull request #35814 from timothyqiu/line-edit-shortcut
Adds CTRL-A CTRL-E support to LineEdit on macOS
2020-02-09 12:51:59 +01:00
Rémi Verschelde 480bfbd42e Merge pull request #36039 from YeldhamDev/tree_text_clip_fix
Fix text clipping in Tree items not working with negative values
2020-02-09 12:51:26 +01:00
Michael Alexsander 830dd5cd8d Fix text clipping in Tree items not working with negative values 2020-02-08 20:08:18 -03:00
Rémi Verschelde 3e68d318c4
Merge pull request #35714 from sumit0190/lineEditWidth
Update cached_width of the line_edit element (#35699)
2020-02-08 23:43:32 +01:00
sumit0190 2e08578985 Update cached_width of the line_edit element when setting it to be secret 2020-02-08 10:49:08 -05:00
Haoyu Qiu 206b9f2d23 Uses split cursor for SplitContainer 2020-02-08 09:23:38 +08:00
Rémi Verschelde f3726ee994 Use modules_enabled.gen.h to improve inter dependency checks
- Fix build with gdscript module disabled. Fixes #31011.
- Remove unused `gdscript` compile option.
- Fix build with regex module disabled.
- Fix ImageLoaderSVG to forward declare thirdparty structs.
2020-02-07 11:50:40 +01:00
Rémi Verschelde e18c65634f GraphEdit: Fix regression with GraphNode mouse filter
PR #35068 made Container (which GraphNode inherits) default to
MOUSE_FILTER_PASS, so I removed the manual override, but it turns out
that GraphNode's constructor still overrides it to MOUSE_FILTER_STOP.

Another fix could be to remove the STOP in the constructor, but I don't
know if it's there for a specific reason (e.g. to have GraphNodes STOP
by default, but PASS in a specific case).

Fixes #35978.
2020-02-07 10:09:44 +01:00
Rémi Verschelde f003b3efaa
Merge pull request #35068 from akien-mga/containers-mouse-filter-pass
Use MOUSE_FILTER_PASS for all containers
2020-02-06 12:23:39 +01:00
Rémi Verschelde dc9774b17b
Merge pull request #32959 from georgwacker/control-node-anim-fix
Fix control node transform animation jitter with pivot offset
2020-02-05 17:06:49 +01:00
Marcel Admiraal f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Haoyu Qiu 421ea09195 Fixes add group in Group Editor dialog
Before this fix, new group can't be created if any existing group starts
with the new name.
2020-02-02 11:11:20 +08:00
Haoyu Qiu 4774043f8e Adds CTRL-A CTRL-E support to LineEdit on macOS 2020-02-01 13:35:16 +08:00
Rémi Verschelde 5da20d6cf2
Merge pull request #35612 from timothyqiu/option-button-arrow
Fixes OptionButton minimum size
2020-01-31 11:25:13 +01:00
Eoin O'Neill b3fd4884d7 Fix RichTextEffect `visibility` to Account for Skipped Characters.
A picture is easier to describe this issue than words. Basically, rich
text effects allowed for character visibility changes. While doing so
would work properly, the rich text label would render the next `word` in
an offset accounting for the hidden characters (leaving a huge space.)

This patch fixes this issue by keeping track of the amount of
`backtrack` necessary per line.
2020-01-30 21:05:52 -08:00
nathanwfranke c0a84f747e Fix tab container too large when tabs are hidden 2020-01-30 22:45:37 -06:00
Rémi Verschelde 11d28b2d10 Revert "make Label consider spaces for visible_characters"
This reverts commit 695980a0f2.

Fixes #35668.
2020-01-28 19:37:04 +01:00
Haoyu Qiu ddc397d9ff Fixes OptionButton min size 2020-01-27 14:52:04 +08:00
Haoyu Qiu 71b1a1c7d9 Updates minimum size on VideoPlayer::set_stream 2020-01-26 10:24:56 +08:00
Rémi Verschelde c2e07db071
Merge pull request #35438 from MadEqua/virtual-keyboard-line-edit
Android virtual keyboard respecting LineEdit max length.
2020-01-23 08:20:24 +01:00
Bruno Lourenço a3bcdbeb78 Android virtual keyboard respecting LineEdit max length. 2020-01-23 01:52:49 +00:00
Ricardo Buring 40542b0b0f Fix Control::_window_find_focus_neighbor
Due to a typo, the size of a candidate neighbor was confused with the
size of the control itself.

Fixes #34936.
2020-01-19 23:38:50 +01:00
Rémi Verschelde dd3779c12e
Merge pull request #35183 from YeldhamDev/scrollbar_regression
Fix scrollbar regression on large scales
2020-01-16 07:56:05 +01:00
Michael Alexsander 76e03f9b4d Fix scrollbar regression on large scales 2020-01-16 00:59:46 -03:00
Haoyu Qiu 574918f344 Updates ScrollContainer min size when toggle scrollbars 2020-01-16 09:42:31 +08:00
Haoyu Qiu 26e3b4a58a Updates LineEdit's min size when necessary
These properties will affect the minimum size of LineEdit:

* The right icon (`set_right_icon`)
* The clear button (`set_editable` and `set_clear_button_enabled`)
* The text, when "expand to text length" is enabled (`set_text`)
2020-01-15 10:15:32 +08:00
Michael Alexsander db8c4c2a22 Fix regression on scrollbar raising in ScrollContainer 2020-01-14 19:55:12 -03:00
Michael Alexsander 34bf81fa7c Cleanup unnecessary code from before the scrollbar overlapping fixes 2020-01-14 18:19:12 -03:00
Rémi Verschelde 57986208f3
Merge pull request #35130 from qarmin/crash_item_bad_index
Don't allow to use too big index in ItemList
2020-01-14 21:03:25 +01:00
Rafał Mikrut 724f5f3178 Don't allow to use too big index in ItemList 2020-01-14 20:17:48 +01:00
Rémi Verschelde 63112b5090
Merge pull request #35106 from YeldhamDev/scrollbar_overlap_fixes
Fix more instances of overlapping scrollbars
2020-01-14 08:12:20 +01:00
Michael Alexsander 712cd8a97e Fix more instances of overlapping scrollbars 2020-01-13 22:49:17 -03:00
Haoyu Qiu 66a54582ee Updates min size on CenterContainer::set_use_top_left 2020-01-14 08:35:21 +08:00
Rémi Verschelde 04a1ae90df
Merge pull request #35080 from malbach/scrollbars_overlap
Fix #33309 Overlapping Scrollbars in ScrollContainer
2020-01-13 16:10:12 +01:00
Rémi Verschelde e2bebfbd4c Use MOUSE_FILTER_PASS for all containers (but PanelContainer)
Containers are meant to forward mouse input to their the Controls
they contain.

PanelContainer has a visible Panel stylebox, so it still defaults
to STOP.

Fixes #34933.
2020-01-13 14:49:01 +01:00
malbach bc8ce836e3 Fix overlapping scrollbars in ScrollContainer (#33309) 2020-01-13 14:37:55 +01:00
Rémi Verschelde 100f50b7df Control/Light2D: Preventing setting 0 as scale as for Node2D
Triggers errors in `Transform2D::affine_invert()`.

Fixes #26510.
Fixes https://github.com/godotengine/godot/issues/24997#issuecomment-457951639.
2020-01-13 12:20:15 +01:00
Rémi Verschelde 478ab8b45b
Merge pull request #34960 from johannesgunnar/spin_box-apply-method
Spinbox apply input method
2020-01-12 14:16:14 +01:00
Paulb23 22c15083af Fix empty LineEdit crash on ctrl+backspace 2020-01-11 17:57:36 +00:00
Jóhannes Gunnar Þorsteinsson 083637a901 Add apply method to SpinBox 2020-01-11 10:47:51 +00:00
Tomasz Chabora 60cd3df337 Add signal for LineEdit overflow event 2020-01-10 21:07:00 +01:00
Rémi Verschelde 59a2fed1e6
Merge pull request #34938 from OverloadedOrama/fix-basebutton-button-press
Fixes BaseButton not triggering the pressed signal on "Button Press"…
2020-01-10 10:35:11 +01:00
Haoyu Qiu fbd937bd30 Update minimum size on Label::set_autowrap
If `clip_text` is true, the minimum height is one line if `autowrap` is
true , or one pixel otherwise.
2020-01-10 17:08:27 +08:00
Gilles Roudière b5251eb00f Don't compile editor-only function when tools=no 2020-01-09 22:15:48 +01:00
OverloadedOrama bf4a0242ff Fixes BaseButton not triggering the "pressed" signal on "Button Press" Action Mode
This should fix #34935
2020-01-09 02:17:53 +02:00
Haoyu Qiu 4293f76cf1 Emits meta_hover_ended when mouse exit RichTextLabel 2020-01-08 21:01:08 +08:00
Rémi Verschelde 1de54bb388
Merge pull request #34874 from wingedadventurer/bugfix-label-visible-characters
Make Label node consider spaces for visible_characters property
2020-01-08 08:18:59 +01:00
Rémi Verschelde 033fb72c03
Merge pull request #34871 from lentsius-bark/textEdit-vertical-horizontal-scroll-expose
expose scroll_vertical and scroll_horizontal in TextEdit
2020-01-08 08:18:12 +01:00
Rémi Verschelde 90c487ebf3
Merge pull request #34900 from timothyqiu/rtl-cell-wrap
Fixes RichTextLabel click issue when cell text wraps
2020-01-08 07:08:02 +01:00
Michael Alexsander 8b5992f665 Make possible to edit the GraphEdit's selection rect colors 2020-01-07 23:20:48 -03:00
Haoyu Qiu d17a4efc43 Fixes RichTextLabel click issue when cell text wraps 2020-01-08 09:08:03 +08:00
Kanabenki d79f0e7d40 Check if cursor is inside meta when getting cursor shape 2020-01-07 15:46:11 +01:00
Krystof Klestil c475f11018 expose scroll_vertical and scroll_horizontal in TextEdit + documentation 2020-01-07 15:16:07 +01:00
wingedadventurer 695980a0f2 make Label consider spaces for visible_characters 2020-01-06 23:29:00 +01:00
volzhs e5a0018621 Calculate label size more accurately 2020-01-07 04:21:02 +09:00
volzhs 3f0c7b89ec Fix calculating label size 2020-01-06 01:06:26 +09:00
Haoyu Qiu 78e9ca58af Makes more strings translatable 2020-01-04 13:46:38 +08:00
Rémi Verschelde 6f279ed6eb
Merge pull request #34781 from fossegutten/button-flash
Fixes button flashing when releasing mousebutton outside
2020-01-03 16:23:57 +01:00
fossegutten b728d3bd18 Fixes button flashing when releasing mousebutton outside 2020-01-03 14:55:27 +01:00
Haoyu Qiu 229b398146 Better horizontal scroll for Tree
* Adds pan gesture support for horizontal scroll.
* Scrolls horizontally when needed to ensure cursor visiblility.
2020-01-03 20:16:32 +08:00
Haoyu Qiu e539b187a5 Clears button mask before activating menu item 2020-01-03 09:35:00 +08:00
Rémi Verschelde 1788b22b11
Merge pull request #34737 from timothyqiu/tree-item-offset
Fixes Tree item offset when root is hidden
2020-01-02 08:17:29 +01:00
Rémi Verschelde ca38190363
Merge pull request #34735 from YeldhamDev/texturerect_code_format
Minor code formatting in TextureRect file
2020-01-02 08:01:55 +01:00
Haoyu Qiu 0ee93257e8 Fixes Tree item offset when root is hidden
Before this fix, one vseparation is counted for a hidden root item.
2020-01-02 09:20:43 +08:00
Michael Alexsander 7b86688ddf Minor code formatting in TextureRect file 2020-01-01 21:56:12 -03:00
Haoyu Qiu a77e869b87 Ensures cursor visible for Tree with title 2020-01-01 22:47:42 +08:00
Rémi Verschelde f7715b58bd
Merge pull request #34724 from timothyqiu/tree-right
Fixes behavior of right arrow key in Tree
2020-01-01 12:13:28 +01:00
Rémi Verschelde 5b173c4bf1
Merge pull request #34654 from Calinou/colorpicker-move-preview-under-picker
Move the ColorPicker preview under the picker area
2020-01-01 11:38:04 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Haoyu Qiu 838d9519bc Fixes behavior of right arrow key in Tree 2020-01-01 17:57:40 +08:00
Rémi Verschelde 406dac1917
Merge pull request #34633 from qarmin/lineedit_signal
Don't try to connect "text_entered" signal to nodes other than LineEdit
2019-12-31 12:54:48 +01:00
Rémi Verschelde 1bed049ed5
Merge pull request #34612 from timothyqiu/item-list
Improves ItemList documentation
2019-12-31 12:45:40 +01:00
Haoyu Qiu 7a752215ba Improves ItemList
* Adds range hint for integer properties
* Adds missing descriptions in documentation
* Updates some method descriptions to match the actual behavior
* Fixes second param name of `set_item_icon_transposed` from `rect` to `transposed`
2019-12-31 08:44:55 +08:00
Tomasz Chabora 54f70b6b50 Fix argument type in set_follow_focus() 2019-12-30 23:42:39 +01:00
Rémi Verschelde 97ebde45d5
Merge pull request #34572 from KoBeWi/I_give_up
Make new ScrollContainer focus behavior optional
2019-12-30 19:00:57 +01:00
Rémi Verschelde 7b412eb839
Merge pull request #34653 from YeldhamDev/optionbutton_margin_auto
Make OptionButton itself take into account the arrow margin instead of relying on the theme
2019-12-30 18:00:37 +01:00
Tomasz Chabora cc72885107 Make new ScrollContainer focus behavior optional 2019-12-30 16:40:02 +01:00
Rémi Verschelde edf2ed5e50
Merge pull request #34582 from timothyqiu/forward-decl
Cleans up headers included in editor_node.h
2019-12-30 16:28:47 +01:00
Rémi Verschelde 5b687b4c93
Merge pull request #34563 from Paulb23/23751_extra_line_indent
Fixed selection indent taking an additional line
2019-12-30 16:20:37 +01:00
Hugo Locurcio bbd5e39165
Move the ColorPicker preview under the picker area
This moves it to be closer to the sliders, which in turn makes it easier
for the user to preview the color.

This also makes it clearer that the Pick button can only pick colors
in the editor window, not outside.
2019-12-28 18:23:28 +01:00
Michael Alexsander c4cd2c44c8 Make OptionButton itself take into account the arrow margin instead of relying on the theme 2019-12-28 12:03:04 -03:00
Rafał Mikrut 0a1d3e4437 Don't try to connect "text_entered" signal to nodes other than LineEdit 2019-12-27 12:08:49 +01:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Paulb23 0049f43fc8 Fixed selection indent taking an additional line 2019-12-23 13:16:57 +00:00
Jonas Bernemann 2f35cf4946 Fix issue with disconnecting events when font changes 2019-12-23 14:08:34 +01:00
Tomasz Chabora 3a3cab6494 Use global transform when calculating scroll 2019-12-17 00:51:07 +01:00
Rémi Verschelde f8ea390b52
Merge pull request #34269 from KoBeWi/scrolling_peeps
Scroll ScrollContainer to focused children
2019-12-16 14:03:21 +01:00
Rémi Verschelde 51ab6a96fd
Merge pull request #34311 from mikkac/34289
Fix- using cut in first line of a script file does not remove the line
2019-12-16 08:48:47 +01:00
Tomasz Chabora 32939ccd39 Prevent infinite loop when focus_next is invisible 2019-12-16 01:33:25 +01:00
Mikolaj Kaczmarek eced81e359 Fix- using cut in first line of a script file does not remove the line 2019-12-14 19:11:19 +01:00
Michael Alexsander af67e97445 Remove unused theme elements in H/VSlider 2019-12-13 21:17:51 -03:00
Rémi Verschelde 9f68626fb2 doc: Sync classref with current source
Also apply clang-format.
2019-12-13 10:41:06 +01:00
Rémi Verschelde fdfe14c583
Merge pull request #34235 from timothyqiu/menu-scroll
Fixes long popup menu scroll behavior
2019-12-13 09:31:11 +01:00
Michael Alexsander bd7cf87b8e Make Button and co. take internal margins into account when clipping text 2019-12-12 18:46:04 -03:00
Haoyu Qiu 776ae18d64 Fixes crash after remove_line in RichTextLabel
`ItemFrame` always have a line.
2019-12-12 16:35:50 +08:00
Rémi Verschelde 37d164e24e CharFXTransform: Drop unnecessary get_value_or()
See https://github.com/godotengine/godot/pull/23658#issuecomment-562706669
The method was implemented back when Dictionary.get(key, default) did not
exist, but now that it does we do not need a custom method in CharFXTransform.

It's a new feature in 3.2, so does not break compat with 3.1.x.
2019-12-12 07:47:08 +01:00
Bojidar Marinov 0c4d35fd1a
Always display subsequence autocompletion matches
Fixes #33425
2019-12-12 01:25:44 +02:00
Tomasz Chabora 77a8657633 Scroll ScrollContainer to focused children 2019-12-11 14:29:36 +01:00
Rémi Verschelde 2845e6a21a
Merge pull request #34040 from qarmin/unused_variable_more_precise_numbers
Removed unused variables, add some constants numbers
2019-12-10 08:25:31 +01:00
Rafał Mikrut ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Haoyu Qiu 5bf8e1e426 Fixes long popup menu scroll behavior
Popup menus longer than the viewport have stange behaviors before this
fix:

* They always have one pixel outside the viewport.
* You can scroll down the long menu even if bottom outside screen and
top inside the screen. (Only menus one pixel above the screen is limited
to scroll down.)
2019-12-10 09:49:02 +08:00
Tomasz Chabora 6e1dc7b2fe Update minimum size of SpinBox on theme change 2019-12-10 02:11:22 +01:00
Rémi Verschelde d7b2940eb6
Merge pull request #34203 from bruvzg/ime_placeholder
Hide LineEdit placeholder if IME composition string is not empty.
2019-12-09 09:09:42 +01:00
allkhor 2c559feb92 Fixed strange behaviour of scroll in the ItemList. 2019-12-09 01:54:10 +06:00
bruvzg 4937b21ce5
Hide LineEdit placeholder if IME composition string is not empty. 2019-12-08 18:24:30 +02:00
Michael Alexsander d057007541 Add spaces after commas and strip extra ones in *FileDialog filter menu 2019-12-06 22:40:59 -03:00
Michael Alexsander 80dcd4423a Remove extra spaces from parenthesis in *FileDialog's filter menu 2019-12-06 07:31:42 -03:00
Paulb23 b68703a35c Fixed caret alignment with placeholder text 2019-12-01 14:27:39 +00:00
Paulb23 3df68b4fa6 Fixed LineEdit alignment when removing text or undo / redo 2019-12-01 13:54:09 +00:00
Rémi Verschelde 966c68badd Range: Remove min/max check added in #33908
This wasn't a very good idea as it puts too strict requirements on how
to set `min` and `max` values. For example, since the default min and
max are 0 and 100, this triggers an error:

```
set_min(256)
set_max(16384)
```

Since `min` will be higher than `max` temporarily. It can be worked
around by setting max first, but it's not really intuitive. I'll relax
the requirement as it's only a problem in `get_as_ratio`, which already
has a check.

Fix another min == max occurrence.
2019-11-26 12:11:21 +01:00
Rémi Verschelde bfd5e09879 Range: Fix cases where max was set to or below min value
It will now raise an error whenever this happens so that we can fix
these situations. `max == min` is not allowed as it could lead to
divisions by zero in ratios, and `max < min` doesn't make much sense.

Fixes #33907.
2019-11-26 10:25:41 +01:00
Rémi Verschelde 5ddce7a9df
Merge pull request #33869 from jbuck3/dialog-resize-bug
Fix WindowDialog moving when resized from the left/top edge
2019-11-25 14:38:33 +01:00
James Buck 5f451e0fb2 Fix WindowDialog moving when resized from the left/top edge
get_combined_minimum_size() must be used in order to consider the min size
specified by the user when determining how far the left/top edge is allowed
to move. Otherwise the dialog may think it can shrink further than it
should, causing the right/bottom edge to move when the rect size is fixed in
set_size().
2019-11-24 23:39:55 -06:00
PouleyKetchoupp 8830e53fe1 Fixed index out of size error in TextEdit when opening scripts 2019-11-24 10:48:04 +01:00
Rémi Verschelde 083d088de3
Merge pull request #33583 from qarmin/fix_overflows_unitialized
Fix some overflows and unitialized variables
2019-11-20 21:31:12 +01:00
Rafał Mikrut 99d8626f4a Fix some overflows and unitialized variables 2019-11-20 16:22:16 +01:00
lupoDharkael 268fe9dda5 GradientEdit: Fix index crashes 2019-11-19 22:05:37 +01:00
Hugo Locurcio 72b31aafc4
Make holding Ctrl toggle snapping in GraphEdit
This affects the visual script and visual shader editors as well.
2019-11-15 19:34:44 +01:00
PouleyKetchoupp 47a4ca0022 Fixed crash when pressing down key on empty Tree
Fixes #33554
2019-11-12 08:15:29 +01:00
Rémi Verschelde 2143f46df2
Merge pull request #33516 from qarmin/small_fixes
Memory leaks and crash fixes
2019-11-10 10:17:19 +01:00
Rafał Mikrut 7dda9309f9 Memory leak and crash fixes 2019-11-10 09:49:13 +01:00
PouleyKetchoupp 0fc0f0fc98 Fixed crash when using icon override in button
Missing change for PR #33495
2019-11-09 23:06:46 +01:00
PouleyKetchoupp 0c79bbeea3 Fixed crash when using icon override in button
Fixes #33457
2019-11-09 20:14:52 +01:00
Paulb23 25cba699f0 Fixed not being able to scroll ending wrapped line 2019-11-09 16:45:44 +00:00
Rémi Verschelde 31f327a4a9
Merge pull request #33052 from KoBeWi/naughty_sliders
Fix analog input in sliders
2019-11-08 09:55:11 +01:00
Tomasz Chabora a7b202ef18 Fix analog input in sliders 2019-11-07 16:39:14 +01:00
codecustard 71e79af1f1 Fixes ItemList max column update
When setting the max column of an ItemList, the layout does not update until it is resized.
2019-11-06 12:26:51 -08:00
PouleyKetchoupp 13c88878c4 Fixed cases where labels with autowrap can overflow the editor ui
Fixes #33155
2019-11-04 10:12:36 +01:00
Rémi Verschelde e684df08fc
Merge pull request #33286 from groud/fix_tree_edit_rect
Fixes the edit rect in TreeItems
2019-11-03 17:35:01 +01:00
Gilles Roudiere 8eb2eeae0f Fixes the edit rect in TreeItems 2019-11-03 16:08:07 +01:00
Michael Alexsander 6348dfa948 Make the editor dimming even more smarter 2019-11-02 20:25:26 -03:00
Paulb23 362d38ea67 Update connection info on script validation rather then saved copy 2019-11-02 14:41:59 +00:00
Rémi Verschelde 5160d4f5ba
Merge pull request #33233 from hilfazer/dollar-quoted-autocomplete
$ autocompletion keeps quotation
2019-11-01 16:52:13 +01:00
hilfazer c394ef7410 $ autocompletion keeps quotation 2019-11-01 14:52:13 +01:00
Rémi Verschelde a49c8d4a2b
Merge pull request #33202 from nekomatata/text-edit-search-usability
Improved TextEdit search usability & documentation
2019-11-01 14:10:00 +01:00
Michael Alexsander 36c4fd8935 Make the editor dimming smarter 2019-10-31 16:58:53 -03:00
PouleyKetchoupp d29c8ab81b Improved TextEdit search usability & documentation 2019-10-31 12:35:23 +01:00
Rémi Verschelde 948a2a03d2
Merge pull request #33091 from MCrafterzz/fix10567
Improved project creation UX
2019-10-29 13:27:41 +01:00
MCrafterzz 336e61b36a Improved UX of selecting directories in (Editor)FileDialog by hiding unused gui elements and moving the drive selection 2019-10-29 11:36:09 +01:00
Rémi Verschelde aaa9751de3
Merge pull request #33120 from YeldhamDev/popup_dialog_panel_style
Add "panel" style to PopupDialog
2019-10-28 12:54:03 +01:00
Rémi Verschelde 0cae264d79
Merge pull request #33119 from creikey/fix-quote-malfunction
Remove duplicate quote in displayed quote type
2019-10-28 08:08:38 +01:00
Michael Alexsander d92123ed97 Add "panel" style to PopupDialog 2019-10-27 19:45:03 -03:00
Cameron Reikes 67ab03e245 Remove duplicate quote in displayed quote type
- fixes #32688
 - fixes #32593
2019-10-27 15:21:25 -07:00
Rémi Verschelde 2751cea0d4
Merge pull request #33066 from Tabas32/fix_indentation
Fixed indenting issue with comment at end of line
2019-10-27 13:42:53 +01:00
Paulb23 2e2a049d3c Improve performance of connection info in the script editor 2019-10-27 11:07:19 +00:00
Rémi Verschelde 9e572b5bac
Merge pull request #33032 from Calinou/filedialog-scroll-to-top
Scroll back to the top after opening a directory in FileDialog
2019-10-27 10:06:34 +01:00
Paulb23 df0c8386a9 Fix text minimap crash when last line is folded 2019-10-26 13:37:25 +01:00
Rémi Verschelde c39238c7d2
Merge pull request #32870 from bergmannf/27850_rtl_bold_italic
Add push_* methods for fonts in rich_text_label
2019-10-25 23:17:59 +02:00
Marian 3322d19cb3 Just initialization, needed by compiler 2019-10-25 16:14:24 +02:00
Marian 616f02e905 Fixed indenting issue with comment at end of line 2019-10-25 15:01:43 +02:00
Zatherz 72d2248276 Don't terminate search if begin_key doesn't fit
Previously this code would continue onto the next iteration of the loop if the line was smaller in size than begin_key, meaning that a situation where begin_key.length() > end_key.length() would cause weird behavior with newlines. Now both the checks for begin_key and end_key are in their own condition and do not skip the entire iteration if they can't be found.
2019-10-24 21:59:02 +02:00
volzhs 63e6b1ecce Fix rendering tooltip 2019-10-24 22:48:20 +09:00
Hugo Locurcio c3b9319d78
Scroll back to the top after opening a directory in FileDialog
This also changes the behavior in EditorFileDialog.

This closes #26041.
2019-10-24 15:40:47 +02:00
SeleckyErik 61bda112bd Refactor VideoPlayer and VideoStream
VideoStream:
- Fix const correctenss

VideoPlayer:
- Remove unused member variable last_frame
- Move _mix_audios function definition to source file
- Fix function parameter naming to match p_ convention
- Fix const correctness
- Add null checking
2019-10-24 01:35:47 +01:00
Rémi Verschelde b1c6ba9b24
Merge pull request #32972 from codecustard/fix_spinbox_not_releasingfocus
Fixes spinbox not releasing focus on value change
2019-10-23 07:43:47 +02:00
Eoin O'Neill 601b216605 Shadows Now Properly Translate by RichTextEffect offset.
Bugfix 32981.
2019-10-22 22:15:36 -07:00
Rémi Verschelde 78848bbfea
Merge pull request #32796 from Paulb23/set_text_caret
Changed `set_text` to place caret at start of the text.
2019-10-22 22:44:12 +02:00
Rémi Verschelde 9f28803927
Merge pull request #32940 from nekomatata/text-edit-clear-colors
TextEdit syntax highlighting fixes
2019-10-22 20:40:20 +02:00
Rémi Verschelde b365dc3441
Merge pull request #32965 from volzhs/richtextlabel-scroll-active
Fix scrolling RichTextLabel with scroll_active=false
2019-10-22 20:39:12 +02:00
PouleyKetchoupp e3d4b96ba7 Fixed crashes when renaming a state in AnimationNodeStateMachineEditor
Recursive calls to Control::_modal_stack_remove could cause a crash because of the list element not being invalidated while being erased from the list.

It happens in the state machine case by hiding a line edit control when it loses focus.

Fixes #23808
2019-10-22 16:28:11 +02:00
Rémi Verschelde 97a4fe79fb
Merge pull request #32902 from nekomatata/auto-indent-bracket-fix
Auto-indent after opening bracket and parenthesis in the script editor
2019-10-22 14:30:16 +02:00
Rémi Verschelde b67537b14b
Merge pull request #32864 from nekomatata/rich-text-image-size
Support for resized images in RichTextLabel
2019-10-22 13:46:11 +02:00
Rémi Verschelde 1e0fb0dc14
Merge pull request #32833 from nekomatata/label-autowrap-fix
Allow Label autowrap to cut words when they exceed line width
2019-10-22 12:29:49 +02:00
Emmanuel Barroga 53d6d37fcf Fixes spinbox not releasing focus on value change
Trying to release focus of the spinbox's lineedit would not work when done in the "value_changed" callback. The reason is because the "value_change" signal is called first, then the "get_focus" method is called next. This causes the spinbox to get_focus after you try to release focus within the "value_changed" callback.

To resolve this, spinbox should get focus first and then emit "value_changed".
2019-10-21 16:42:17 -07:00
volzhs 3e738b1798 Fix scrolling RichTextLabel with scroll_active=false 2019-10-22 06:05:10 +09:00
Georg Wacker dfb7d46a2a Fix control node transform animation jitter with pivot offset
The workaround for moving the pivot is not needed anymore, in fact it causes all transforms applied to control nodes to jitter while animating (if a pivot offset is set).

This can be observed via AnimationPlayer and Tween.

The fix is to remove the obsolete workaround that causes this bug.

Fixes #28804
2019-10-21 16:52:45 +02:00
PouleyKetchoupp 4247c21cb0 TextEdit syntax highlighting fixes
- Fixed visual update when using add_keyword_color(), add_color_region(), clear_colors() in scripts
- More accurate description for clear_colors() in TextEdit documentation
2019-10-20 17:40:09 +02:00
Paulb23 ee94081b4a Fixed -1 minimap index when smooth scrolling is enabled 2019-10-20 13:27:53 +01:00
PouleyKetchoupp 74d7cbf920 Auto-indent after opening bracket and parenthesis in the script editor
This change makes auto-indent work the same way as for curly brackets, so '[', '(', '{' all act the same.

Fixes #32897
2019-10-18 11:02:05 +02:00
Florian Bergmann 47000f8860 Add push_* methods for fonts in rich_text_label
Provides method to push different font styles.

If no fonts are set nothing will happen, when the methods are used.

Fixes #27850
2019-10-16 15:22:56 +02:00
PouleyKetchoupp 9f8ffd4146 Support for resized images in RichTextLabel
BBCode Tag:
[img=<width>x<height>]{path}[/img]
2019-10-16 12:00:15 +02:00
PouleyKetchoupp 8df330bacd Allow Label autowrap to cut words when they exceed line width
Fixes #30832
2019-10-16 09:57:44 +02:00
Rémi Verschelde 44293db446
Merge pull request #32820 from qarmin/small_fixes_static_analyzer
Small fixes to redundand code, copy paste bugs
2019-10-15 09:54:58 +02:00
Yuri Roubinsky 0a0c3f7fe0 Fix color of FileDialog icons 2019-10-14 16:23:56 +03:00
qarmin 616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
Paulb23 d579d2bf1d Fix undo / redo scrollbar calulations 2019-10-13 15:34:28 +01:00
Paulb23 aea0761b25 Place caret at 0,0 when setting text not at the end 2019-10-13 15:29:20 +01:00
Rémi Verschelde be0da31f7a
Merge pull request #32628 from Paulb23/issue_32609_set_text_scrollbar
Fixed inserting text at caret not updating scrollbar size
2019-10-11 08:24:13 +02:00
Marcel Admiraal a8836ba28d Remove dependency on the editor directory being in the build's include path.
- Add or remove the necessary subdirectorires to the includes to remove
dependency on the editor directory being in the build's include path.
- Ensure includes in modified files conform to style guideline.
- Remove editor from the build include path.
2019-10-10 08:57:00 +02:00
Rémi Verschelde f46bf8e721
Merge pull request #32411 from YeldhamDev/fix_grid_overflow
Fix GridContainer's children overflowing it when not all slots of a row are occupied
2019-10-08 17:05:32 +02:00
Rémi Verschelde 45577e4233
Merge pull request #32571 from DavidSichma/rect_flip
Correctly flip texture src region
2019-10-08 16:15:45 +02:00
Rémi Verschelde 58dd5d0c78 PopupMenu: Fix missing text/xl_text when using add_shortcut
Use macros to ensure that `text`, `xl_text` and `id` are always set
using the same logic.

Fixes #25519.

Also fixes up #26914 when `p_id == -1` handling was only added for a
couple methods instead of all of them.
2019-10-08 09:33:26 +02:00
Rémi Verschelde 63a19df5e6 PopupMenu: Reorder add_* methods in more natural order
Also adds `add_icon_radio_check_shortcut` matching `add_icon_radio_check_item`,
binds them for scripting languages, and binds `add_multistate_item`.
2019-10-08 09:32:01 +02:00
Paulb23 e5b18cea63 Fixed inserting text at caret not updating scrollbar size 2019-10-07 19:17:32 +01:00
Paulb23 6025a76c78 Fixed drawing the caret at eol when at eol is not visible 2019-10-07 17:24:58 +01:00
Rémi Verschelde f84bf7e8a8
Merge pull request #32351 from nekomatata/texture-rect-size-update
Update TextureRect when its Texture is modified directly
2019-10-07 08:57:17 +02:00
dankan1890 b469ff17e2 Added missing bind_method to TreeItem::get_custom_color().
Fix #32595
2019-10-06 22:07:50 +02:00
Rémi Verschelde c8f6661459
Merge pull request #32569 from qarmin/fix_control_crash
Fix crash in Control functions
2019-10-06 20:50:18 +02:00
qarmin 17344337a9 Fix crash in Control functions 2019-10-05 19:17:07 +02:00
PouleyKetchoupp c7834ee566 Update TextureRect and Sprite when their Texture is modified directly.
Modified Sprite to use "changed" signal instead of _changed_callback to make it work when tool is disabled (change receptors are editor only).

Fixes #32349
2019-10-05 17:32:46 +02:00
David Sichma f73e1fae37 Correctly flip texture src region 2019-10-05 16:51:06 +02:00
Rémi Verschelde ee611d149b
Merge pull request #22834 from lupoDharkael/recursive-item
Add call_recursive method to TreeItem
2019-10-04 15:32:14 +02:00
MrCdK 03d6291aaf Handle scrolling correctly in Tree controls inside ScrollContainers 2019-10-02 12:34:04 +02:00
ternvein 848eeafe29 FIX: GridContainer children visibility check for min size evaluation 2019-10-01 16:13:06 +04:00
Rémi Verschelde e695ac6e7b
Merge pull request #32364 from Relintai/resizeable-texture-progress
TextureProgress: nine_patch_stretch property -> enable stretching for radial fills.
2019-10-01 10:34:21 +02:00
Rémi Verschelde d735ce80b9
Merge pull request #32440 from Ternvein/control-translation-fix
Fix for WindowDialog and Tabs controls translation
2019-10-01 10:27:10 +02:00