Commit graph

5644 commits

Author SHA1 Message Date
Rémi Verschelde
5abb206040
Merge pull request #96247 from bruvzg/rtl_draw_order
[RTL] Move image/table draw to the `DRAW_STEP_TEXT`
2024-09-06 11:11:05 +02:00
Rémi Verschelde
1476578a5c
Merge pull request #96276 from KoBeWi/deprecated_on_arrival
Deprecate `set_min_buttons_width_from_icons`
2024-09-06 10:09:24 +02:00
Rémi Verschelde
c82c441ddd
Merge pull request #92865 from rune-scape/rune-optimal-code-edit
CodeEdit: Improve render time by 2x
2024-09-06 10:09:12 +02:00
A Thousand Ships
9dc231366d
Fix super call in various get_configuration_warnings methods 2024-09-05 16:08:35 +02:00
kobewi
bde64c4633 Deprecate set_min_buttons_width_from_icons 2024-09-05 15:43:54 +02:00
rune-scape
60fa3ec4d4 CodeEdit: improve render speed 2024-09-04 20:51:09 -07:00
Rémi Verschelde
f69de1c522
Merge pull request #96038 from kitbdev/fix-line-edit-caret-word-mode
Fix LineEdit word mode when there are no more words
2024-09-04 17:12:06 +02:00
Rémi Verschelde
3cc99d3e31
Merge pull request #95983 from bruvzg/win_fd_opt_fix
[Windows] Emit native file dialog callback from event loop, fix selected options not saved.
2024-09-04 17:11:57 +02:00
Rémi Verschelde
e2dd56bea7
Merge pull request #95902 from kitbdev/remove-forced-mouse-focus
Clean up Viewport's `forced_mouse_focus`
2024-09-03 17:38:17 +02:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde
c038995707
Merge pull request #96460 from bruvzg/rtl_para_breaks
[RTL] Do not add final newline to the paragraph context.
2024-09-03 11:44:02 +02:00
Rémi Verschelde
168676a7c5
Merge pull request #96000 from kerstop/deadzone_slider_fix
Fix deadzone slider not working correctly
2024-09-03 11:43:20 +02:00
Rémi Verschelde
68a04bbf9a
Merge pull request #96142 from timothyqiu/one-signal-to-invalidate-them-all
Fix collapsing `TreeItem` not updating horizontal scrollbar
2024-09-02 18:08:07 +02:00
bruvzg
02113dff83
[RTL] Do not add final newline to the paragraph context. 2024-09-02 11:11:37 +03:00
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