Commit graph

3991 commits

Author SHA1 Message Date
bruvzg
8f6c4956ca
Fix regressions from Font refactor
Remove unnecessary font override
Fixes button outline draw when it should not, causing button colors to be slightly off
2022-07-08 08:27:18 +03:00
bruvzg
a319e6e623
Fix regressions from Font refactor
Fixes `p_font.is_null()` errors due to incorrect resource type used.
Fixes code editor font not set correctly, and OpenType features applied to the wrong font.
2022-07-07 15:11:08 +03:00
Ninni Pipping
bed65894d3 Horizontal scroll for Tree 2022-07-07 12:58:44 +02:00
Vitika9
0011d93c81 ColorPicker Refactor 2022-07-06 22:11:43 +05:30
MinusKube
ed68f867fb Fix range slider in tree not updating text value 2022-07-06 17:43:16 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Hugo Locurcio
983ce7e9f3
Disable Expand by default in VideoStreamPlayer
This ensures videos are always visible as soon as a video file
is specified in the VideoStreamPlayer node. The node will no longer
be resized to 0×0 by default, making the video invisible in the process
(even if the audio can still be heard).
2022-07-06 00:51:27 +02:00
Rémi Verschelde
5f386fecf0
Merge pull request #62721 from Nolkaloid/line_edit-caret-blink-fix
Change LineEdit caret blink to use internal process
2022-07-05 17:00:58 +02:00
Nolkaloid
9dc58511c6 Change LineEdit caret blink to use process
Now using internal process for blinking instead of a Timer node
2022-07-05 00:02:44 +02:00
kobewi
41f6e7c50e Allow to disable TextEdit vertical scroll 2022-07-04 15:02:15 +02:00
Rémi Verschelde
1d06fec535
Merge pull request #62448 from MinusKube/completion-scroll-click
Add the ability to drag the code completion scrollbar using the mouse click
2022-07-04 10:13:20 +02:00
Thakee Nathees
446f1b7052 Fix FileDialog file name autocompletion with filters
Fixes #38195.
2022-07-04 01:26:34 +02:00
MinusKube
336400dc42 Add the ability to drag the code completion scrollbar using the mouse click 2022-07-03 23:47:52 +02:00
Rémi Verschelde
daec5bed57
Merge pull request #59089 from KoBeWi/I_am_root
Add `root_subfolder` to FileDialog
2022-07-01 11:53:33 +02:00
kobewi
8d62b736b2 Fix find_next_valid_focus() freeze 2022-07-01 00:25:10 +02:00
kobewi
d9ede52ded Fix find_next_valid_focus() freeze 2022-06-30 16:22:40 +02:00
TechnoPorg
d45ad9bc58 Use single-precision floats in GradientEdit
Gradient itself only uses single-precision floats, so using double-precision floats in GradientEdit is both unnecessary, and creates casting issues.
2022-06-28 11:55:08 -06:00
kobewi
9d48cd502b Add root_subfolder to FileDialog 2022-06-28 18:56:18 +02:00
K. S. Ernest (iFire) Lee
9ddebc0c22 Add a const call mode to Object, Variant and Script.
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).

