Commit Graph

5026 Commits

Author SHA1 Message Date
Hugo Locurcio 70e6c3cbb0
Add a `[pulse]` built-in effect to RichTextLabel
In games, blinking text is one of the more frequently used animations.
It can be (sparingly) used to bring attention to important messages
in a chat log or inventory tooltip, for instance.

This effect accepts the following options:

- `freq`: How fast text blinks (higher is faster).
- `color`: The target color multiplier for blinking.
  The default mostly fades out text, but not entirely (for better accessibility).
- `ease`: The easing function exponent to use.
  Negative values provide in-out easing, which is why `-2.0` is the default.
2023-06-05 18:45:00 +02:00
Rémi Verschelde e7d2e49688
Merge pull request #77765 from Sauermann/fix-acceptdialog-event-handled
Fix that button presses don't set event as handled in AcceptDialog
2023-06-05 18:27:33 +02:00
Rémi Verschelde f00c971b81
Merge pull request #63168 from Levrault/master
Fix: InputEventJoypadMotion should trigger only once on a vslider
2023-06-05 18:04:39 +02:00
Luc-Frédéric Langis 166ca77f20 feat(gamepad): improve gamepad behavior with slider and popup_menu 2023-06-05 10:20:46 -04:00
ajreckof 0c4d37e682 Prevent disapearance of mouse when SpinBox is hidden while doing a drag modification. 2023-06-03 14:50:03 +02:00
Danil Alexeev 010829f962
Tree: Add ability to configure text autowrap mode for individual cells 2023-06-03 15:17:35 +03:00
Aaron Franke 8b42297d7c
Make `Viewport::gui_get_focus_owner` const 2023-06-02 12:36:10 -05:00
Aaron Franke d3e4db4a7b
Fix crash when removing SpinBox during text submit 2023-06-02 10:29:22 -05:00
Yuri Sizov ca1b4eb225
Merge pull request #77651 from Rindbee/fix-update-minimum-size
Make sure that `data.last_minimum_size` is consistent with `get_combined_minimum_size()` at the same time
2023-06-02 14:02:04 +02:00
Yuri Sizov 6a1d3198d1
Merge pull request #76854 from CapitaineCookie/fix-change-type
Fix crash when changing node type from PopupMenu to ItemList
2023-06-02 13:03:55 +02:00
João Pedro Braz 670b7bec9a Add the "inner_item_margin" Theme constant to the Tree control
This PR adds the "inner_item_margin" Theme constant to the Tree Control.
It behaves like a horizontal padding (in CSS), but only in the active
writing direction (So on LTR it'll apply a left padding and on RTL right
padding).

The Editor Theme has been updated to make use of this and a result items
in Trees and ItemLists no longer "hugs" their border, expressing a proper
spacing instead.
2023-06-02 11:32:40 +02:00
Markus Sauermann dc434ef849 Fix that button presses don't set event as handled in AcceptDialog 2023-06-02 11:06:41 +02:00
Rindbee 594852caf1 Make sure that `data.last_minimum_size` is consistent with `get_combined_minimum_size()` at the same time
Move the code for switching `data.minimum_size_valid` in `Control::update_minimum_size()`
to `Control::_update_minimum_size()`, make sure to switch `data.minimum_size_valid` to
`false` only before updating `data.last_minimum_size` , so that it will remain consistent
with `get_combined_minimum_size()`.
2023-06-01 19:02:42 +08:00
Yuri Sizov 3ed7bdc26f Implement `TreeItem.add_child` 2023-05-31 11:36:23 +02:00
RedworkDE 6b7008b73b Fix crash when selecting lines in text edit 2023-05-30 20:32:44 +02:00
Yuri Sizov 6dd5ccdedd
Merge pull request #66625 from Sauermann/fix-move-child-update
Create a virtual mouse move event after moving child nodes in tree
2023-05-30 15:57:21 +02:00
Rémi Verschelde df30c9d6e7
Merge pull request #77507 from Igorrreha/fix/line-edit-expanding-to-text
Fix LineEdit expanding to text length
2023-05-30 09:32:30 +02:00
Markus Sauermann ce10ca6979 Create a virtual mouse move event after moving child nodes
This updates mouse cursor and mouse-over-states without the need
for additional mouse movements.
2023-05-29 22:46:19 +02:00
Yuri Sizov f3983b59f4
Merge pull request #77159 from AThousandShips/texture_button_fix
Make `TextureButton` and `Button` update on texture change
2023-05-29 17:31:32 +02:00
Yuri Sizov ee7b26403b
Merge pull request #77433 from YuriSizov/editor-reparented-popups-fix
Fix auto-reparenting logic in the `ProgressDialog`
2023-05-29 17:30:46 +02:00
Yuri Sizov 4c5c7cbb58 Fix auto-reparenting logic in the `ProgressDialog`
* Make sure `Popup` signals are disconnected when unparented.
* Remove a fail condition from `Window::is_embedded` when
not in tree.
2023-05-29 17:02:16 +02:00
Ninni Pipping d4ac3b6ded Make `TextureButton` and `Button` update on texture change 2023-05-29 16:40:56 +02:00
bruvzg be42ff0ef4
Fix MenuBar item order in RTL layout. 2023-05-29 17:03:49 +03:00
Igorrreha d8886e1a0c Fix LineEdit expanding to text length
Fix for issue #77474

Remove wrong tab

Change the comment to more relevant

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-05-26 23:42:03 +07:00
Ninni Pipping 44a5b710f5 Unify item indexing in `PopupMenu` 2023-05-24 15:58:50 +02:00
Rémi Verschelde 5562100d33
Merge pull request #77411 from saki7/control-get_drag_data-const
Expose `Control::_get_drag_data()` as non-const function
2023-05-24 08:49:57 +02:00
Rémi Verschelde a1058313a9
Merge pull request #75622 from joao-pedro-braz/parse_string_paths_with_quotes_correctly_bb_code
Make sure to normalize subtags when parsing BBCode
2023-05-24 08:45:35 +02:00
Rémi Verschelde 3512d18884
Merge pull request #71040 from marzecdawid/fix-input-lock-in-tree
Remove up/down input for text search in Tree
2023-05-24 08:43:27 +02:00
Rémi Verschelde adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Pedro J. Estébanez e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +02:00
João Pedro Braz 8b6e57256f Make sure to normalize subtags when parsing BBCode
This PR makes it so that all subtags are normalized before usage.
Normalization means removing any leading and/or trailing quotation marks
from any given subtag.

Fixes: https://github.com/godotengine/godot/issues/75501
2023-05-23 18:55:06 -03:00
Nana Sakisaka 3dbd47ecb6 Expose Control::_get_drag_data() as non-const function 2023-05-24 06:09:45 +09:00
Dawid Marzec 9fe1d6aa27 Remove up/down input for text search in Tree 2023-05-23 21:41:10 +02:00
Rémi Verschelde 8f9e0672fb
Merge pull request #77297 from puchik/popup-close-key-mapping
Use defined key mapping for closing popups and dialogs
2023-05-23 19:14:31 +02:00
ajreckof 006e899bb3 sort code completions with rules
Fixups

Add levenshtein distance for comparisons, remove kind sort order, try to improve as many different use cases as possible

Trying again to improve code completion

Sort code autocompletion options by similarity based on input

To make it really brief, uses a combination `String.similiary`, the category system introduced in a previous PR, and some filtering to yield more predictable results, instead of scattering every completion option at seemingly random.

It also gives much higher priority to strings that contain the base in full, closer to the beginning or are perfect matches.

