Commit graph

5630 commits

Author SHA1 Message Date
rune-scape
154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
bruvzg
b4efd27112
[RTL] Move image/table draw to the DRAW_STEP_TEXT 2024-08-29 00:23:57 +03:00
DictyosteliumDiscoideum
1f751516de
Fix RichTextLabel bottom margin for text clipping 2024-08-28 23:24:43 +03:00
A Thousand Ships
5c21c0d8d3
[Tree] Improve navigation with row select mode
Allows navigating with the `ui_left/right` actions when selecting rows,
fixing a navigation inconsistency
2024-08-28 18:32:45 +02:00
Rémi Verschelde
d1c238f43c
Merge pull request #94513 from AThousandShips/no_adv_gui_improve
Treat `MenuBar` and `MenuButton` as advanced UI
2024-08-28 15:46:46 +02:00
A Thousand Ships
2d2fb3f2e7
Treat MenuBar and MenuButton as advanced UI 2024-08-28 14:26:54 +02:00
Yuri Rubinsky
52889ab7ee [Scene] Add SceneStringName::toggled 2024-08-28 15:14:26 +03:00
A Thousand Ships
cd4221c1e2
[Tree] Fix error when removing child from Tree
New `last_child` member was not properly updated
2024-08-28 12:40:26 +02:00
bruvzg
94ad663c0f
[RTL] Expose missing default properties, ensure bbcode is reparserd when these are changed. 2024-08-28 08:43:30 +03:00
Rémi Verschelde
ea26272075
Merge pull request #93800 from EAinsley/fix#92929
Fix incorrect size calculation when position is set on resized
2024-08-28 00:11:25 +02:00
Rémi Verschelde
e3695423b2
Merge pull request #93363 from kitbdev/pass-propagate
Clarify Mouse Filter Pass in the Inspector
2024-08-28 00:11:06 +02:00
Rémi Verschelde
b4eacfe0ce
Merge pull request #95285 from Calinou/codeedit-completion-color-background-translucent
Draw a checkerboard behind translucent colors in CodeEdit autocompletion previews
2024-08-27 22:27:49 +02:00
Rémi Verschelde
9e1c63a051
Merge pull request #94748 from aaronp64/tree_perf
Improve `Tree` performance
2024-08-27 22:27:30 +02:00
Rémi Verschelde
62e98edf0f
Merge pull request #83070 from aaronfranke/textedit-fit-width
Implement fit content width in TextEdit
2024-08-27 22:27:09 +02:00
Rémi Verschelde
5a61e10e09
Merge pull request #89265 from davthedev/spinbox-buttons-refactor
Improve SpinBox interaction, split arrows, add theme attributes
2024-08-27 16:54:39 +02:00
Haoyu Qiu
d16dcbb3ac Fix collapsing TreeItem not updating horizontal scrollbar 2024-08-27 11:49:27 +08:00
Rémi Verschelde
a041772ecf
Merge pull request #93940 from Mickeon/deprecate_RichTextLabel_is_ready
Add RichTextLabel `is_finished()`, deprecate `is_ready()`
2024-08-26 23:28:42 +02:00
Rémi Verschelde
588cf16630
Merge pull request #84840 from kleonc/control-get-transform-simplification
Simplify `Control` internal transform calculation
2024-08-26 23:28:08 +02:00
Rémi Verschelde
c9e5008966
Merge pull request #95857 from KoBeWi/novel_variant_of_0
Always store ID of PopupMenu items
2024-08-25 20:18:14 +02:00
kit
3da4f457d0 Fix LineEdit word mode when there are no words 2024-08-24 12:28:18 -04:00
kerstop
2fd39eca30 fix deadzone slider not working correctly 2024-08-23 12:29:24 -05:00
David Giardi
e371587147 Improve SpinBox interaction, split arrows, add theme attributes 2024-08-23 18:21:20 +02:00
bruvzg
ea252675aa [Windows] Emit native file dialog callback from event loop, fix selected options not saved. 2024-08-23 09:53:16 +03:00
Rémi Verschelde
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
kit
307e40e873 Clean up Viewport forced_mouse_focus 2024-08-21 09:37:44 -04:00
aaronp64
7593e55527 Improve Editor Inspector/Theme item lookup performance
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab

- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call

