1
0
Fork 0
Commit Graph

5931 Commits

Author SHA1 Message Date
LuoZhihao 9eeeadb037 ColorPicker: Improve the accuracy of hue slider in OKHSL mode 2025-01-04 21:36:27 +08:00
Rémi Verschelde 32b081b2ff
Merge pull request #101005 from Sauermann/fix-graph-node-crash
Fix nullptr crash with freed `GraphNode` in GraphEditArranger
2025-01-03 00:50:02 +01:00
Rémi Verschelde 2f4cb705c3
Merge pull request #100930 from beicause/fix-color-picker-cursor-position-in-okhsl
ColorPicker: Fix cursor position in OKHSL wheel
2025-01-03 00:49:37 +01:00
Rémi Verschelde 703552c51b
Merge pull request #100240 from WhalesState/line-edit-focus
`LineEdit` add member `keep_editing_on_text_submit`
2025-01-03 00:48:34 +01:00
Mounir Tohami e89c196a80 `LineEdit` add member `keep_editing_on_text_submit`.
Allow users to exit edit mode when Enter is pressed.
2025-01-02 23:41:27 +02:00
Markus Sauermann 54373160df Fix Crash with `GraphNode`
When using `queue_free()` on GraphNodes, `p_from` can become `nullprt`.
This PR adds a check to prevent crashes in these situations.
2025-01-01 22:20:57 +01:00
LuoZhihao 47db9c0405 ColorPicker: Fix cursor position in OKHSL wheel 2024-12-30 22:25:20 +08:00
Lars Pettersson 3c1ac98f37
Allow overriding SpinBox value on `focus_exited` 2024-12-27 22:12:57 +01:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Thaddeus Crews 98c3138804
Merge pull request #92717 from KoBeWi/twisted_frying_pan
Add warped panning to every ViewPanner instance
2024-12-23 11:15:16 -06:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
Rémi Verschelde a7a2a12bfd
Merge pull request #100671 from bruvzg/get_menu
[MenuBar] Use PopupMenu title property as a menu name.
2024-12-20 23:57:47 +01:00
Rémi Verschelde 8a743f23e6
Merge pull request #98385 from RandomShaper/thread_yield
Rationalize busy waits
2024-12-20 23:56:39 +01:00
Pāvels Nadtočajevs 9604e98a52 [MenuBar] Use PopupMenu title property as a menu name. 2024-12-20 23:35:07 +02:00
kobewi 9a96393f46 Add warped panning to every ViewPanner instance 2024-12-20 17:40:27 +01:00
Thaddeus Crews ddf6e9e3eb
Merge pull request #100595 from bruvzg/win_drv_letter
[Windows, FileDialog] Prepend drive letter to the absolute paths without drive letter.
2024-12-19 20:00:15 -06:00
Thaddeus Crews 075567a5b3
Merge pull request #100456 from Sauermann/proposal-hovered-connection-highlight
Highlight hovered `GraphEdit` connection by widening the line
2024-12-19 20:00:08 -06:00
Thaddeus Crews cbfc34d279
Merge pull request #100444 from Sauermann/fix-view-panner-mouse-warp
Fix `ViewPanner` panning-mouse-warp
2024-12-19 20:00:01 -06:00
Markus Sauermann 0a875ab3bb Highlight hovered `GraphEdit` connection by widening the line
This change causes the connections to be additionally highlighted by
widening the line with a configurable factor.
2024-12-20 00:55:35 +01:00
Markus Sauermann 4887172a59 Fix `ViewPanner` panning mouse warp
Currently the mouse cursor jumps in unexpected ways, when a `ViewPanner`
is used in SubViewports or embedded Windows.

This is caused by providing wrong coordinate systems to
Input::warp_mouse_motion.

This PR replaces the use of `Input::warp_mouse_motion` with
`Viewport::wrap_mouse_in_rect` and makes sure, that the correct
coordinate systems are used.