Also moves CodeCompletionOptionCompare to code_edit.cpp

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
Co-Authored-By: Eric M <41730826+EricEzaM@users.noreply.github.com>
2023-05-23 05:12:34 +02:00
Rémi Verschelde a30a55dd1f
Merge pull request #77166 from bruvzg/item_list_rtl
[ItemList] Fix item text positions in RTL mode.
2023-05-22 13:48:54 +02:00
Rémi Verschelde 0f0f233d37
Merge pull request #76751 from anvilfolk/swatch
Fix adding colors to swatches not updating in previous ColorPickers.
2023-05-22 13:48:43 +02:00
Rémi Verschelde 405fe7aa1a
Merge pull request #76401 from bruvzg/rtl_tab_stops
[RichTextLabel] Add support for tab stops.
2023-05-22 13:48:35 +02:00
Rémi Verschelde 5ac6e9232b
Merge pull request #74962 from KoBeWi/pick_outside_the_box
Improve color picking
2023-05-22 13:48:26 +02:00
ocean (they/them) a132ed0ca4 Fix adding colors to swatches not updating in previous ColorPickers.
ColorPicker was only updating colors if its swatches were empty. It
should always update from the cache in case some other ColorPicker
updated the swatch cache.
2023-05-21 17:50:14 -04:00
Arman Elgudzhyan 8ab2cf3d2d Use defined key mapping for closing popups and dialogs
As opposed to hardcoding the escape key. Also removed such hardcoding in a few other places as well as a hardcoded enter key in one of the affected input fields.
2023-05-20 17:39:59 -07:00
bruvzg fb78889904
[RichTextLabel] Add support for tab stops. 2023-05-20 22:58:51 +03:00
bruvzg 343c35e7b0
[ItemList] Fix item text positions in RTL mode. 2023-05-20 22:58:02 +03:00
Rindbee e5bebbc9ff Fix unnecessary break when calculating the height of visible lines
This break causes the minsize to be smaller than expected, and then
the size keeps increasing by one line to cover all visible lines.
This can cause performance issues when there are many visible lines.
2023-05-20 23:04:20 +08:00
Yuri Sizov 605e25656f
Merge pull request #77242 from novalis/slider-remove-active
Stop dragging when `Slider` changes editability
2023-05-19 17:17:13 +02:00
David Turner 7d6b44c5a4 Stop dragging when a slider changes editability 2023-05-19 10:20:42 -04:00
kobewi b76ddeda45 Improve color picking 2023-05-19 14:21:43 +02:00
Rindbee 9bd1d3b5c8 Update size or size cache when toggling `expand_icon` in `Button`
When the `expand_icon` is switched, the size cache can be updated to
solve the issue that the cache cannot be updated when the `OptionButton`
is enabled with `fit_to_longest_item`.
2023-05-17 06:06:25 +08:00
Rémi Verschelde d61827af05
Merge pull request #76605 from Rindbee/fix_get_visible_line_count
Fix calculation bug with `TextEdit::get_line_height()`
2023-05-16 10:59:52 +02:00
Rémi Verschelde 59c19a7172
Merge pull request #75250 from bruvzg/lbl_rtl_jst_flags
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification.
2023-05-16 10:48:45 +02:00
Rémi Verschelde 8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
bruvzg 9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
Juan Linietsky 0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
Rindbee 391bce44b7 Fix calculation bug with `TextEdit::get_line_height()`
When `get_line_height()` is less than `1`, there is no visible text.
So limit the return value of `get_line_height()` to **not less** than
`1` for calculation.
2023-05-15 07:16:00 +08:00
Clement C 999a1fffec Fix crash when changing node type from PopMenu to ItemList 2023-05-12 23:29:52 +02:00
Ninni Pipping e5fdce7ca3 Add `get_item_rect` function to `ItemList` 2023-05-11 19:01:54 +02:00
Rémi Verschelde a745bf3802
Merge pull request #76826 from AThousandShips/item_list_fix
Minor bugfixes to `ItemList`
2023-05-11 11:47:33 +02:00
Rémi Verschelde 4020cc8acb
Merge pull request #76794 from Wiwip/inline-edit
Inline editor for the file system dock
2023-05-11 11:46:45 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
Wiwip b08a6084af Modifies the file system dock to use the inline editor instead of a dialog.
*Bugsquad edit:* Closes https://github.com/godotengine/godot-proposals/issues/4933
2023-05-10 18:49:35 -04:00
Rémi Verschelde 4d703280d5
Merge pull request #76532 from dalexeev/tree-fix-multiline-drawing
Fix multiline items drawing in `Tree`
2023-05-10 10:19:37 +02:00
Rémi Verschelde e0df3be64f
Merge pull request #70286 from the-sink/popupmenu_icon_modulate
Add icon_modulate set/get functionality to PopupMenu
2023-05-09 10:44:19 +02:00
Rémi Verschelde 72323a57d0
Merge pull request #57894 from Sauermann/fix-subviewport-1
Fix unrestricted mouse-event propagation to SubViewports for Physics-Picking
2023-05-09 10:43:49 +02:00
the-sink a85eef4367 Add icon_modulate functionality to PopupMenu 2023-05-08 15:25:00 -07:00
Rémi Verschelde 704560cc3c
Merge pull request #70868 from Maran23/4-x-scrollcontainer-custom-step-editor
Expose horizontal/vertical `custom_step` as editor property for the `ScrollContainer`
2023-05-08 13:52:18 +02:00
Rémi Verschelde 720869fe5e
Merge pull request #76809 from YeldhamDev/cursor_mania
Add more uses of appropriate cursors when resizing/moving some UI nodes
2023-05-08 12:21:04 +02:00
Rémi Verschelde eb6d6ab29f
Merge pull request #76658 from Paulb23/convert-indent-code-edit
Move convert_indent into CodeEdit
2023-05-08 12:20:37 +02:00
Rémi Verschelde 32fbba4bf6
Merge pull request #76472 from jmb462/multicarets_selection_popup
Fix right click in selection of additional caret
2023-05-08 12:20:25 +02:00
Rémi Verschelde eebb1d8eff
Merge pull request #74369 from Dragoncraft89/master
Implement vertical icon alignment for buttons
2023-05-08 12:20:11 +02:00
Rémi Verschelde e758164ba6
Merge pull request #72376 from MewPurPur/fix-color-button-popup
Fix popup position of color picker
2023-05-08 12:20:07 +02:00
Ninni Pipping fffa577b3b Minor bugfixes to `ItemList`
* Removed unused position code in `gui_input`
* Ensured `set_fixed_icon_size` updates cached size
2023-05-08 10:25:08 +02:00
Jean-Michel Bernard 5c06c030f2 Fix right click in selection of additional caret 2023-05-08 00:02:56 +02:00
Michael Alexsander 8118d0d2f5 Add more uses of appropriate cursors when resizing/moving some UI nodes 2023-05-07 11:14:57 -03:00
Paulb23 0b3fba45c6 Move convert_indent into CodeEdit 2023-05-07 13:08:37 +01:00
Nikola Bunjevac e2536d0643 Fix RichTextLabel character line and paragraph index getters 2023-05-05 21:10:27 +02:00
Florian Kothmeier 68b9fa71a0
Implement vertical icon alignment for buttons 2023-05-01 19:51:47 +02:00
Tefatika abd894daf7
Fixed error messages when setting all_tab_in_front of TabContainer
Some signal handlers weren't unregistered when removing the wrapped
child TabBar, which resulted in errors printed when the TabBar was
removed and added again when the flag was updated
2023-04-30 08:17:21 +02:00
Marius Hanl 29358daa4d Expose horizontal/vertical custom_step as editor property for the ScrollContainer 2023-04-29 23:56:59 +02:00
Danil Alexeev 865d6f5ed0
Fix multiline items drawing in `Tree` 2023-04-28 12:02:26 +03:00
Rémi Verschelde cedd3378f5
Merge pull request #69053 from KoBeWi/grabbercentrism
Add center_grabber theme property to Slider
2023-04-27 08:18:37 +02:00
Danil Alexeev 005937b576
Add support for multiline strings to `Tree` 2023-04-25 18:43:26 +03:00
Rémi Verschelde 6aac8af6f1
Merge pull request #69318 from Sauermann/fix-refresh-gui-events
Fix scene reload crash related to mouse cursor update
2023-04-25 15:36:26 +02:00
Rémi Verschelde ae7872fd02
Merge pull request #76199 from needleful/incremental_search_property
Add allow_search property to ItemList and Tree to control incremental search
2023-04-25 14:44:06 +02:00
Rémi Verschelde b5ddafcab2
Merge pull request #76374 from OverloadedOrama/more-tab-container-signals
Add missing `TabBar` signals to `TabContainer`
2023-04-24 16:48:01 +02:00
Rémi Verschelde 1f76ad0286
Merge pull request #76279 from TheSecondReal0/buttongroup-unpress
Add an option for ButtonGroups to be unpressed
2023-04-24 16:46:00 +02:00
Rémi Verschelde c0ee2b4968
Merge pull request #76145 from manueldun/usability-auto-indent
Fix auto-indentation in typed arrays, comments, and after colon
2023-04-24 16:45:35 +02:00
Rémi Verschelde dfee04ae2a
Merge pull request #74632 from davthedev/tabs-hover
Add theming support for hovered tabs
2023-04-24 16:42:38 +02:00
Emmanouil Papadeas 0a6a4969dc Add more signals to `TabContainer` that `TabBar` already has 2023-04-23 18:50:35 +03:00
Fredia Huya-Kouadio 7325ffdd46 Make tab's close button responsive to touch taps 2023-04-22 20:32:00 -07:00
kobewi 14cb9b5b26 Add center_grabber property to Slider 2023-04-22 17:53:17 +02:00
Rémi Verschelde 66d9a6acde
Merge pull request #75960 from ShadyChibinko/tab_metadata
Add tab Metadata to TabBar & TabContainer
2023-04-22 13:19:04 +02:00
TheSecondReal0 d829b43ab5 Add option for ButtonGroups to be unpressed
Add an option for ButtonGroups to be unpressed