These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
kobewi
5279fec60f Always store ID of PopupMenu items 2024-08-20 15:33:21 +02:00
Rémi Verschelde
a105553a1d
Merge pull request #92841 from kleonc/menu-bar-proper-canvas-transform-popup-calculation
Fix `MenuBar` popup placement assuming it's in viewport default canvas
2024-08-19 16:04:54 +02:00
Rémi Verschelde
db5003519a
Merge pull request #89554 from smnast/backspace-unfold
Fix backspace always unfolding previous line
2024-08-19 16:04:34 +02:00
kleonc
5be4eb9fc6 Simplify Control internal transform calculation 2024-08-19 12:14:41 +02:00
kit
93a81dd7aa Fix TextEdit caret movement at start of wrapped lines 2024-08-16 15:52:03 -04:00
Micky
edb3d99942 Add RichTextLabel is_finished(), deprecate is_ready() 2024-08-16 20:08:38 +02:00
Rémi Verschelde
f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde
aed6c351c6
Merge pull request #95301 from bruvzg/rtl_sel_fixes
Fix `TextServer::shaped_text_*_character_pos` for the first character of wrapped string. Allow starting/ending RTL selection before line start.
2024-08-16 14:33:26 +02:00
Haoyu Qiu
7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
bruvzg
7f6c14522c
Stop popup release timeout on click. 2024-08-12 19:35:20 +03:00
Hugo Locurcio
fb88658cc8
Draw a checkerboard behind translucent colors in CodeEdit autocompletion previews
This makes translucent colors easier to interpret as such
and is consistent with how they're displayed in ColorPicker.
2024-08-09 00:03:11 +02:00
bruvzg
932acce8f2
Fix TextServer::shaped_text_*_character_pos for the first character of wrapped string. Allow starting/ending RTL selection before line start. 2024-08-09 00:03:00 +03:00
bruvzg
460b538746
[PopupMenu] Increase mouse button release timeout and reset it from post_popup. 2024-08-07 10:22:12 +03:00
Rémi Verschelde
c81aa6e1fc
Merge pull request #95122 from kleonc/tab_bar_clear_close_button_rect
Clear `TabBar` tab close button's rect after it's hidden
2024-08-06 12:31:57 +02:00
Aaron Franke
3b8afcd10c
Implement fit content width in TextEdit
Co-authored-by: Kit Bishop <kitbdev@gmail.com>
2024-08-04 15:14:56 -07:00
kleonc
d1740e6cbf Clear TabBar tab close button's rect after it's hidden 2024-08-04 11:59:37 +02:00
Hendrik Brucker
1f0eddca70 Fix GraphEdit port snapping in certain edge cases 2024-08-02 12:38:53 +02:00
Rémi Verschelde
6e50da8a37
Merge pull request #94931 from KoBeWi/1_window_1_hack
Use legacy color picking in single window mode
2024-08-01 00:06:38 +02:00
Rémi Verschelde
5271a39279
Merge pull request #94810 from maidopi-usagi/graphedit_signal_fix
[GraphEdit] Correctly disconnect signal to `connection_layer`
2024-07-30 12:28:55 +02:00
kobewi
385284311a Use legacy color picking in single window mode 2024-07-29 23:44:01 +02:00
Rémi Verschelde
46aff5ce10
Merge pull request #94848 from kitbdev/fix-placeholder-fit-content
Fix TextEdit placeholder fit content height
2024-07-29 15:17:32 +02:00
kit
b6c054e793 Fix TextEdit placeholder fit content height 2024-07-27 17:14:51 -04:00
kit
36677798f1 Fix TextEdit scroll properties editor hint suffix 2024-07-26 18:18:29 -04:00
maidopi-usagi
04705d2899 Fix leaked signal connection to connection_layer. 2024-07-27 01:34:03 +08:00
aaronp64
040f241f39 Improve Tree performance
Added TreeItem::last_child to avoid needing to iterate through all children to get to the end.  This mainly helps in cases where one TreeItem has many children (1000s), and new children are added to the end, as each add had to iterate through all previously added children.
2024-07-26 11:32:45 -04:00
Rémi Verschelde
73bcfec23a
Merge pull request #94621 from Giganzo/scroll-container-rtl-fix
ScrollContainer: Fix RTL on follow focus
2024-07-25 09:15:06 +02:00
Rémi Verschelde
05504ebf27
Merge pull request #94439 from kitbdev/fix-reopen-hscroll
Fix ScriptEditor scrolling horizontally when reopening script
2024-07-23 15:55:32 +02:00
Giganzo
7e549aa52e Fix rtl on follow focus
Change right_margin to side_margin
2024-07-23 10:29:55 +02:00
Rémi Verschelde
6694f55f40
Merge pull request #94606 from bruvzg/rtl_msdf_r
[RTL] Fix text size rounding with MSDF fonts.
2024-07-22 14:13:17 +02:00
Rémi Verschelde
3018178d3f
Merge pull request #94286 from aaronp64/flowcontainer_resort_crash
Avoid `FlowContainer` crash with `TextureRect` using EXPAND_FIT_* expand modes
2024-07-22 14:12:48 +02:00
bruvzg
93ccf8e9e4
[RTL] Fix text size rounding with MSDF fonts. 2024-07-22 07:48:29 +03:00
aaronp64
5682cc7b81 Avoid FlowContainer crash with TextureRect using EXPAND_FIT_* expand modes
When a FlowContainer had a TextureRect child using any of the EXPAND_FIT_* expand modes, it could crash when changing the FlowContainer's minimum size, or that of its children.  This was due to the TextureRect resizing in FlowContainer::_resort, updating its minimum size, and triggering another _resort.  If the TextureRect's minimum size changed in a way that caused any of the FlowContainer's children to be put on a different line, it could repeatedly cause _resort to be called again, moving the children back and forth between the old and new lines.

