Commit graph

4106 commits

Author SHA1 Message Date
Rémi Verschelde
efedef8eb1
Merge pull request #64837 from YuriSizov/control-disconnect-from-everything-and-free-yourself
Disconnect Control from theme resources to avoid issues on destruction
2022-08-25 00:04:17 +02:00
Marc Gilleron
22fcdffd17 Make GraphNode::_validate_property protected so GraphNode can be inherited.
It's not about overriding or accessing `_validate_property`,
but since `_validate_property` became a multilevel method,
the GDCLASS macro now tries to access the one from the parent class,
which causes a compiling error if the parent class declares
`_validate_property` as private.
2022-08-24 21:29:32 +01:00
Rémi Verschelde
b7d2ba12c8
Merge pull request #64635 from YeldhamDev/menu_buttons_popup_fix
Make `Menu/OptionButton` item auto-highlight behave better
2022-08-24 19:07:25 +02:00
Yuri Sizov
bb5fa91a6b Disconnect Control from theme resources to avoid issues on destruction 2022-08-24 18:50:04 +03:00
Rémi Verschelde
4698dc67b5
Merge pull request #64082 from KoBeWi/array3k 2022-08-24 16:05:59 +02:00
Yuri Sizov
5d14d08702
Merge pull request #59226 from Rindbee/better-setters-in-gui-controls
Improve the setters in gui, return directly if the value does not change.
2022-08-24 17:03:54 +03:00
Yuri Sizov
78f3e4cb6a
Merge pull request #64369 from derammo/derammo_tree_right_click_title
Replace Tree control left click on title signal with new signal for either left or right click
2022-08-24 16:16:53 +03:00
derammo
0ba2e999df implemented right click on Tree control header 2022-08-24 08:10:40 -04:00
kobewi
f7f4873ed0 Replace Array return types with TypedArray 3 2022-08-24 12:53:36 +02:00
Rémi Verschelde
c3a8ec3cbb
Merge pull request #64800 from KoBeWi/split_hax
Handle child control size changes in SplitContainer
2022-08-24 09:50:46 +02:00
Rémi Verschelde
854eb58074
Merge pull request #64783 from bruvzg/fix_rtl_min_size
Fix RTL min. size not triggering text cache update.
2022-08-24 09:49:00 +02:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
kobewi
1abdffe7a0 Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
kobewi
19ad31b89f Handle child control size changes in SplitContainer 2022-08-23 20:41:10 +02:00
Rémi Verschelde
bbe8d2b03e
Merge pull request #64767 from bruvzg/meta_click 2022-08-23 18:15:44 +02:00
风青山
e561c68256 Add some codes, returnes directly if the value is not changed.
Avoid executing the following value-changed logics if the value does not really change.
2022-08-23 23:25:22 +08:00
bruvzg
f02d45ce0c
Fix RTL min. size not triggering text cache update. 2022-08-23 16:27:45 +03:00
Rémi Verschelde
11506eb24d
Merge pull request #64676 from KoBeWi/split_and_conquer 2022-08-23 10:28:09 +02:00
bruvzg
cd095ab64a
Hide MenuButton / OptionButton popup on click if it's already visible. 2022-08-23 10:38:51 +03:00
bruvzg
80a47ab0f9
[RTL] Improve meta click position. 2022-08-23 09:57:22 +03:00
Rémi Verschelde
62c3e72b6f
Merge pull request #63959 from KoBeWi/typo_arrray
Replace Array return types with TypedArray (part 1)
2022-08-23 08:52:13 +02:00
kobewi
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
Rémi Verschelde
9744becc39
Merge pull request #63891 from derammo/derammo_tree_cache 2022-08-22 22:41:28 +02:00
Rémi Verschelde
b9ea0e1338
Merge pull request #64218 from Rindbee/fix-button-minimum-size-calculation 2022-08-22 22:40:59 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property 2022-08-22 21:39:48 +02:00
Rémi Verschelde
acd8fb7bf0
Merge pull request #64626 from YuriSizov/control-farewell-meta
Replace meta properties with regular properties in `Control`
2022-08-22 19:26:32 +02:00
Rémi Verschelde
99548e521d
Merge pull request #64711 from YeldhamDev/itemlist_scroll_fix 2022-08-22 17:37:38 +02:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Rémi Verschelde
dabc982393
Merge pull request #64618 from bruvzg/fix_menu_min_size 2022-08-22 17:33:27 +02:00
Micky
9a63792a08 Clamp Label's percent_visible properly between 0 and 1.0
Also applies to RichTextLabel
2022-08-22 12:03:03 +02:00
Michael Alexsander
e298144a41 Fix ItemList selection visual when the scrollbar visibility changes 2022-08-21 22:10:41 -03:00
kobewi
185b1a5bd3 Improve SplitContainer minimum size splitting 2022-08-21 03:30:11 +02:00
bruvzg
8f2083e6c0
Fix MenuBar minimum size adding unnecessary extra spacing after the last item. 2022-08-19 22:04:58 +03:00
Michael Alexsander
1da50698fc Make Menu/OptionButton item auto-highlight behave better 2022-08-19 14:54:53 -03:00
Yuri Sizov
e08feee8a6 Replace meta properties with regular properties in Control 2022-08-19 20:52:01 +03:00
bruvzg
2040087898
Fix MenuBar not processing shortcuts. 2022-08-19 16:49:50 +03:00
Micky
550616293a Account for TreeItem's Cell icon and center the text Popup vertically 2022-08-19 13:21:19 +02:00
Max Hilbrunner
420a8c888e
Merge pull request #63950 from bruvzg/menu_bar3
Implement MenuBar control to wrap Popup menus or native menu, use native menu for editor.
2022-08-19 01:24:24 +02:00
Clay John
903a3a641e
Merge pull request #64315 from Daylily-Zeleen/fixed-GraphEdit-signal-argument-type
Fixed GraphEdit signal argument type
2022-08-18 14:50:33 -06:00
bruvzg
8c56a7416b
Implement MenuBar control to wrap PopupMenus or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00
kobewi
da0c4221f0 Hide prefix/suffix on SpinBox focus 2022-08-17 13:32:25 +02:00
daylilyzeleen
64e33d9ed1 fixed GraphEdit signal argument type 2022-08-12 20:18:36 +08:00
Rindbee
4a3a15c304 Fix case where h_separation might not work in Button
This patch mainly solves two things:
1. The typo of `h_separation`;
2. Negative values of `h_separation` will be treated as `0` when used, to prevent the button's minimum `width` from being reduced by `h_separation`.
2022-08-12 19:57:08 +08:00
Yuri Sizov
9f88300007 Add dumb theme item cache to Control 2022-08-12 14:36:06 +03:00
Yuri Sizov
f3e849edf4
Merge pull request #64267 from bruvzg/le_secret
Change `LineEdit` default secret character from "*" to "•".
2022-08-11 16:28:22 +03:00
kobewi
e06cd2742f Add missing properties to default theme 2022-08-11 14:15:04 +02:00
bruvzg
93b39fad2f
Change LineEdit secret character from "*" to "•". 2022-08-11 13:55:11 +03:00
Yuri Sizov
1362bc22bd Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript 2022-08-08 16:36:01 +03:00
Rémi Verschelde
3249b7d40d
Merge pull request #63859 from Rindbee/fix-hue-slider-incorrectly-rotated
Fix Hue slider incorrectly rotated 90 degrees in ColorPicker
2022-08-06 00:25:55 +02:00
Rémi Verschelde
99aa97949f
Merge pull request #63958 from hakro/fix-control-animation-keys
Remove rect_ prefix from control properties when keyframing
2022-08-06 00:17:37 +02:00
Hakim
60677c4e95 Remove rect_ prefix from control properties when keyframing 2022-08-05 16:04:51 +02:00
Yuri Sizov
62d14ca22d Round icon position and size in buttons to make them look sharper 2022-08-05 15:48:45 +03:00
Rémi Verschelde
25915cdd0e
Merge pull request #59844 from Calinou/rename-shader-param-methods 2022-08-05 02:52:06 +02:00
Hugo Locurcio
db22b7ded0
Rename shader parameter uniform setter/getter methods for consistency
`shader_uniform` is now consistenly used across both per-shader
and per-instance shader uniform methods. This makes methods easier
to find in the class reference when looking for them.
2022-08-04 23:17:06 +02:00
Rémi Verschelde
daa1220a86
Merge pull request #61856 from iwek7/label_overflowing_text 2022-08-04 22:03:29 +02:00
Rémi Verschelde
49ac05550e
Merge pull request #63838 from tefusion/fix-arrange-nodes-freeze
Fix GraphEdit::arange_nodes causing a freeze when cycle in Graph
2022-08-04 19:36:22 +02:00
iwek
efcdfc2332 Fix issue with overlaping text label text 2022-08-04 19:19:33 +02:00
Rémi Verschelde
e9f8b2d190
Merge pull request #58536 from winterpixelgames/feature/virtual-keyboard-types
Add support for multiple virtual keyboard types
2022-08-04 19:11:40 +02:00
Rémi Verschelde
84acfd69d7
Merge pull request #54792 from EIRTeam/independent_arrows 2022-08-04 18:09:29 +02:00
tefusion
f1c19e058c Fix GraphEdit::arange_nodes causing a freeze
When a Graph contains cycles, e.g. 1->2->3->1 _layering would end
up in an infinite loop since IS_SUBSET would never be true.
By keeping check of the size of z, which contains the already layered
nodes, one can detect a freeze (since it should change after
current_layer increases. If it doesn't "u" didn't change and q and u
will  never be equal resulting  in a freeze/infinite while loop).
If a freeze happens warn the user and put all the nodes part of the
cycle (leftover in p) to the  first layer which will end up in them
being listed top to bottom.
2022-08-04 17:13:56 +02:00
Brian Semrau
103c0fa6e6 Add support for multiple virtual keyboard types 2022-08-04 10:41:33 -04:00
Jóhannes Gunnar Þorsteinsson
ba35cff303 Independent spinbox arrow step precision
Rebased by EIREXE

