Commit Graph

16859 Commits

Author SHA1 Message Date
Thaddeus Crews
addab4f001 Merge pull request #95916 from Repiteo/core/bit-field
Core: Add dedicated `BitField` template
2025-04-11 13:29:13 -05:00
Thaddeus Crews
0d267e7b1e Core: Add dedicated BitField template 2025-04-11 11:53:26 -05:00
Lukas Tenbrink
b711d72e8f Remove unnecessary friend class declarations of CowData.
Use default implementations for various containers.
2025-04-11 18:26:08 +02:00
Thaddeus Crews
b546680e96 Merge pull request #105265 from bruvzg/gr_node_resize
Fix graph node resizing.
2025-04-11 09:51:10 -05:00
Thaddeus Crews
717df3ee88 Merge pull request #105249 from Repiteo/core/math-defs-namespace
Core: Use `Math` namespace for constants
2025-04-11 09:51:04 -05:00
Pāvels Nadtočajevs
13cf88073b Fix graph node resizing. 2025-04-11 08:20:20 +03:00
Thaddeus Crews
297650a912 Merge pull request #93466 from bruvzg/alt_oem
[TextEdit / LineEdit] Add support for OEM Alt codes input.
2025-04-10 16:53:46 -05:00
Thaddeus Crews
4c66c21542 Merge pull request #103024 from cruglet/master
TabBar: Add boolean toggle for middle-click to fire `tab_close_pressed` signal.
2025-04-10 16:53:44 -05:00
Thaddeus Crews
94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
Priahoud
bf963e767e Add Options, Functions and Settings to convert Node-Names and Strings to kebab-case
- refactored and renamed String::_camelcase_to_underscore to String:_separate_compound_words
- refactored String::to_snake_case to work with the refactored String::_separate_compound_words
- created char_utils::is_hyphen to catch all hyphen variants in kebab-case conversion
- created String::to_kebab_case using the new String::_separate_compound_words
- created corresponding Documentation in String and StringName
- simplified both switch statements in EditorNode and ProjectDialog
- added new kebab-casing Option for Node Names in ProjectSettings
- added missing camelCase Options to Scene- and Node-Names in ProjectSettings
- simplified Mono RuntimeInterop Functions
- hooked up the ConnectionsDialog
- created additional Unit Tests
2025-04-10 21:22:21 +02:00
Thaddeus Crews
819bb61710 Merge pull request #103198 from Naputt1/fix-tween.kill()-isValid()-return-false
Fix `Tween.is_valid()` returning `true` after calling `kill()`
2025-04-10 10:18:21 -05:00
Thaddeus Crews
cade15a163 Merge pull request #92475 from AThousandShips/string_replace_char
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 10:18:16 -05:00
Thaddeus Crews
3e9f624b0b Merge pull request #103791 from BrotherShort/scenetree_item_text_display
Fix SceneTree Item text display bug in Right-to-Left
2025-04-10 10:18:15 -05:00
Thaddeus Crews
6fce829fce Merge pull request #105007 from Aziroshin/dev/aziroshin/comment-after-region-not-folding-102382
[CodeEdit] Fix folding for comments mixed with code region tags.
2025-04-10 10:18:14 -05:00
Thaddeus Crews
504036466b Merge pull request #102878 from Giganzo/tree-jiggle
Fix Tree buttons jiggle on horizontal scrolling
2025-04-10 10:18:11 -05:00
A Thousand Ships
889410dcda Add String::replace_char(s) methods for performance and convenience 2025-04-10 13:08:45 +02:00
bruvzg
aa0ade5b49 [TextEdit / LineEdit] Add support for OEM Alt codes input. 2025-04-10 08:52:19 +03:00
Thaddeus Crews
45fb66f4b0 Merge pull request #104632 from ibrahn/popup-menu-mouseover-calc
Fix and simplify hit calculation in `PopupMenu::_get_mouse_over`.
2025-04-09 18:11:58 -05:00
Thaddeus Crews
6e0af7d083 Merge pull request #105005 from beicause/pctex-fix-basis-crash
PortableCompressedTexture: Fix BasisU crash and wrong format
2025-04-09 18:11:57 -05:00
Thaddeus Crews
c6394a1b8b Merge pull request #104357 from FilipeAlexCosta/control-set-position
Fix `Control.set_position` resizes offsets/anchors
2025-04-09 18:11:55 -05:00
Thaddeus Crews
171187d1aa Merge pull request #101011 from aaronfranke/limit-max-contacts-reported
Place a hard limit on the `max_contacts_reported` property in 2D/3D physics
2025-04-09 18:11:53 -05:00
Thaddeus Crews
36a135ca62 Merge pull request #104451 from WinnerWind/fix_resized_logic_for_control
Fix excessively calling resized and floating point errors in Control.
2025-04-09 18:11:35 -05:00
Thaddeus Crews
c7fc877895 Merge pull request #101745 from Rindbee/remove-is_top_level_control
Remove confusing `Control::is_top_level_control()`
2025-04-09 08:51:46 -05:00
Thaddeus Crews
614230566f Merge pull request #105174 from bruvzg/anim_err
Remove error print in the Animation getter.
2025-04-09 08:51:42 -05:00
Thaddeus Crews
5a84a5da1d Merge pull request #102346 from KoBeWi/folding_whalegacy
Add `FoldableContainer`
2025-04-09 08:51:38 -05:00
Cruglet
1a1711f1ee Add middle-click removing for TabBars
Added a boolean option field to enable the firing of the "tab_close_pressed" signal when middle clicking on a tab.
2025-04-09 07:56:09 -04:00
Julian Todd
daf8eee9cb fix for stereo panning adding _calc_output_vol_stereo issue 103989 2025-04-09 11:02:04 +01:00
Pāvels Nadtočajevs
33af291421 Remove error print in the Animation getter. 2025-04-09 09:34:26 +03:00
kobewi
13741ff913 Add FoldableContainer
Co-authored-by: WhalesState <whalesstate@gmail.com>
2025-04-08 22:27:32 +02:00
Thaddeus Crews
e6a61b1ecc Merge pull request #76829 from bruvzg/ac_kit_direct
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
Thaddeus Crews
6fe4d8d0f8 Merge pull request #104082 from YYF233333/dict_iter
Do not iterate `Dictionary` with `get_key_at_index`
2025-04-08 12:32:45 -05:00
Pāvels Nadtočajevs
b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
Aziroshin
40b7931279 [CodeEdit] Fix folding for comments mixed with code region tags.
Co-authored-by: Kit Bishop <kitbdev@gmail.com>
2025-04-07 20:50:54 +02:00
Pāvels Nadtočajevs
f37fb49739 Add separate minimize_disabled and maximize_disabled window flags. 2025-04-07 18:58:11 +03:00
Yufeng Ying
bbc380b07e Do not iterate Dictionary with get_key_at_index. 2025-04-07 21:54:13 +08:00
Thaddeus Crews
0fbb22c095 Merge pull request #104432 from YYF233333/dict_iter2
Do not iterate `Dictionary` with `Dictionary::keys()`
2025-04-07 08:43:33 -05:00
Thaddeus Crews
45a64319e1 Merge pull request #104771 from Repiteo/ci/pre-commit-bump
CI: Bump various pre-commit hooks
2025-04-07 08:43:27 -05:00
Thaddeus Crews
499d70c1b0 Merge pull request #105024 from JulianHeuser/fix-tileset-custom-data
Fix editing custom data for tilesets
2025-04-07 08:43:25 -05:00
Thaddeus Crews
a753cb90c1 Merge pull request #105006 from beicause/pctex-support-comp-image-astc
PortableCompressedTexture: Support ASTC format and creating directly from compressed image
2025-04-07 08:43:23 -05:00
Thaddeus Crews
b7c452a36d Merge pull request #104614 from kleonc/control_layout_mode_fallback_to_valid_value
Fallback `Control.layout_mode` to valid mode when child of non-container control
2025-04-07 08:43:22 -05:00
Thaddeus Crews
cd234eae45 Merge pull request #104984 from KoBeWi/ETH
Fix wrong translation method in FileDialog
2025-04-07 08:43:20 -05:00
Thaddeus Crews
5edb235018 CI: Bump various pre-commit hooks 2025-04-07 08:23:35 -05:00
smix8
33fe4a2d87 Combined TileMapLayer debug quadrant shapes to a surface
Create a combined mesh surface for all mesh faces and mesh lines in the TileMapLayer debug quadrant. Before it created a new mesh surface for each shape crashing into the mesh surface limit of 256 quickly.
2025-04-06 19:08:53 +02:00
LuoZhihao
572a15e4b2 PortableCompressedTexture: Support ASTC format and creating directly from compressed image 2025-04-05 18:44:36 +08:00
Yufeng Ying
8ae16699c5 Do not use Dictionary::keys() for Dictionary iteration. 2025-04-05 18:42:13 +08:00
Julian
38305a2ad0 Fix editing custom data for tilesets 2025-04-04 14:28:01 -04:00
Riteo
84d3adcf2f Wayland: Implement native sub-windows
The backend is now mature enough to not explode with multiple windows
but the `DisplayServer` API still cannot meet some guarantees required
by the various Wayland protocols we use. To meet those guarantees this
patch adds three new elements to the DisplayServer API, with relative
handling logic for `Window` and `Popup` nodes:

 - `WINDOW_EVENT_FORCE_CLOSE`, which tells a window to *forcefully*