Apply suggestions from code review

Co-Authored-By: Tomek <kobewi4e@gmail.com>
Co-Authored-By: Yuri Rubinsky <chaosus89@gmail.com>
Co-Authored-By: kleonc <9283098+kleonc@users.noreply.github.com>
2023-04-20 17:09:39 -06:00
Manuel Dun fa7e6ddb83 Fix auto-indentation in typed arrays, comments, and after colon
Now the editor won't add indentation when pressing enter, is
declaring typed variables and there is a colon in the comment

example:
var a:=0#:[press enter]
no indentation
2023-04-20 18:48:21 -04:00
David Giardi 9f1e18e64c Add theming support for hovered tabs
Tabs can now be styled differently when hovered by the mouse pointer.
2023-04-19 01:38:09 +02:00
David Giardi 142990d60a Add hovered item style to ItemList 2023-04-18 22:52:39 +02:00
needleful 9a968088db Add allow_search property to ItemList and Tree 2023-04-18 09:21:18 -07:00
Yuri Sizov de416c5cbd
Merge pull request #74623 from MewPurPur/edit-text-with-style
Code style improvements to text_edit and related
2023-04-17 19:08:08 +02:00
Yuri Sizov 4fed87320c Use Point2 consistently in Control methods
While Size2 and Point2 are just aliases,
which is why this doesn't fail compilation,
it's nice to have things consistent.
2023-04-13 15:26:50 +02:00
Rémi Verschelde 87b8eea9f6
Merge pull request #75904 from Calinou/colorpicker-constructor-round-values
Round values to 3 decimals in the ColorPicker constructor string
2023-04-13 09:54:18 +02:00
Rémi Verschelde 486988f717
Merge pull request #70834 from pattlebass/spinbox-doesnt-spin
Fix `Range`-derived nodes not redrawing after `set_value_no_signal`
2023-04-12 17:01:11 +02:00
pattlebass 9500f8e69a Fix Range-derived nodes not redrawing
When using set_value_no_signal(), Range-derived nodes wouldn't redraw.