This work has been kindly sponsored by IMVU & EIRTeam.
2022-08-04 14:48:46 +02:00
derammo
4e6c8e00fc fixed Tree UI control bug corrupting child cache 2022-08-04 08:24:51 -04:00
Rindbee
7869ea236e Fix Hue slider incorrectly rotated 90 degrees in ColorPicker 2022-08-04 11:30:03 +08:00
Rémi Verschelde
3ea9a7daea
Merge pull request #63791 from V-Sekai/mend-ok-hsl-washout 2022-08-03 16:06:53 +02:00
Rémi Verschelde
e38118c960
Merge pull request #59303 from KoBeWi/check_out_my_very_long_button 2022-08-03 15:06:54 +02:00
Rémi Verschelde
4ac993ffe2
Merge pull request #63348 from Rindbee/fix-toggling-after-scrolling-causes-blank 2022-08-03 14:42:19 +02:00
kobewi
24d02dfb47 Add fit_to_longest_item to OptionButton 2022-08-02 23:37:43 +02:00
kobewi
9a2758e374 Fix GraphNode slot list 2022-08-02 15:39:56 +02:00
Johan Aires Rastén
26ebea7286 Fix ColorPicker color and hsv sync issue
ColorPicker has both a Color and HSV values for the currently selected
color, fixed a few cases where those were not kept in sync.