This change makes it necessary, that all classes, that currently
use ViewPanner, need to provide the correct Viewport to ViewPanner.
2024-12-20 00:28:49 +01:00
bruvzg b9a00feb66 [Windows, FileDialog] Prepend drive letter to the absolute paths without drive letter. 2024-12-19 09:47:46 +02:00
Rémi Verschelde e69a5618c0
Merge pull request #100494 from havi05/bbcode-rainbow-effect
Fix `RichTextLabel` bbcode rainbow play reversed and paused
2024-12-18 17:23:36 +01:00
Rémi Verschelde ed51ec999c
Merge pull request #100451 from larspet/update-syntax-highlight
Clear syntax highlighter cache when theme or syntax highlighter is changed
2024-12-17 16:19:37 +01:00
Rémi Verschelde b69a28a613
Merge pull request #100429 from havi05/itemlist-draw-focus-syle-last
`Itemlist` draw focus stylebox after items
2024-12-17 16:19:25 +01:00
Rémi Verschelde 98ca63ae47
Merge pull request #99849 from Sauermann/fix-menu-button-hover
Fix `switch_on_hover` for `MenuButton`
2024-12-17 16:19:03 +01:00
Rémi Verschelde 1c94d13e21
Merge pull request #99721 from ryevdokimov/fix-spin-box
Fix removing last digit in spinbox while `update_on_text_changed` is true
2024-12-17 16:18:58 +01:00
havi05 b905014128 Fix `RichTextLabel` bbcode rainbow play reversed and paused 2024-12-16 23:52:26 +01:00
Markus Sauermann 9c5886f95a Fix `switch_on_hover` for `MenuButton`
Previously, embedded Windows (the opened menu) were not accounted for
when checking for `switch_on_hover`.

`gui_get_hovered_control()` is more appropriate to check for the hover
status of other `MenuButton` nodes at the mouse position.

Explain the usage of the incorrectly used function in a comment.
2024-12-16 22:11:42 +01:00
havi05 0ee78a79cf Itemlist - draw focus stylebox after items 2024-12-16 19:49:14 +01:00
Thaddeus Crews 4d4c229a83
Merge pull request #100432 from markdibarry/add_get_line_range_rtl
Add `get_line_range()` to `RichTextLabel`
2024-12-16 12:09:54 -06:00
Thaddeus Crews 9c9af038d5
Merge pull request #91060 from dalexeev/code-edit-add-doc-tooltips
Code Editor: Add documentation tooltips
2024-12-16 12:09:45 -06:00
Thaddeus Crews 017f0eb33a
Merge pull request #97449 from Geometror/ge-connections-prop
[GraphEdit] Make connections a property
2024-12-16 12:09:43 -06:00
Thaddeus Crews ee7de7d088
Merge pull request #99361 from havi05/itemlist-hover-on-selected
`ItemList` highlight selected items and draw `cursor`-stylebox last
2024-12-16 12:09:42 -06:00
Rémi Verschelde 08508d2e01
Merge pull request #99700 from hpvb/scene_tree_editor_performance
Improve Scene Tree editor performance
2024-12-16 17:16:00 +01:00
Hendrik Brucker e5be03a42b [GraphEdit] Make connections a property 2024-12-16 02:28:34 +01:00
Mark DiBarry 53a1be61a1 Add get_line_range to RTL 2024-12-15 19:09:42 -05:00
Lars Pettersson 2c16cfb52a
Clear cache on syntax highlighter or theme change 2024-12-15 22:41:30 +01:00
Danil Alexeev 80d11500b5
Code Editor: Add documentation tooltips 2024-12-15 10:51:33 +03:00
havi05 b05111799b ItemList - highlight selected items && draw cursor last 2024-12-14 19:03:43 +01:00
Rémi Verschelde ffe0cdebab
Merge pull request #99355 from havi05/itemlist-toggle-mode
Add `Toggle` selection mode to `ItemList`
2024-12-14 18:25:25 +01:00
Rémi Verschelde 36c6ce92db
Merge pull request #97660 from HolonProduction/completion-cancelation-🌈
GUI: Only cancel completion with the `ui_cancel` action
2024-12-14 18:25:13 +01:00
Pedro J. Estébanez 4f8dd96b3d Rationalize busy waits 2024-12-13 10:14:26 +01:00
HP van Braam 6f7525c396 Improve Scene Tree editor performance
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.

Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.

In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.

We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.

SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.

There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.

This fixes #83460

I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
kobewi cb4ceb823c Make scan for projects threaded 2024-12-12 22:31:32 +01:00
Robin Ward b3e970dde8 Adds `get_selection_line_offset` to `RichTextLabel`
This new method allow you to get the line offset of the current
selection (returns -1 if nothing is selected.)

This is useful if you want to pop up a control or menu above the
currently selected text. Previously there was no accurate way to get
this information.