Also added a dedicated method to SpinBox to update its text.
2023-04-12 14:53:12 +03:00
Rémi Verschelde cd03028915
Merge pull request #75977 from timothyqiu/invisible-item
Tree: Fix offset calculation when there are hidden items
2023-04-12 13:28:16 +02:00
Rémi Verschelde fb3e4e7967
Merge pull request #75975 from bruvzg/bidi_and_log_errors
Improve line BiDi handling, prevent crash on recursive log updates.
2023-04-12 13:28:12 +02:00
Haoyu Qiu a083c85521 Tree: Fix offset calculation when there are hidden items 2023-04-12 17:49:52 +08:00
bruvzg 282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-12 11:39:05 +03:00
bruvzg d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +03:00
Rémi Verschelde cbf7412e38
Merge pull request #75905 from Calinou/colorpicker-allow-named-colors
Allow entering named colors in ColorPicker's hex field
2023-04-11 19:40:48 +02:00
Rémi Verschelde 5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde 23a3e3984b
Merge pull request #74117 from Animtim/RichTextLabel_LocalizationFix
Add translation support to RichTextLabel
2023-04-11 19:40:07 +02:00
ShadyChibinko 9d2aecade0 Add Tab Metadata 2023-04-11 12:52:03 -04:00
Hugo Locurcio 4d8331ad1f
Round values to 3 decimals in the ColorPicker constructor string
This makes the whole string always fit within the LineEdit
(at least when using the default font).
2023-04-11 18:29:52 +02:00
Yuri Sizov ca808c88a4
Merge pull request #71747 from Koyper/rich_text_label_dropcap_selection_bug
Fixed RichTextLabel wrong selection offset after drop cap
2023-04-11 18:25:39 +02:00
Koyper 99376eebe0 Fixed RichTextLabel wrong selection offset after drop cap. 2023-04-11 10:09:26 -05:00
Timothée Giet e861ea5903 Add translation support to RichTextLabel
BUG: 34050
add translation support to RichTextLabel, and respect its Auto Translate setting
2023-04-11 14:17:59 +02:00
Yuri Sizov 6a65597569
Merge pull request #71742 from Koyper/rich_text_label_cell_padding_select_bug
Fixed RichTextLabel wrong selection offset in padded table cell.
2023-04-11 13:16:35 +02:00
Yuri Sizov 5e6c382a84
Merge pull request #71433 from marzecdawid/fix-TreeItem-button-rendered-under-selected
Fix TreeItem's button being rendered under "Selected" highlights
2023-04-11 13:15:09 +02:00
bruvzg a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
Hugo Locurcio 517dc3654a
Allow entering named colors in ColorPicker's hex field
This also makes the hex field wider to allow displaying 9-character
hex code (`#rrggbbaa`) in full, even when using a custom font.
2023-04-10 23:59:07 +02:00
Yuri Sizov b6cf8959e4
Merge pull request #72863 from JeffVenancius/enable_caret_drawing_when_not_editable
Add an option to show a TextEdit caret when editable is disabled
2023-04-10 12:48:18 +02:00
VolTer f587a21899 Code style improvements to text_edit and related 2023-04-08 19:33:56 +02:00
Juan Linietsky 37362202a4 Fix CI build error
Fixes potential use of uninitialized variable.
2023-04-08 18:21:08 +02:00
jeffVenancius 97c2133548 Add an option to show a TextEdit caret when editable is disabled
Update doc/classes/TextEdit.xml
2023-04-07 22:27:01 -03:00
Yuri Sizov a13635cdf8
Merge pull request #70901 from timothyqiu/tree-scroll-offset
Add scrollbar offset theme constants to Tree
2023-04-07 13:24:01 +02:00
Rémi Verschelde 92b7a9603a
Merge pull request #75701 from reduz/notification-moved-in-parent
Remove NOTIFICATION_MOVED_IN_PARENT
2023-04-06 14:35:04 +02:00
Juan Linietsky 104392ef4e Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
2023-04-06 13:57:13 +02:00
Haoyu Qiu 498d538578 Add scrollbar offset theme constants to Tree 2023-04-06 15:04:28 +08:00
Rémi Verschelde 5cf878c090
Merge pull request #75113 from m4gr3d/fix_2d_editor_dragging_main
Fix the issue preventing dragging in the 2D editor
2023-04-05 20:21:09 +02:00
Rémi Verschelde 4f4b5a2785
Merge pull request #73475 from YuriSizov/theme-is-busy-plz-come-back-later
Add a warning when accessing theme prematurely and fix surfaced issues
2023-04-05 12:03:15 +02:00
Johan Aires Rastén 9a60c4affb GraphNode ignore non-visible children for minimum size. 2023-04-05 09:05:52 +02:00
Yuri Sizov e401540264 Implement theme item cache in ColorPicker and friends 2023-04-03 18:01:11 +02:00
Yuri Sizov db2f99cdc0 Implement theme item cache in TextEdit and CodeEdit 2023-04-03 18:01:10 +02:00
Yuri Sizov 91ff34b5b5 Add a warning when trying to access theme items too early 2023-04-03 18:01:10 +02:00
Rémi Verschelde 5b775282b7
Merge pull request #74654 from YuriSizov/gui-cause-you-re-hi-and-you-re-lo-you-re-yes-and-you-re-no
Prevent crash in `ItemList` when checking for visible items
2023-04-03 17:08:44 +02:00
Rémi Verschelde 57e3651763
Merge pull request #72028 from kilojool/option_button_reselection
OptionButton: allow reselection of selected item
2023-04-03 17:06:36 +02:00
Rémi Verschelde 1db9de5406
Merge pull request #75597 from bruvzg/tx_block
[TextEdit] Fix block caret size at the end of the line.
2023-04-03 16:06:02 +02:00
Rémi Verschelde f8e0880623
Merge pull request #75595 from Geometror/fix-graphedit-rect-scaling
Fix several GraphEdit operations at zoom levels other than 100%
2023-04-03 16:05:38 +02:00
Rémi Verschelde a9855a3a4c
Merge pull request #75494 from MewPurPur/line-edit-get-selected-text
Implement LineEdit.get_selected_text()
2023-04-03 16:03:58 +02:00
Rémi Verschelde 9c492204ca
Merge pull request #75340 from Barugon/tree_colunm_title_alignment
Implement column title alignment for `Tree`
2023-04-03 16:03:10 +02:00
Rémi Verschelde 420ea5c0ad
Merge pull request #73074 from M4rYu5/capslock-editor-completion-fix
Editor: Ignore CapsLock when pressed alone
2023-04-03 15:58:11 +02:00
bruvzg efe04af446
[TextEdit] Fix block caret size at the end of the line. 2023-04-02 20:53:13 +03:00
Rémi Verschelde d22e9effa2
Merge pull request #75532 from kleonc/texture-progress-bar-update-on-texture-changes
`TextureProgressBar` Update upon texture changes
2023-04-02 17:33:27 +02:00
Hendrik Brucker 49587fd6d9 Fix several GraphEdit operations at zoom levels other than 100% 2023-04-02 16:40:10 +02:00
kleonc cdc63214fe TextureProgressBar Update upon texture changes 2023-04-01 00:16:43 +02:00
Yuri Sizov 1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
VolTer 1856ceeb76 Implement LineEdit.get_selected_text() 2023-03-30 22:58:12 +02:00
Barugon c56ff437ae Implement column title alignment for `Tree` 2023-03-27 09:23:46 -07:00
Haoyu Qiu 5a5fd33e42 More i18n improvements
* Make placeholder in editor layout dialog translatable.
* Make messages in scene import settings dialog translatable.
* Mark theme override property categories for translation.
2023-03-27 22:24:01 +08:00
Yuri Sizov 61e4f91ea1
Merge pull request #75384 from timothyqiu/cultural-heritage
Auto translate popup menus of MenuButton and OptionButton
2023-03-27 15:54:21 +02:00
Yuri Sizov c0301b74a1
Merge pull request #71405 from marzecdawid/deselect-root-in-deselect_all
Fix `Tree::deselect_all` not deselecting root
2023-03-27 12:26:41 +02:00
Haoyu Qiu 150f89352b Auto translate popup menus of MenuButton and OptionButton
Currently, `auto_translate` property of a `MenuButton` or `OptionButton`
won't affect its popup menu. It's okay if you want to auto translate,
but requires extra setup if you don't.
2023-03-27 18:09:24 +08:00
Michael Alexsander fc3d9d9d46 Defer invalidation on FileDialog nodes 2023-03-25 14:24:46 -03:00
Dawid Marzec 45930e95e9 Fix Tree::deselect_all not deselecting root 2023-03-25 16:02:49 +01:00
Yuri Sizov 8f2c41b4dd
Merge pull request #73818 from kilojool/virtual_get_tooltip
Add missing virtual bind for control::get_tooltip
2023-03-25 14:14:10 +01:00
kobewi 8f8178bda6 Fix auto-translations in editor 2023-03-22 23:57:12 +01:00
kilojool a95cd3872a Add missing virtual bind for control::get_tooltip 2023-03-21 17:39:51 +01:00
Yuri Sizov ce90d77a18
Merge pull request #73800 from YeldhamDev/graph_resize_fix
Fix `GraphNode` resizing when its bottom border is too thin
2023-03-21 16:00:07 +01:00
kobewi 36141dc469 Fix get_drag_data not overridable in some Controls 2023-03-20 21:42:13 +01:00
Yuri Sizov 05d373c64b
Merge pull request #75017 from bruvzg/rlt_list_bullet
[RTL] Add option to customize list bullet, use U+2022 by default.
2023-03-20 19:08:31 +01:00
Yuri Sizov c311490600
Merge pull request #74665 from YuriSizov/code-edit-is-a-complete-drag
Prevent passing events from CodeEdit to TextEdit when code completion is active
2023-03-20 16:47:45 +01:00
Yuri Sizov cfe2a14ec3
Merge pull request #74537 from nongvantinh/fix-74458
Fixes gutter set width results in receiving only half of the desired size
2023-03-20 15:31:28 +01:00
Fredia Huya-Kouadio 2c7633dce5 Fix the issue preventing dragging in the 2D and visual shader editor 2023-03-19 12:36:36 -07:00
Nong Van Tinh bb3d0fc6b7 Fixes  gutter set width results in receiving only half of the desired size 2023-03-20 00:14:16 +07:00
Markus Sauermann 8836f2160a Move call of `push_unhandled_input` from `Window` to `Viewport`
This solves the problem, that mouse events get sent to SubViewports
even if they are outside of the visible area of the SubViewport.

This changes makes SubViewportContainer::unhandled_input redundand.
Shortcut Events now need to be distributed via push_input, in order for
them to be able to reach SubViewports.
2023-03-17 19:22:24 +01:00
bruvzg 4793b6eee9
[RTL] Add option to customize list bullet, use U+2022 by default. 2023-03-17 09:34:28 +02:00
Yuri Sizov a2a524df71 Prevent crash in ItemList when checking for visible items
Also some light code refactoring to make the drawing logic more manageable.
We also store each item's column for more reliable checks.
2023-03-16 12:25:11 +01:00
Yuri Sizov a1c2f03055
Merge pull request #74898 from Spartan322/patch-1
Remove methods in header removed in c7eb814
2023-03-16 11:43:54 +01:00
George L. Albany f3313ba4cd
Remove methods in header removed in c7eb814
c7eb814 missed these methods in the RichTextLabel's header
Remove set_override_selected_font_color from rich_text_label.h
Remove is_override_selected_font_color from rich_text_label.h
c7eb814 missed these methods in the TextEdit's header
Remove set_override_selected_font_color from text_edit.h
Remove is_override_selected_font_color from text_edit.h
2023-03-15 21:13:38 -04:00
Andrej Eškinja 6ccef8b831 Fix for deselecting item when select_mode == SELECT_ROW 2023-03-15 15:46:53 +01:00
justchen1369 dbfecdb3b0 Fix exported type for Menubar start_index 2023-03-10 11:42:09 -05:00
Yuri Sizov ff98395556 Prevent passing events from CodeEdit to TextEdit when code completion is active 2023-03-09 15:54:08 +01:00
Rémi Verschelde 677cba3d58
Merge pull request #67910 from pkowal1982/scroll_bar
Fix scrolling behaviour with zero/low page value
2023-03-08 14:06:30 +01:00
Yuri Sizov dac2d8fb42
Merge pull request #68325 from pfertyk/issue-68242-rich-text-label-crash
Fix RichTextLabel crash with out of bound exception
2023-03-08 11:32:47 +01:00
Rémi Verschelde 0ef3d1bf56
Merge pull request #73188 from Sauermann/fix-inconsistent-viewport-size
Fix some ways to create inconsistent Viewport size states
2023-03-07 12:04:00 +01:00
Arman Elgudzhyan 688d00b706 Don't autocomplete numbers in GDScript
Cancel code autocompletion when a numerical value is entered. Avoids interference when setting numbers.
2023-03-06 14:20:24 -08:00
bruvzg 25bc62ad13
[TextEdit] Do not draw virtual spaces (word break / justification points). 2023-03-06 15:01:43 +02:00
Rémi Verschelde 0b98b470cc
Merge pull request #73716 from bruvzg/improve_locale_selection
Improve layout direction/locale automatic selection.
2023-03-06 10:57:56 +01:00
Rémi Verschelde 45738d078a
Merge pull request #74472 from bruvzg/ime_single_pos
Fix IME position in the single window mode sub-windows.
2023-03-06 10:57:25 +01:00
bruvzg 3ca3ee36ab
Fix IME position in the single window mode sub-windows. 2023-03-06 10:08:55 +02:00
Rémi Verschelde d81e6ee024
FBX: Disable importer when canceling FBX2glTF setup
Pretty hacky solution but it's better than an infinite loop.

