Commit Graph

5645 Commits

Author SHA1 Message Date
bruvzg 3da43ebec4
[MenuBar] Make menu start index more consistent. 2024-09-06 13:21:01 +03:00
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