The logic is moved from the implementation of `scroll_to_selection`
verbatim, and that method has been adjusted to avoid repetition.
2024-12-12 16:02:21 -05:00
havi05 b29e93bb51 ItemList - Add Toggle mode 2024-12-12 17:33:04 +01:00
Rémi Verschelde 9d10e42a41
Merge pull request #98766 from Calinou/tree-drag-and-drop-use-process
Fix Tree drag-and-drop scrolling having low FPS at low Physics Ticks per Second
2024-12-12 14:09:55 +01:00
Thaddeus Crews 66dd2895fa
Merge pull request #100208 from eviltrout/highlight-bg-fix
Fix user selection on top of `bgcolor` areas in a `RichTextLabel`
2024-12-11 17:36:05 -06:00
kobewi b8b1584f5a Don't emit text_changed signal when clearing empty LineEdit 2024-12-11 14:16:36 +01:00
Chaosus 9a8d6628de [Scene] Add `SceneStringName::hover` 2024-12-11 11:11:25 +03:00
Thaddeus Crews 69c67ede17
Merge pull request #88950 from bruvzg/excap
[macOS, Windows] Add support for excluding windows from a screenshot.
2024-12-10 14:16:10 -06:00
bruvzg 9fece033ab [macOS, Windows] Add support for excluding windows from a screenshot. 2024-12-10 11:00:13 +02:00
Chaosus ba39b078f5 [Scene] Add `SceneStringName::FlatButton` 2024-12-10 11:12:26 +03:00
Thaddeus Crews e9679a28ff
Merge pull request #91604 from nongvantinh/implement-7946
Save color palette as resources to reuse later
2024-12-09 14:33:29 -06:00
Robin Ward 1e749f628e Fix user selection on top of `bgcolor` areas in a `RichTextLabel` 2024-12-09 11:37:37 -05:00
Nông Văn Tình e6a49ab6ac Save color palette as resources to reuse later
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
2024-12-06 20:16:06 +07:00
Timo Schwarzer 1daa9a180b
Fix Control offset_* property types 2024-12-06 09:06:55 +01:00
bruvzg 121e640637 [RTL] Fix indent in tables and tables in indent. 2024-12-03 23:30:08 +02:00
Thaddeus Crews 44cda51110
Merge pull request #98812 from bruvzg/macos_bundles_as_file
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
Thaddeus Crews 6472e9e961
Merge pull request #99310 from syntaxerror247/filedialog_issue
Android: Set default ACCESS_FILESYSTEM root
2024-12-03 14:41:03 -06:00
Thaddeus Crews ec333a8c32
Merge pull request #99564 from JekSun97/get_connetion_count_method_graphedit
Add `get_connection_count` function to `GraphEdit`
2024-12-03 14:41:02 -06:00
Thaddeus Crews c72fe8e61f
Merge pull request #98082 from bruvzg/rtl_keep_tag_stack
[RTL] Keep tag stack between `append_text` calls.
2024-12-03 14:40:49 -06:00
bruvzg d5e599f77e [macOS] Handle bundles as files in the embedded file dialogs. 2024-12-03 12:41:52 +02:00
Michael Alexsander f7f6432af6
Make `PopupMenu/Panel` shadows properly visible again 2024-12-02 14:20:58 -03:00
bruvzg 4b23e504e8 [RTL] Keep tag stack between `append_text` calls. 2024-12-02 18:45:03 +02:00
Pāvels Nadtočajevs 6a331dafe1 Fix native file dialog filter selection in save dialogs. 2024-12-02 18:38:53 +02:00
Anish Mishra 7f64f230a7 Android: Set FileDialog default Filesystem root 2024-12-02 21:58:09 +05:30
Rémi Verschelde 0c4ad02e6d
Merge pull request #99668 from bruvzg/rtl_rn_notes
[RTL] Parse "\r\n" as a single paragraph break, add some documentation notes.
2024-12-02 17:20:35 +01:00
Rémi Verschelde e78ad1dfca
Merge pull request #99665 from bruvzg/rtl_clean
[RTL] Fix clearing text with `set_text("")`.
2024-12-02 17:20:31 +01:00
Rémi Verschelde aab12fd273
Merge pull request #99652 from bruvzg/fd_cd_win
[Windows] Fix root and current folder in native file dialog.
2024-12-02 17:20:27 +01:00
Rémi Verschelde 60e1490df1
Merge pull request #99644 from bruvzg/fd_all_name
Change file dialog all files filter name from `All Files (*)` to `All Files (*.*)`.
2024-12-02 17:20:23 +01:00
Rémi Verschelde 8f79640dc3
Merge pull request #95511 from bruvzg/btn_oversampling_reshape
Reshape and update button on oversampling change.
2024-12-02 17:19:47 +01:00
Pāvels Nadtočajevs 2210dd1126 [RTL] Parse "\r\n" as a single paragraph break, add some documentation notes. 2024-12-02 17:50:04 +02:00
Rémi Verschelde eefd32ba16
Merge pull request #99915 from bruvzg/lbl_width
[Label] Fix min. width
2024-12-02 15:52:15 +01:00
Rémi Verschelde 715a7bac00
Merge pull request #99906 from bruvzg/lbl_empty_lines
[Label] Fix empty paragraph height.
2024-12-02 15:52:11 +01:00
Rémi Verschelde 204ce5a29a
Merge pull request #99882 from vgezer/fixcolorpicker
Add horizontal center for ColorPicker buttons
2024-12-02 15:52:04 +01:00
Rémi Verschelde 6c01b739b0
Merge pull request #99822 from havi05/lineedit-shortcuts
Allow copy/select shortcuts when `editable` is false in `LineEdit`
2024-12-02 15:51:48 +01:00
Rémi Verschelde 2f4f2e26a1
Merge pull request #99708 from Giganzo/rtl-slider
Fix RTL visuals for sliders
2024-12-02 15:51:20 +01:00
Rémi Verschelde 200bb202ba
Merge pull request #99481 from bruvzg/meta_tooltip
[RTL] Add tooltip support to meta/url tag.
2024-12-02 15:51:12 +01:00
Rémi Verschelde e6125ef51b
Merge pull request #98763 from AThousandShips/more_sname_uses
Use `SceneStringName` in more places
2024-12-02 15:50:44 +01:00
Rémi Verschelde d2c82a8ffc
Merge pull request #97378 from rune-scape/less-const-cast
Get rid of easily removable uses of `const_cast`
2024-12-02 15:50:06 +01:00
A Thousand Ships af56d6e8e8
Use `SceneStringName` in more places 2024-12-02 14:39:16 +01:00
Pāvels Nadtočajevs dc71fbacc5 [RTL] Add tooltip support to meta/url tag. 2024-12-02 15:26:14 +02:00
JekSun97 95ca0aa7ad Add get_connetion_count function to GraphEdit 2024-12-02 19:15:37 +06:00
Pāvels Nadtočajevs e8f3bebb5d [Label] Fix min. width 2024-12-02 07:57:00 +02:00
rune-scape d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
Pāvels Nadtočajevs 151dcf30ee [Label] Fix empty paragraph height. 2024-12-01 21:53:07 +02:00
A Thousand Ships 77549dd1f3
[Tree] Allow disabling auto generated tooltip for `TreeItem` 2024-12-01 14:39:51 +01:00
Volkan Gezer 5baedb5826 add horizontal center for colorpicker buttons 2024-11-30 19:55:11 +01:00
havi05 4b735d9fb2 LineEdit - Allow copy/select shortcuts when `editable==false` 2024-11-30 11:28:11 +01:00
Rémi Verschelde 16ee94a953
Merge pull request #99843 from KoBeWi/easy_windows
Add helper method to get Window from ID
2024-11-29 22:51:45 +01:00
Rémi Verschelde 05e93a6010
Merge pull request #99691 from Sauermann/fix-consume-mouse-over
Rename `SubViewportContainer` option `consume_drag_and_drop` to `mouse_target`
2024-11-29 22:51:10 +01:00
Rémi Verschelde 5e87bdae74
Merge pull request #98605 from bruvzg/lbl_mult_para
[Label] Handle text as multiple independent paragraphs.
2024-11-29 22:46:42 +01:00
Rémi Verschelde 680142984d
Merge pull request #98450 from bruvzg/rtl_img_align
[RTL] Allow setting image alignment as separate bbcode argument.
2024-11-29 22:46:33 +01:00
Rémi Verschelde 5d74c5370b
Merge pull request #97963 from bruvzg/rtl_valign
[RTL] Add support for vertical alignment.
2024-11-29 22:46:14 +01:00
Rémi Verschelde 8d3fc48abf
Merge pull request #97521 from pafuent/enhance_scroll_container_focus
Add a focus border on `ScrollContainer`
2024-11-29 22:46:09 +01:00
Rémi Verschelde abf9eb5903
Merge pull request #93285 from rune-scape/listen-for-changes
More GUI nodes listening for texture changes
2024-11-29 22:45:39 +01:00
Rémi Verschelde 8de2abd075
Merge pull request #85789 from DevilboxGames/FileDialogCaseSensitivity
Make `FileDialog` filtering case insensitive
2024-11-29 22:45:32 +01:00
Rémi Verschelde 56a7dba10b
Merge pull request #99799 from akien-mga/fix-typos
Fix various typos and code style issues
2024-11-29 22:02:53 +01:00
Rémi Verschelde dbb9c9937d
Merge pull request #99685 from arkology/texture-progress-cross-plugin-friendly
Show `TextureProgressBar` radial center cross only when editing the scene
2024-11-29 22:02:26 +01:00