close itself and ensure a proper cleanup of its references, as Wayland
enforces this behavior;

 - `WINDOW_FLAG_POPUP_WM_HINT`, which explicitly declares a window as a
"popup", as Wayland enforces this distinction and heuristics are not
reliable enough;

 - `FEATURE_SELF_FITTING_WINDOWS`, which signals that the compositor can
fit windows to the screen automatically and that nodes should not do
that themselves.

Given the size of this feature, this patch also includes various
`WaylandThread` reworks and fixes including:

 - Improvements to frame wait logic, with fixes to various stalls and a
configurable (through a `#define`) timeout amount;

 - A proper implementation of `window_can_draw`;

 - Complete overhaul of pointer and tablet handling. Now everything is
always accumulated and handled only on each respective `frame` event.
This makes their logic simpler and more robust.

 - Better handling of pointer leaving and pointer enter/exit event
sending;

 - Keyboard focus tracking;

 - More solid window references using IDs instead of raw pointers as
windows can be deleted at any time;

 - More aggressive messaging to window nodes to enforce rects imposed by
the compositor.
2025-04-04 20:23:25 +02:00
LuoZhihao
505fa4226a PortableCompressedTexture: Fix BasisU crash and wrong format 2025-04-04 15:16:24 +08:00
Thaddeus Crews
cba1afd63a Merge pull request #103639 from TokageItLab/delta-modifiers
Add `delta` argument to `_process_modification()` as `_process_modification_with_delta(delta)` and expose `advance()` at `Skeleton3D`
2025-04-03 16:50:23 -05:00
Thaddeus Crews
9bbda47794 Merge pull request #104776 from BrotherShort/TextEdit-VScroll-max-tolerance
Fix TextEdit VScroll max tolerance
2025-04-03 16:50:14 -05:00