This mode ensures only const functions can be called, making it safe to use from the editor.

Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27 13:33:06 -07:00
Rémi Verschelde
1c7971d11c
Merge pull request #37764 from KoBeWi/video_pauser 2022-06-27 14:50:29 +02:00
Rémi Verschelde
82a56e5c42
Merge pull request #61587 from YuriSizov/control-fix-theme-owner-toplevel
Fix theme propagation for children of top level controls and windows
2022-06-27 12:03:36 +02:00
Rémi Verschelde
af694245f5
Merge pull request #62221 from ConteZero/drag_and_drop_option
Add an option to drag'n'drop selected text in ``TextEdit``
2022-06-26 16:02:52 +02:00
ConteZero
5d56efcaa4 Add an option to drag'n'drop selected text in TextEdit 2022-06-26 15:22:02 +02:00
kobewi
e69f3d527c Properly handle game pause in VideoPlayer 2022-06-26 01:56:30 +02:00
Rémi Verschelde
ec2e7ea98c
Merge pull request #61435 from nathanfranke/tab-container-repaint
repaint tab container when changing tab visibility (fixes filesystem tab disappearing)
2022-06-25 23:14:18 +02:00
Rémi Verschelde
21c79d7515
Merge pull request #62311 from KoBeWi/anuluj
Replace some TTRCs with RTRs
2022-06-25 14:27:20 +02:00
Rindbee
c10304415f Fix ProgressBar's minimum size not updating when toggling its percent_visible 2022-06-25 15:39:39 +08:00
Nathan Franke
085ec68dfe
repaint tab container when changing tab visibility 2022-06-23 18:20:00 -05:00
Pierre-Thomas Meisels
5ad1a1b5e7 enhancement: rename exposed property Control::minimum_size to Control::custom_minimum_size 2022-06-23 18:06:10 +02:00
kobewi
cd02cb27af Replace some TTRCs with TTRs 2022-06-22 16:04:33 +02:00
FireForge
88589c091b Improve TileSet editor and add more suffixes 2022-06-20 15:28:19 -05:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
Rémi Verschelde
778a9fce77
Merge pull request #61997 from Rindbee/fix-ColorPicker-wrong-sampling
Fix wrong sampling in ColorPicker
2022-06-15 12:48:23 +02:00
FireForge
f85eb4164a Expose PopupMenu set/get_item_horizontal_offset()
- Renames setter from set_item_h_offset()
- Adds getter
2022-06-15 02:08:44 -05:00
Rindbee
fd285e19ed Fix the bug that the sampling position is reversed, make eyedrop reusable. 2022-06-15 12:44:36 +08:00
kobewi
5553e27fe8 Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Rémi Verschelde
e95f4eb5a7
Merge pull request #61819 from bruvzg/button_overrun 2022-06-13 11:02:04 +02:00
Rémi Verschelde
ae5a962cc4
Merge pull request #61842 from bruvzg/popup_fixes_sw 2022-06-13 10:51:46 +02:00
bruvzg
ba6cb84d01
[RTL] Fix underline/overline/strikethrough interaction with the "visible characters" property. 2022-06-13 10:53:55 +03:00
bruvzg
f7269fe878
Single-window mode popups and edited scene windows fixes.
Fix single-window mode popup not closing when OptionBox is clicked.
Fix single-window mode submenus closing when parent menu item, that was used to open it is clicked (using same safe-area logic as platform specific code).
Disallow windows that are part of an edited scene from being set as exclusive or popup to prevent it from locking up the editor.
2022-06-13 09:56:08 +03:00
FireForge
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
iwek
082cf5440e Fix setting line edit caret after dobule and triple click 2022-06-10 00:18:25 +02:00
bruvzg
906e9b6ac5
Add overrun behavior to the Button. 2022-06-08 19:02:27 +03:00
Rémi Verschelde
d52a79ad22
Merge pull request #59786 from V-Sekai/ok_color
Allow picking similar colours using OKHSL.
2022-06-07 20:52:32 +02:00
K. S. Ernest (iFire) Lee
1b776a6e7a Allow picking similar colours using OKHSL. 2022-06-07 05:53:27 -07:00
Rémi Verschelde
70757ad7df
Merge pull request #61726 from YeldhamDev/always_clear
Take into account the clear icon's size even when not visible in `LineEdit`s
2022-06-07 14:16:13 +02:00
bruvzg
fc77f983cb
[RTL] Stop processing thread before deleting scroll bar. 2022-06-06 23:46:22 +03:00
Rémi Verschelde
52952edafc
Merge pull request #61724 from iwek7/fixing_rich_text_label
Fix richTextLabel scroll showing
2022-06-06 10:39:39 +02:00
iwek
c179ba665a Fix richTextLabel scroll showing 2022-06-05 20:33:17 +02:00
Michael Alexsander
71c8fb26e0 Take into account the clear icon's size even when not visible in LineEdits 2022-06-05 15:13:19 -03:00
Rindbee
a14f7c4027 Fix strange behavior with list close tags and empty list tags
Fix the first two points in #61621.

Support for two  writing ways: compact or loose. The loose one is designed for easy editing in the editor.
For this, the first blank line (if exists) right after the list tags (`[ol]`, `[/ol]`, `[ul]`, and `[/ul]`)
will be ignored.