Refactored a little regarding this, and removed a redundant update.

Solves #63777
2022-08-01 23:05:44 +02:00
K. S. Ernest (iFire) Lee
8b64e331c3 Mend the non-matching okhsl colors.
Closer match.
2022-08-01 13:20:11 -07:00
Johannes Witt
2fb69afde6
Add GraphEdit.is_node_hover_valid(...) method
This is a virtual method that can be used to add additional error
condition checks while the connection is still being dragged. If true is
returned, the connection is valid. If false is returned, the connection
is invalid and thus not possible (ie. it will not snap). The virtual
method is exposed with an underscore to scripts.
2022-07-31 15:35:26 +02:00
Rindbee
a7eecc61ad Fix toggling after scrolling resulted in blank space
Previously, the data used by `update_scrollbars()` and `_update_dimensions()` in their calculations depended on each other, which caused some problems.

Now, the calculation of `child_max_size` is put into `get_minimum_size()`, as the containers call `update_minimum_size()` before calling `queue_sort()`.

Make the semantics of variable/function names more clear.

Co-authored-by:  Aaron Record <aaronjrecord@gmail.com>
2022-07-31 09:32:20 +08:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Rindbee
d0df11762b Fix Color Picker value box not continuously updating 2022-07-28 19:08:53 +08:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Rémi Verschelde
d04c154585
Merge pull request #63318 from YuriSizov/control-code-reorg 2022-07-27 10:47:12 +02:00
Yuri Sizov
6ca95003a9 Reorganize code of control.cpp for better maintainability 2022-07-26 23:03:49 +03:00
Rémi Verschelde
6d57e209e9
Merge pull request #63482 from bruvzg/fix_rtl_theme_font_sizes 2022-07-26 11:08:29 +02:00
bruvzg
94e5ad2019
[RichTextLabel] Fix theme bold / italics / bold italics and mono font size not applied correctly. 2022-07-26 10:45:40 +03:00
Rémi Verschelde
c3dc887c41
Merge pull request #63472 from timothyqiu/tree-row-cell-bg
Tree: Don't draw selection background of individual cells in Row mode
2022-07-26 07:53:37 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
Haoyu Qiu
6486d261aa Tree: Don't draw selection background of individual cells in Row mode 2022-07-26 10:09:11 +08:00
kobewi
5315c9597f Fix negative indices in TreeItem 2022-07-25 22:15:15 +02:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
RedMser
d3a1e82025 Add error for invalid RichTextLabel.install_effect 2022-07-24 23:15:27 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
reduz
d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
Rémi Verschelde
0c81502217
Merge pull request #62093 from Rindbee/fix-undecided-min_size-in-ScrollContainer 2022-07-22 23:47:48 +02:00
Rémi Verschelde
e5df1e65f9
Merge pull request #62581 from Guh-Feng/Color-Picker-Update 2022-07-22 23:46:27 +02:00
Rémi Verschelde
b3bd082070
Merge pull request #63295 from winterpixelgames/master-allow-scroll-container-scroll-to-be-set-instantly 2022-07-22 00:51:43 +02:00
Guh-Feng
1b8652e86a Color Pickers Respect Settings
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
2022-07-21 18:11:09 -04:00
Jason Knight
48f2d128d4 Call update_scrollbars() in sort_children() so the max is set properly so you can set scroll_container.scroll_vertical instantly after adding children to a scroll container. 2022-07-21 12:23:41 -06:00
Rindbee
b27bce875f Fix indeterminate minimum size in ScrollContainer 2022-07-21 22:29:25 +08:00
bruvzg
8823eae328
Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
Nathan Franke
f3d43a384d
simplify alignment preset, fixing icon for full rect 2022-07-20 12:18:33 -05:00
Rémi Verschelde
715f556cd4
Merge pull request #62139 from bruvzg/label_font_setttings
Add LabelSettings resource for quick Label theme property override.
2022-07-19 20:16:01 +02:00
FireForge
97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
Rindbee
c47ac20620 Fix getting outdated tab controls 2022-07-18 20:06:21 +08:00