All this import setup needs to be redone, it's very difficult to properly
bail out from an invalid import without triggering reimport loops.

Also fix underline not visible at default editor scale in LinkButton.

Fixes #73319.
2023-03-03 13:53:03 +01:00
Paweł Fertyk 44592c8c19 Fix RichTextLabel crash with out of bound exception
Fixes #68242.
2023-02-28 22:49:57 +01:00
bruvzg 315164c619
[TextEdit / IME] Check selection before deleting to avoid unnecessary error messages. 2023-02-27 08:58:28 +02:00
bruvzg cebfc02d6f
Revert "Reordering emitted signals in PopupMenu" and fix editor selection issue in the safer way. 2023-02-24 21:17:05 +02:00
Rémi Verschelde 76d4d09bfa
Revert Label text reshaping fix #71553 and subsequent regression fixes
Despite a lot of great work from Pedro to try to improve the Label text
reshaping logic and fix subsequent regressions, we found ourselves still
chasing more edge cases, such as #73736 (which got reverted already due
to it causing yet another regression).

In parallel, it seems like the crash scenario that #71553 was addressing
got solved differently in the master branch, so it appears like this
change is no longer necessary at all (at least not urgently), so we
decided to revert to the previous known "ok" state of Label.

- Revert #71553 "Prevent infinite cascade of re-layout after label text reshaping"
This reverts commit ed8c5cd52f.

- Revert #72387 "Enhance label sizing algorithm"
This reverts commit 5131b81a4d.

- Revert #73234 "Fix blank non-autowrapping labels"
This reverts commit 3ccabee9ae.

- Revert #73343 "Make label sizing algorithm more robust"
This reverts commit 4f7f1ef60b.

- Revert #73426 "Fix width determination of non-trimmed, non-wrapped labels"
This reverts commit 73b6c0b972.
2023-02-23 10:36:42 +01:00
Michael Alexsander c567a853db Fix `GraphNode` resizing when its bottom border is too thin 2023-02-23 01:42:06 -03:00
Rémi Verschelde d66f6b3b04
Revert "Fix visible_lines calculation"
This reverts commit ceee405cec.

This caused regressions, see #73736 and #73780.

Fixes #73780.
2023-02-22 22:44:55 +01:00
Rémi Verschelde d8014e9fab
Merge pull request #73736 from helviett/fix_visible_lines_calculation
Fix visible_lines calculation
2023-02-22 14:50:06 +01:00
helviett ceee405cec Fix visible_lines calculation 2023-02-22 14:17:52 +04:00
Rémi Verschelde be336cea1e
Merge pull request #73587 from YuriSizov/rtl-the-underliner
Ensure minimal thickness for `RichTextLabel` underlines
2023-02-22 10:14:32 +01:00
bruvzg 82d7923c65
Improve layout direction/locale automatic selection. 2023-02-22 08:37:14 +02:00
Rémi Verschelde 69b99730e0
Merge pull request #73597 from MewPurPur/add-missing-queue-redraw--oh-wait-that-barely-narrows-it-down
Fix Indent/Unindent without a selection not causing a redraw
2023-02-20 11:28:18 +01:00
VolTer 9de731a9ec Fix Indent/Unindent without a selection not causing a redraw 2023-02-19 21:08:04 +01:00
Yuri Sizov 28b7556914 Ensure minimal thickness for RichTextLabel underlines 2023-02-19 13:42:25 +01:00
Paulb23 60161cbe7d Fix ctrl+backspace crash with multicarets on the same line 2023-02-19 12:04:14 +00:00
Yuri Sizov 236cec0633 Add a custom icon for the `project.godot` file in the EditorFileDialog 2023-02-17 22:42:23 +01:00
Dawid Marzec b05572b7d0 Fix TreeItem's button being rendered under Selected highlight 2023-02-17 21:49:31 +01:00
Yuri Sizov 6bb4b00647
Merge pull request #73508 from nongvantinh/reorder-emitted-signals
Reordering emitted signals in PopupMenu
2023-02-17 21:17:01 +03:00
Nong Van Tinh 5928d801a9 Reordering emitted signals in PopupMenu 2023-02-17 23:18:56 +07:00
Rémi Verschelde a0afeb5d5a
Merge pull request #72184 from Maran23/item-list-index-out-of-bounds
ItemList: Check if the index is out bounds before accessing the internal items
2023-02-17 16:20:49 +01:00
Rémi Verschelde 9004279afb
Merge pull request #70781 from jamesmintram/jamesm/bugfix/fix-minimap-oob
Fix error spam when hovering minimap in the script editor
2023-02-17 15:20:19 +01:00
bruvzg 7246b229e1
Set RTL minimal dash size to 2.0, add invalid dash size error to the `draw_dashed_line`. 2023-02-17 08:53:08 +02:00
Rémi Verschelde 2824774d29
Merge pull request #69801 from nongvantinh/fix-invalid-scene-name
Fixed scene name can be saved as extension only
2023-02-17 00:35:00 +01:00
Rémi Verschelde b90d70d592
Merge pull request #72764 from Sauermann/fix-color-picking
Fix Color Picking
2023-02-17 00:33:20 +01:00
Nong Van Tinh 010ddfbc16
Prevent saving files with no name and only an extension.
Fixes #69768.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-02-17 00:23:15 +01:00
James Mintram aa024296d1
Fix error spam when hovering minimap in the script editor 2023-02-16 22:03:01 +01:00
Rémi Verschelde 25da47edd6
Merge pull request #73396 from KoBeWi/sorry
Fix crash with AspectRatioContainer and TextureRect
2023-02-16 18:34:41 +01:00
kobewi a12921ca2c Fix crash with AspectRatioContainer and TextureRect 2023-02-16 14:35:09 +01:00
Pedro J. Estébanez 73b6c0b972 Fix width determination of non-trimmed, non-wrapped labels
In other words, exclude trimmable labels from the special logic used for non-wrapping ones, since they are not expected to dictate their width authoritatively.
2023-02-16 11:54:57 +01:00
Rémi Verschelde 2874961309
Merge pull request #73343 from RandomShaper/labels_are_evil
Make label sizing algorithm more robust
2023-02-15 22:34:21 +01:00
Pedro J. Estébanez 4f7f1ef60b Make label sizing algorithm more robust 2023-02-15 18:00:29 +01:00
Yuri Sizov f2aae8fa5c
Merge pull request #73349 from dalexeev/fix-tab-bar-redraw
Fix `TabBar` not redrawing on locale change
2023-02-15 18:23:25 +03:00
Danil Alexeev 1cdf3398a0
Fix `TabBar` not redrawing on locale change 2023-02-15 14:51:31 +03:00
Yuri Sizov d2b1474da7
Merge pull request #73293 from RedMser/rich-text-label-fixes
RichTextLabel: Unexpose internal ItemType enum, improve `push_meta` docs
2023-02-15 12:58:23 +03:00
VolTer d16df33021 Fix autocomplete persisting at the beginning of a line 2023-02-15 09:24:13 +01:00
RedMser 22dd621cf9 RichTextLabel fixes
- Unexpose ItemType enum, since it is not used in public API.
- Fix documentation for meta tag, since it has no BBCode equivalent.
2023-02-14 17:20:05 +01:00
bruvzg 39b69e6f76
[Editor] Fix editor progress dialog auto closing on ESC press, and on application focus loss. 2023-02-14 09:23:40 +02:00
Pedro J. Estébanez 3ccabee9ae Fix blank non-autowrapping labels 2023-02-13 18:46:56 +01:00
Rémi Verschelde 98d5e0b72f
Merge pull request #73191 from KoBeWi/some_color_picker_stuff
Fix HSV Rectangle Wheel values
2023-02-13 12:56:32 +01:00
M4rYu5 97d355c13d Now, in editor, CapsLock behave like a modifier key: does nothing when pressed alone.
Before, it ended up closing the code completion, and rerendering portions of editor.
2023-02-13 10:46:00 +02:00
Rémi Verschelde b7723a01d9
Merge pull request #66745 from EricEzaM/66453-popupmenu-shortcut-shape-fix
Ensure PopupMenu item is shaped when the shortcut is set.
2023-02-13 09:29:41 +01:00
Rémi Verschelde a90bbc3544
Merge pull request #72225 from MinusKube/shaped_text_invalidated_bug
Mark dirty flags when shaped texts are invalidated
2023-02-13 09:13:27 +01:00
Rémi Verschelde 428bf1188d
Merge pull request #72387 from RandomShaper/avoid_infinite_2
Enhance label sizing algorithm (a.k.a. prevent infinite GUI re-layout)
2023-02-13 09:13:00 +01:00
Markus Sauermann 34a7fc7447 Fix some ways to create inconsistent Viewport sizes
In the editor, it was possible to set the size of a `SubViewport` even
in cases where a parent `SubViewportContainer` had stretch enabled.