This change is for FlowContainer::_resort to give a warning for TextureRects with EXPAND_FIT_* expand modes when multiple lines are used, and just keep the TextureRect size the same in that case.  This is similar to the check added to AspectRatioContainer in godotengine#73396, but attempting to still support it in FlowContainer when possible.  In the case where the TextureRect is forced to stay the same size, there may be some overlap between the FlowContainer's children, but should no longer crash.
2024-07-21 13:09:22 -04:00
Rémi Verschelde
7d71b4be37
Merge pull request #94422 from m4gr3d/fix_input_locking_issue
Fix input lock issue when drag scrolling on a `Tree` element on touchscreen devices
2024-07-18 15:38:17 +02:00
A Thousand Ships
832695eb2c
[Tests] Fix various unit tests on minimal builds 2024-07-18 15:17:28 +02:00
Fredia Huya-Kouadio
70d450d086 Fix issue causing input lock when drag scrolling a Tree element on touchscreen devices
Prior to this fix, scrolling via mouse drag on touchscreen devices, and
drag&drop operation on a `TreeItem` element would conflict with each other
preventing the drag scroll from being released when the mouse button is
released.

The issue is addressed by disabling drag&drop when drag scrolling is ongoing.
2024-07-18 04:09:54 -07:00
Rémi Verschelde
fa2266716e
Merge pull request #94363 from bruvzg/fix_code_completion_scroll
[macOS] Fix code completion list scrolling with trackpad.
2024-07-17 15:45:10 +02:00
Rémi Verschelde
5da03541a1
Merge pull request #93749 from alvinhochun/gui-snap-to-pixel-round-halfway-to-positive
Change GUI controls pixel snap to round halfway towards positive infinity (`floor(x + 0.5)`)
2024-07-17 15:44:43 +02:00
A Thousand Ships
d4cf294b35
Fix potential null access in TextEdit 2024-07-17 13:35:22 +02:00
Rémi Verschelde
78120c66cc
Merge pull request #94085 from anniryynanen/min-size-hidden-parent
Fix container minimum size with hidden parent
2024-07-17 11:43:07 +02:00
kit
f8df6b1c70 Fix ScriptEditor scrolling horizontally on reopen 2024-07-16 11:19:58 -04:00
bruvzg
dc98e432e5
[macOS] Fix code completion list scrolling with trackpad. 2024-07-15 08:12:19 +03:00
Anni Ryynänen
a9c91f4eef
Fix container minimum size with hidden parent 2024-07-12 16:21:05 +03:00
Rémi Verschelde
013ee6a458
Merge pull request #94003 from KernRat/scroll-fix
Fix RichTextLabel + `ui_down` scrolling too far
2024-07-11 00:27:10 +02:00
Yuri Rubinsky
af5fc8354b Fix a bunch of orphan StringName errors at ProjectSettings/Editor exit 2024-07-09 19:38:52 +03:00
Rémi Verschelde
17e7253ea8
Merge pull request #93721 from semensanyok/fix-RichTextLabel-fade-start-index
Fix RichTextLabel fade set `start_index` to command offset
2024-07-09 16:47:10 +02:00
bruvzg
eddc9cea11
[NativeMenu] Do not auto toggle check/multi-state items. Add is_native_menu method. 2024-07-08 11:20:28 +03:00
KernRat
3f4222bad4
Fixed RichTextLabel + ui_down scrolling too far 2024-07-06 16:58:33 +02:00
Hendrik Brucker
104c77cd86 Fix connections not updated after GraphNode slot update 2024-07-06 14:33:34 +02:00
Rémi Verschelde
b97110cd30
Merge pull request #93908 from Geometror/ge-resized-fix
Fix `Control` nodes emitting unnecessary `resized` signals
2024-07-05 16:38:10 +02:00
Rémi Verschelde
1704af01b1
Merge pull request #93959 from kitbdev/fix-drop-on-selection
Fix dropping on selection in script editor
2024-07-05 15:07:44 +02:00
kit
fc16465d17 Fix dropping on selection in script editor 2024-07-04 19:42:38 -04:00
Hendrik Brucker
1c47fd7089 Fix Control nodes emitting unnecessary resized signals 2024-07-05 01:41:21 +02:00
Rémi Verschelde
5c84398c15
Merge pull request #93903 from Geometror/vs-fix-frame-edscale
Fix some VisualShader features for high DPI displays/custom UI scales
2024-07-04 23:27:03 +02:00
Hendrik Brucker
b871794591 Fix GraphFrame autoshrink with high DPI displays/custom UI scales 2024-07-04 19:08:06 +02:00
bruvzg
41df3caad3
[Button] Use align_to_largest_stylebox for min. size calculation. 2024-07-04 09:40:55 +03:00
kleonc
88b29539f7 Fix AtlasTexture::draw_rect flipping for non-zero margin 2024-07-01 21:22:25 +02:00
Ainsley Su
819c392ca3
Notify item_rect_changed before resized. 2024-07-01 11:54:07 +08:00
Alvin Wong
cc45c2cdd3 Change GUI controls pixel snap to round halfway to +ve infinity 2024-06-30 00:33:37 +08:00
Mark DiBarry
6b17d51425 Add alternative pixel rounding 2024-06-29 10:33:39 -04:00
semensanyok
5dffb9b5e6 fix RichTextLabel fade set start_index to command offset 2024-06-28 23:15:21 +02:00
Rémi Verschelde
a647789c5b
Merge pull request #93656 from vgezer/fixmissingsep
Add missing punctuation to the default TextEdit word separators
2024-06-28 11:35:11 +02:00
Volkan Gezer
76b2e5b2c8 add missing punctuation to the default list 2024-06-27 17:51:21 +02:00
kit
a7da814c6b CodeEdit Fix move lines up/down viewport and selection issues 2024-06-25 15:31:20 -04:00
Rémi Verschelde
b63df071bd
Merge pull request #92514 from /addWordSeparators 2024-06-25 09:19:35 +02:00
Volkan Gezer
e60678f193 enable custom separators to treat different characters as words 2024-06-24 20:43:13 +02:00
Rémi Verschelde
bf20231140
Merge pull request #93179 from TheSofox/tree-nav-crash
Fix engine crashing when using Down Arrow selection on Tree with no selection
2024-06-24 11:14:06 +02:00
Sofox
d86e02580c Fix engine crashing when using Down Arrow selection on Tree with no selection 2024-06-22 18:40:21 +01:00
Rémi Verschelde
04bf7d4cad
Merge pull request #93467 from anniryynanen/progress-circle-atlas
Fix atlas texture positioning in circular TextureProgressBar
2024-06-22 16:22:30 +02:00
Anni Ryynänen
2c5befde43
Fix atlas texture positioning in circular TextureProgressBar
In 4.2 TextureProgressBar needed to position its atlas texture, but in 4.3
`draw_polygon()` handles it.
2024-06-22 16:07:26 +03:00
Javi Rodriguez
d6e17b8a0d Fix FlowContainer scale from also scaling wrap point
When a FlowContainer was scaled, the point at which a line wraps would
also be scaled. This would cause a FlowContainer to have lines that did
not fit the container.

FlowContainer no longer factors its scale when resorting children.

Fixes #93439
2024-06-21 19:13:43 -04:00
Anni Ryynänen
0fefd6cc80
Fix GridContainer minimum size when there's a hidden parent
When calculating minimum size, GridContainer only looks at children that are
returned from `as_sortable_control()`. That defaults to only showing children
visible in the tree, so if the grid has a hidden parent the minimum size
becomes (0, 0).

After this change only the child itself needs to be visible, making
`GridContainer::get_minimum_size()` behave the same way as other controls.

Fixes #91722.
2024-06-20 13:49:09 +03:00
kit
a3b944c41d Clarify Mouse Filter Pass in the Inspector 2024-06-19 14:43:06 -04:00
A Thousand Ships
fbb879debd
[Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
A Thousand Ships
ca18a06ecb
[Scene] Add SceneStringNames::confirmed 2024-06-19 09:40:54 +02:00