Make sure the empty list contains at least one item, that is, an empty list is ultimately a list with one item.
As a reminder here is a list.
2022-06-05 01:33:09 +08:00
Rémi Verschelde
52e36ab80e
Merge pull request #61631 from iwek7/redundant_min_call 2022-06-02 18:20:45 +02:00
iwek
848e759d88 Remove redundant min call when setting line 2022-06-02 15:52:09 +02:00
Hendrik Brucker
c6a39cd952 Fix enclosed nodes calculation of GraphEdit comment nodes 2022-06-02 13:14:46 +02:00
Yuri Sizov
ba273c6c5f Fix theme propagation for children of top level controls and windows 2022-06-01 04:20:00 +03:00
monkeyman192
5c29a7dbc5 Handle drawing of relationship lines better to take in to account invisible children 2022-06-01 00:23:33 +10:00
Rémi Verschelde
cf9aad63ba
Merge pull request #61453 from m3g4d1v3r/master
Fix #61444: Executing Tree.scroll_to_item crashes Godot
2022-05-31 12:28:50 +02:00
Rémi Verschelde
cea54a0357
Merge pull request #61489 from Rindbee/reset-buttons_visible-to-false-if-tabs-is-empty
Reset buttons_visible to false while tabs is empty in TabBar::_update_cache
2022-05-31 12:19:36 +02:00
Rémi Verschelde
a837accc5d
Merge pull request #61495 from timothyqiu/asymmetric-le
Fix LineEdit clear button for asymmetric stylebox
2022-05-31 08:55:21 +02:00
Hendrik Brucker
70c234f3e3 Improve Graphedit connection lines 2022-05-30 17:33:01 +02:00
Hendrik Brucker
771cb1261a Improve and fix the GraphNode port hotzones
Co-authored-by: Ansraer <jacky2611@gmail.com>
2022-05-30 15:48:58 +02:00
Haoyu Qiu
e021fc9419 Fix LineEdit clear button for asymmetric stylebox 2022-05-28 19:50:35 +08:00
Rindbee
a3b23f6b67 Reset buttons_visible to false while tabs is empty in TabBar::_update_cache 2022-05-28 12:54:45 +08:00
m3g4d1v3r
ee89c65b11 Add nullptr handling of argument pointer in Tree::scroll_to_item 2022-05-26 23:56:52 -03:00
monkeyman192
d4aa6e5366 Check visibility of items before drawing their relationship lines 2022-05-26 23:25:42 +10:00
Nathan Franke
2d14164bca
tree: always emit item_edited 2022-05-26 05:12:57 -05:00
Rémi Verschelde
2998be4f99
Merge pull request #60061 from monkeyman192/allow_treeitem_visible
Allow TreeItem nodes to toggle visibility
2022-05-24 10:53:41 +02:00
Rémi Verschelde
bd8d91254c
Merge pull request #61106 from snailrhymer/animation-library-fixes
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
Rémi Verschelde
65dd1bf023
Merge pull request #47665 from trollodel/tree_more_buttons_signals 2022-05-24 10:50:55 +02:00
Rémi Verschelde
9923851370 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
Haoyu Qiu
4ac999cc3f Update last min size when Control becomes visible 2022-05-22 15:50:13 +08:00
trollodel
307427af89 Add the button pressed to some signals in Tree 2022-05-21 17:16:52 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Rémi Verschelde
136da4d3bc
Merge pull request #61182 from danielkariv/fix_misclick_selection 2022-05-20 15:38:22 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
Rémi Verschelde
b9bb3de6a1
Merge pull request #61142 from bruvzg/rtl_threaded 2022-05-19 14:27:48 +02:00
Aaron Record
900c676b02 Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
Daniel Kariv
e6c909b489 add check for selection when try to push a meta.
Add a check for when we select a text but end on a link. Before it would act as if we just click an link, but now it changes it so if we click-drag over a link, we could select it (and not move to other page).
2022-05-19 11:55:14 +03:00
bruvzg
cfcdfc38e2
[RTL] Add support for shaping in background thread. 2022-05-19 09:34:44 +03:00
Rémi Verschelde
c0d189fbb8
Merge pull request #60955 from pfertyk/issue-60668-fix-get-breakpointed-lines-crash
Fix `get_breakpointed_lines` crashing Godot
2022-05-18 22:55:30 +02:00
Yuri Sizov
21b253a870 Define some Theme data structures with using for readability 2022-05-18 18:17:47 +03:00
Rémi Verschelde
5c79782c7e
Merge pull request #61088 from groud/keep_unhandled_events_on_pass 2022-05-17 23:50:55 +02:00
Rémi Verschelde
3ad751f7e0
Merge pull request #60867 from KoBeWi/μtext
Remove font height restriction from Button
2022-05-17 19:02:35 +02:00
Gilles Roudière
6db8b7616d Keep input event as unhandled if they go through a control set to MOUSE_FILTER_PASS 2022-05-17 15:41:58 +02:00
Rémi Verschelde
3506825930
Merge pull request #61112 from Chaosus/graph_edit_delete_nodes_param 2022-05-17 13:10:04 +02:00
Rémi Verschelde
ccdd85d8e7
Merge pull request #61001 from derammo/derammo_popup_conditional_hide 2022-05-17 12:56:53 +02:00
Yuri Rubinsky
c84d050980 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-17 13:28:21 +03:00
SnailRhymer
d79818acb6 Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
Paweł Fertyk
3d5dd91f22 Fix get_breakpointed_lines crashing Godot
Fixes #60668.
2022-05-16 18:46:01 +02:00
monkeyman192
31381f8c9e Allow TreeItem nodes to toggle visibility 2022-05-16 23:55:05 +10:00
Rémi Verschelde
fa2b3269ae
Merge pull request #59231 from Sauermann/fix-top-level-identification 2022-05-16 15:10:27 +02:00
Rémi Verschelde
9efb134469
Merge pull request #59799 from Sauermann/fix-gridcontainer-remaining-pixel 2022-05-16 15:04:48 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1 2022-05-16 13:50:42 +02:00
Rémi Verschelde
7b571ab8f7
Merge pull request #60986 from fire-forge/capitalism 2022-05-16 13:49:14 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
derammo
47d0dc8a41 popup deferred hide suppressed if reopened
popup no longer tries to close itself a second time
popup no longer closes after having been reopened
fixed bug in RenameDialog not calling base (by inspection)
fixes #59181
fixes #60921
reverts #59287
2022-05-13 09:30:00 -04:00
bruvzg
081b6b8053
Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and CodeEdit. 2022-05-13 09:33:24 +03:00
FireForge
88a8038387 Capitalize/fix some property enum hints 2022-05-12 15:03:16 -05:00
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
694baff233
Merge pull request #60932 from Geometror/button-fix-expand-icon 2022-05-10 22:58:56 +02:00