This PR disables editing a `SubViewport.size` while the parent disallows
it and it makes necessary adjustments during `NOTIFICATION_ENTER_TREE`.
2023-02-13 08:19:00 +01:00
kobewi 3542d24fda Fix HSV Rectangle Wheel values 2023-02-13 01:18:44 +01:00
Hendrik Brucker 3aab79914c Fix GraphEdit port hotzone snapping 2023-02-12 01:31:58 +01:00
Rémi Verschelde 008cafc103
Merge pull request #72378 from maximkulkin/line-edit-consume-events
Fix LineEdit not consuming events
2023-02-10 15:08:28 +01:00
Rémi Verschelde 29d89caafe
Merge pull request #72714 from DarkMessiah/fix-unlimited-text-in-tree
Fix unlimited text rendering in Tree if width <= 0
2023-02-10 15:07:18 +01:00
Markus Sauermann 5bb66d3cfb Fix scene reload crash caused by mouse cursor update
After a scene reload a mouse cursor updates is performed via a
InputEventMouseMotion, that is exposed to the user.
The state of Input is however not adjusted to this InputEventMouseMotion
which can lead to inconsistencies.
This PR makes sure, that it is not exposed to the user.
It utilizes the method of Viewport::_process_picking for marking
events that are not sent to the user, so that this function doesn't
need to be changed.
2023-02-10 01:16:23 +01:00
Rémi Verschelde 5c1295dc20
Merge pull request #72884 from groud/fix_trackpad_viewpanner
Fix panning via InputEventPanGesture
2023-02-09 16:44:56 +01:00
Hendrik Brucker 4601acbaf4 Update GraphEdit configuration warning, mark GraphNode/GraphEdit as experimental 2023-02-09 02:39:55 +01:00
Markus Sauermann 888add8418 Fix Color Picking
With the 4.x-introduction of Windows the previous method for
color picking was no longer working.

This PR uses the following approach to reintroduce color-picking.
When the Color-Picking-Button is pressed, a quasi-screenshot of the
Window-content is created and displayed in a new Popup-Window.
This new Window allows selecting colors by Mouse-Click.
A Preview of the targeted Color is also displayed.
2023-02-09 01:00:54 +01:00
Gilles Roudière ca4bc8de81 Fix panning via InputEventPanGesture
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-02-08 12:01:20 +01:00
Rindbee c73844f117 Use min_size/max_size to limit the window size and the position while popup center 2023-02-07 21:28:26 +08:00
Rémi Verschelde fe2cd2e6b1
Merge pull request #72770 from Kabiirk/Control-has-point-doc-update
Fix description and argument name in `Control._has_point`
2023-02-06 22:50:47 +01:00
Kabiir 17ee6fcf03 Fix description and argument name in Control._has_point 2023-02-07 02:29:28 +05:30
Markus Sauermann 084a4addc4 Fix Screen-Transform missing in Button Size in OptionButton::show_popup
The button size is affected by the screen transform, which was previously
not taken into consideration.
2023-02-06 20:58:57 +01:00
Yuri Sizov 9d3b4b0b40
Merge pull request #72204 from MinusKube/anchorable_rect_editor_bug
Fix get_parent_anchorable_rect() not returning the correct size in some cases
2023-02-06 16:28:19 +03:00
Pedro J. Estébanez 5131b81a4d Enhance label sizing algorithm 2023-02-06 14:12:29 +01:00
Stanislav Labzyuk 0c766ef271 Fix unlimited text rendering in Tree if width <= 0 2023-02-04 16:17:42 +01:00
Yuri Sizov e14cacb8da
Merge pull request #71862 from RedMser/splitcontainer-fixes
Fix SplitContainer rendering and theming
2023-02-03 23:09:18 +03:00
Maxim Kulkin 5adc7e397e Fix LineEdit not consuming events
The most important issue is LineEdit not consuming
"ui_text_submit" event which makes pressing Enter after
editing escape to other components causing unwanted
interactions.

Also fix handling mouse button interactions not consuming
some events.

Also implement early return in case we know which event
type it is and there is no point in checking other event
types.

PS I'm also suspicious that mouse motion events also need
to be consumed, but haven't explored those cases.
2023-02-03 14:38:12 -05:00
Danil Alexeev fb107e04d3
Fix `RichTextLabel` context menu not customizable 2023-02-03 12:07:36 +03:00
Markus Sauermann 3bc426c9d8 Fix toplevel nomenclature
toplevel was 3.x
top_level is 4.x
2023-02-02 17:37:41 +01:00
Rémi Verschelde 9c84aae940
Merge pull request #72471 from mbrlabs/blink
Always show caret when moving in LineEdit
2023-02-02 09:35:16 +01:00
bruvzg 9f42649823
[X11] Fix IME subwindow in the popup not getting input focus. 2023-02-01 11:10:10 +02:00
Rémi Verschelde d9ade633b3
Merge pull request #71936 from akien-mga/remove-some-unused-signals
Remove some unused signals
2023-02-01 07:53:52 +01:00
Rémi Verschelde a5be03e59a
Merge pull request #72476 from TokageItLab/graph-signal
Fix `scroll_offset_changed` signal doesn't fired when panning `GraphEdit`
2023-02-01 07:43:05 +01:00
Rémi Verschelde 51414fc987
Merge pull request #66906 from Sauermann/fix-prohibit-inconsistent-size-state
Prohibit inconsistent size state for SubViewport
2023-02-01 07:26:00 +01:00
Silc Renew 8f21f637e2 Fix scroll_offset_changed signal doesn't fired when panning GraphEdit 2023-02-01 07:11:35 +09:00
Markus Sauermann decbda68d7 Prohibit inconsistent size state for SubViewport
Prohibit size changes of SubViewports with parent SubViewportContainers that have stretch mode enabled.
2023-01-31 22:53:43 +01:00
Marcus Brummer a54cb5b07b Always show caret when moving in LineEdit 2023-01-31 20:56:06 +01:00
Rémi Verschelde b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
Rémi Verschelde 4cfdd25384
Merge pull request #67507 from Sauermann/fix-toplevel-root-control-node
Fix event propagation to child after set_as_toplevel
2023-01-31 15:55:46 +01:00
anish bhobe 42a9c33fad Updates VideoDecoder plugin API to GDExtension.
Adds VideoStream and relevant resource loaders to migrate
external GDNative plugins to GDExtension.

Adds a VideoStreamLoader as a specialization of ResourceFormatLoader
as ClassDB::is_parent_class is inaccessible from GDExtension currently.

Using Object* instead of Ref<T> in order to avoid the refcount bug
(godotengine/godot-cpp#652)
Also another bug is in ResourceLoader in use on the extension side that
requires fixing.
2023-01-30 18:39:29 -08:00
bruvzg 0cc1f4240a
[RichTextLabel] Fix thread unsafe `set_physics_process_internal` usage. Use `WorkerThreadPool` instead of creating new threads. 2023-01-30 20:47:45 +02:00
VolTer 040e258164 Fix popup position of color picker 2023-01-30 14:04:45 +01:00
Rémi Verschelde 915bdd4b4d
Merge pull request #71896 from poohcom1/fix/autocomplete-substring-filter
Fix autocomplete filter not including substrings
2023-01-29 14:10:53 +01:00
MinusKube 0f512a68dd Fix get_parent_anchorable_rect() not returning the correct size in some cases 2023-01-28 20:09:24 +01:00
Stanislav Labzyuk 068f4d88f6 Fix connections drawing in GraphEdit minimap 2023-01-28 18:55:14 +01:00
MinusKube d59c221404 Mark dirty flags when shaped texts are invalidated 2023-01-28 03:31:55 +01:00
Marius Hanl bcf3c81726 ItemList: Check if the index is out bounds before accessing the internal items
The following keys may lead to the exception described above under certain conditions:
- ui_page_up
- ui_page_down
- ui_left
- ui_right
2023-01-27 18:34:18 +01:00
Rémi Verschelde 3e1925fd00
Merge pull request #58334 from Sauermann/fix-to-gui-or-not-to-gui
Fix SubViewportContainer processing Events before other Control-Nodes
2023-01-27 10:39:49 +01:00
Rémi Verschelde 22e1575021
Merge pull request #72167 from dalexeev/line-text-edit-context-menu
Fix `LineEdit` and `TextEdit` context menus not customizable
2023-01-27 10:32:34 +01:00
Rémi Verschelde af1ef4c94f
Merge pull request #72149 from MinusKube/rich_text_visible_chars_bug
Fix char offset calculation when processing RichTextLabel line caches
2023-01-27 10:30:15 +01:00
Danil Alexeev af8bf6f1d0
Fix `LineEdit` and `TextEdit` context menus not customizable 2023-01-27 11:14:54 +03:00
MinusKube 03df4e3fce Fix char offset calculation when processing RichTextLabel line caches 2023-01-27 01:54:47 +01:00
Rémi Verschelde d1e5903c67
Merge pull request #71427 from Calinou/spinbox-custom-arrow-step-add-property-hint
Add a property hint for SpinBox's `custom_arrow_step` property
2023-01-27 00:22:23 +01:00
Rémi Verschelde f8d80b406d
Merge pull request #66688 from Sauermann/fix-control-get-global-rect-coordinates
Fix Control rect coordinate system inconsistency
2023-01-26 15:59:35 +01:00
bruvzg e08a6e692d
[Windows] Fix committing IME text without IME deactivation. 2023-01-26 09:24:12 +02:00
Rémi Verschelde cb8aeca1ca
Merge pull request #72046 from MewPurPur/buttons-inspector-clutter-reduction
Add groups to Button and BaseButton to reduce inspector clutter
2023-01-26 01:05:56 +01:00
VolTer 7d14c44025 Add more sections to Button and BaseButton 2023-01-25 15:39:02 +01:00
kilojool 8b008757db OptionButton: allow reselection of selected item 2023-01-25 15:11:48 +01:00
Rémi Verschelde 8cebd0a2ce
Merge pull request #71983 from vmedea/push-customfx
Expose RichTextLabel::push_customfx to GDScript
2023-01-25 14:41:01 +01:00
Rémi Verschelde fc400d1562
Merge pull request #71685 from groud/gesture_into_viewpanner
Add gesture to ViewPanner and simplify a bit its API
2023-01-25 11:59:11 +01:00
Rémi Verschelde b9bf12e99a
Merge pull request #71142 from aaronfranke/never-duplicate-script
Add `PROPERTY_USAGE_NEVER_DUPLICATE` flag and use for script
2023-01-25 09:18:18 +01:00
Rémi Verschelde fd66a86d72
Merge pull request #71330 from Geometror/richtextlabel-fit-content
[RichTextLabel] Match minimum size calculation of Label (proper content fitting)
2023-01-25 09:16:38 +01:00
Aaron Franke 2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE" 2023-01-24 16:05:07 -06:00
Aaron Franke 0e7785333f
Improve clarity of Tree's activated/double-clicked signals
Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-01-24 15:55:09 -06:00
mara be733ea3d1 Expose RichTextLabel::push_customfx to GDScript 2023-01-24 18:16:24 +01:00
Gilles Roudière a3b431b09d Add gesture to ViewPanner and simplify a bit its API 2023-01-23 16:43:53 +01:00
bruvzg daad4aed62
Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde 5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
poohcom1 c161ee3519 Fix autocomplete filter not including substrings 2023-01-23 11:35:57 +07:00
Rémi Verschelde 5068d82374
Merge pull request #71686 from YuriSizov/stylebox-min-size-but-better
Clean-up, harmonize, and improve StyleBox API
2023-01-22 17:53:04 +01:00
RedMser 386f62df96 Fix SplitContainer rendering and theming 2023-01-22 16:34:56 +01:00
Rémi Verschelde d4d01ca20a
Merge pull request #71609 from lufog/menubar-auto-translation
MenuBar add auto-translation of Menu names
2023-01-22 16:07:40 +01:00
Rémi Verschelde c3539b4561
Merge pull request #70773 from KoBeWi/lector
Add range iterator to LocalVector
2023-01-21 20:53:29 +01:00
Rémi Verschelde 906ee0b219
Merge pull request #67253 from KoBeWi/PICKER_USAGE_NO_EDITOR
Remove editor dependencies from ColorPicker
2023-01-21 20:52:16 +01:00
kobewi 615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
Juan Linietsky 51777a2914 Fix constant editor redraw after shortcut
Introduced by me by mistake on #71328. Fixes #71652.
2023-01-21 10:54:45 +01:00
Koyper 6f11cf7d31 Fixed RichTextLabel wrong selection offset in padded table cell. 2023-01-20 09:55:27 -06:00
Алексей Смирнов a118bc2723 MenuBar add auto-translation of Menu names 2023-01-20 11:34:20 +03:00
Rémi Verschelde 65883cc73b
Merge pull request #71598 from bruvzg/gdscript_bidi_override
Implement BiDi override mode for GDScript source.
2023-01-19 19:33:18 +01:00
Yuri Sizov 752402cf35 Clean-up, harmonize, and improve StyleBox API
- Make all margin properties follow the same naming convention (their getter and setter too).
- Remove a virtual counterpart of `get_style_margin` from API.
- Allow to override `get_minimum_size` from scripting and remove `get_center_size`.
2023-01-19 20:02:21 +03:00
kobewi c0083e431b Cleanup unused engine code v2 2023-01-19 13:02:18 +01:00
Rémi Verschelde f40f1e0c90
Merge pull request #60904 from KoBeWi/👻👻👻
Allow unindent without selection
2023-01-18 22:27:36 +01:00
bruvzg 5361ec9f43
Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +02:00
Rémi Verschelde bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
kobewi b427d3585c Allow unindent without selection 2023-01-18 17:05:15 +01:00
Pedro J. Estébanez ed8c5cd52f Prevent infinite cascade of re-layout after label text reshaping 2023-01-17 13:49:54 +01:00
Rémi Verschelde 2d214c8881
Merge pull request #70685 from stmSi/fix-nan-graphedit-infinite-loop
Fix: NaN value making infinite loop inside GraphEdit's `NOTIFICATION_DRAW`
2023-01-16 09:41:08 +01:00
Rémi Verschelde ce278b1b7a
Merge pull request #70433 from Sauermann/fix-treeitem-id
Fix confusion about TreeItem.add_button ambiguity between id and index
2023-01-16 09:15:15 +01:00
Hugo Locurcio 65560315a4
Add a property hint for SpinBox's `custom_arrow_step` property
Only positive or zero values make sense for this property.
2023-01-14 20:18:01 +01:00
Paulb23 1aac10d73d Fixed adding extra quote when completing strings 2023-01-14 15:28:22 +00:00
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Yuri Sizov 682ef35787
Merge pull request #71328 from reduz/button-shortcuts-no-longer-press
Button shortcuts no longer "press" the Button.
2023-01-14 00:14:51 +03:00
kobewi 54abd5b560 Add expand mode compat to TextureRect 2023-01-13 19:16:49 +01:00
Juan Linietsky dd3a1b08a9 Button shortcuts no longer "press" the Button.
* Button shortcuts were treated as generic input events on buttons. This means that to activate a button shortcut you had to press and release.
* This logic is removed and now shortcuts always activate on press.
* This makes the editor feel more responsive and solves problems related to this behavior.

Fixes #45033 and possibly others.
2023-01-13 18:43:02 +01:00
Hendrik Brucker e59d6b1b8c [RichTextLabel] Match minimum size calculation of Label
(optional via fit_content property)
2023-01-13 15:17:26 +01:00
stmSi d1bd7539a6 Fix NaN value making infinite loop inside GraphEdit's NOTIFICATION_DRAW 2023-01-13 12:29:29 +06:30
Rémi Verschelde 797fb296f0
Merge pull request #58517 from KoBeWi/size_matters
Add expand modes to TextureRect
2023-01-12 20:06:26 +01:00
kobewi dfc4367a47 Add expand modes to TextureRect 2023-01-12 17:06:03 +01:00
Rémi Verschelde 312703ca1f
Merge pull request #70566 from cg9999/richtextlabel_fix
Fix crash in RichTextLabel table parsing
2023-01-12 14:52:02 +01:00
Henri Valta 81d0f42800 Fix crash in RichTextLabel table parsing
Fixed with help of feedback from bruvzg. Prevents invalid items getting to stack.
2023-01-12 12:27:25 +02:00
Hendrik Brucker 62278eb236 Rename (de)selected signals to node_(de)selected in GraphNode 2023-01-12 04:08:06 +01:00
Rémi Verschelde 863324330b
Merge pull request #71219 from EricEzaM/68176-codeedit_update_code_completion_options_crash
Fix crash in CodeEdit when caret column exceeds line length.
2023-01-11 14:02:01 +01:00
Eric M 1d30653efb Fix crash in CodeEdit when caret column exceeds line length. 2023-01-11 22:52:37 +10:00
Rémi Verschelde 3e2843e3ad
Merge pull request #71183 from YuriSizov/control-refresh-layouts-by-parents
Ensure that the cached layout mode is in sync
2023-01-11 01:29:51 +01:00
Rémi Verschelde 54688a7535
Merge pull request #71127 from reduz/drag-forward-to-callables
Change set_drag_forwarding() to use callables.
2023-01-11 01:14:58 +01:00
Rémi Verschelde b65c5bccfa
Merge pull request #71042 from marzecdawid/only-cursor-multiselect-tree-text-search
Fix text search in Tree with multiselect
2023-01-11 01:12:12 +01:00
Yuri Sizov 42cbdbc7df Ensure that the cached layout mode is in sync 2023-01-10 23:51:27 +03:00
Juan Linietsky e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Rémi Verschelde e63500344f
Merge pull request #71056 from marzecdawid/add-tree-deselect-all-to-gdscript
Expose Tree::deselect_all to GDScript
2023-01-10 10:44:31 +01:00
Juan Linietsky 0e0a6bb39b
Removed unused property hints and `Object::get_translatable_strings()`
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Yuri Sizov 00b5222f66 Fix inconsistent state of Controls when editing and running scenes 2023-01-09 15:54:04 +03:00
Danil Alexeev 9b3da76640
Fix unpressable buttons 2023-01-09 12:17:48 +03:00
Rémi Verschelde e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00
Rémi Verschelde 378d589e2d
Merge pull request #71037 from reduz/array-format-bitfield
Use BitField<> hint for Mesh.ArrayFormat and Control.SizeFlags
2023-01-08 22:51:03 +01:00
Juan Linietsky 2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Juan Linietsky 47592927b3 Use BitField<> hint for ArrayFormat
This was missing in the conversion of bitflags to BitField<>.
2023-01-08 18:47:48 +01:00
Stanislav Labzyuk 436cd91065 Expose TabBar::clear_tabs to GDScript 2023-01-08 13:52:57 +01:00
Dawid Marzec 9eeed06e65 Expose Tree::deselect_all to GDScript 2023-01-08 12:41:27 +01:00
Dawid Marzec 76a3f8e573 Fix text search in Tree with multiselect 2023-01-07 21:04:23 +01:00
Rémi Verschelde 3579d7a9f7
Merge pull request #36301 from KoBeWi/daddy_node
Add reparent methods to Node
2023-01-07 13:20:56 +01:00
Rémi Verschelde 163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Michael Bickel 5d09bf8f05 fix typo 'comleption' -> 'completion' 2023-01-06 19:52:19 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde 778684ffaa
Merge pull request #70933 from fire/empty-organize-graph-node
Update GraphEdit to automatically arrange nodes if nothing is selected
2023-01-05 12:58:20 +01:00
K. S. Ernest (iFire) Lee 8302f17adf Update graph_edit.cpp to automatically arrange nodes if nothing is selected. 2023-01-04 16:48:01 -08:00
Haoyu Qiu 631ac1406b Fix Tree overflow without scrolling being enabled 2023-01-03 22:50:35 +08:00
Rémi Verschelde 55ef815472
Merge pull request #70865 from bruvzg/fd_crash
Fix file dialog crash on forward click when history is empty.
2023-01-03 12:41:10 +01:00
Rémi Verschelde c328d76483
Merge pull request #70690 from Sauermann/fix-menubar-hover
Fix hovering-color of MenuBar entries when reentering MenuBar
2023-01-03 12:32:20 +01:00
Rémi Verschelde 8b180353d8
Merge pull request #70763 from Maran23/4-x-tree-icon-gap-with-hscrollbar
Fix Scene Tree Editor icons shift when the pane is small
2023-01-03 12:28:59 +01:00
bruvzg 5eeefb2174
Fix file dialog crash on forward click when history is empty. 2023-01-03 10:23:49 +02:00
Marius Hanl 6241d00368 Use the vertical scrollbar when calculating the width that can be used for drawing
The horizontal scrollbar was used before, which is not correct as it has no influence to the drawing width
Also fixed the other wrong locations
2022-12-31 06:59:51 +01:00
Markus Sauermann c5c40f4f23 Fix hovering-color of MenuBar entries when reentering MenuBar
When reentering MenuBar with the mouse cursor, the hovering-color was
not set, because the previously hovered entry was still referenced in
selected_menu. This PR resets selected_menu on mouse-exit.
2022-12-29 01:59:05 +01:00
Markus Sauermann 06f0184b63 Fix confusion about TreeItem.add_button ambiguity between id and index
A TreeItem button has an id and an index, which can be distinct.
This leads to confusion.

This PR documents the distinction between id and index.
2022-12-29 00:43:45 +01:00
Michael Alexsander 82d94cc5c0 Fix errors when `TabBar` is empty 2022-12-27 08:39:06 -03:00
Yuri Sizov ecc5c275f4
Merge pull request #70407 from Koyper/rich_text_bold_italics
[RTL] Fix push bold or italics not using bold_italics_font when required
2022-12-23 00:10:53 +03:00
Koyper 81343ae210 Fixed RichTextLabel push bold/italic to correctly use bold_italic font. 2022-12-22 13:30:52 -06:00
Rémi Verschelde c2d8269a72
Merge pull request #70334 from Sauermann/fix-button-group-doc
Add configuration warning when ButtonGroup is used with non-toggleable buttons
2022-12-22 08:51:23 +01:00