Commit Graph

6682 Commits

Author SHA1 Message Date
4310cb82b8 AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +03:00
1b9f269700 Merge pull request #105015 from syntaxerror247/improve-touchActionsPanel
Android Editor: Add an editor setting to enable/disable `TouchActionsPanel`
2025-04-07 08:43:24 -05:00
b462db5adb Android: Hardware keyboard connection status callback
Adds a DisplayServer method to register hardware keyboard connection change callback.
2025-04-05 08:14:29 +05:30
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
6bd249a4c2 Merge pull request #104850 from Repiteo/core/warning-macros
Core: Integrate warning suppression macro helpers
2025-04-03 16:50:22 -05:00
65129d2aa2 [macOS] Fix native menu submenu items have wrong action and accelerators set. 2025-04-03 18:47:23 +03:00
207a2b6472 Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
6392241742 Merge pull request #104959 from bruvzg/kde_swap
Linux: Detect KDE/LXQt and swap OK/Cancel buttons to Windows style.
2025-04-03 09:27:56 -05:00
52009b52d2 Detect KDE/LXQt and swap OK/Cancel buttons to Windows style. 2025-04-03 12:47:11 +03:00
2800948d61 Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
1f56d96cf2 Merge pull request #104893 from Repiteo/scons/external-includes-alt
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
4638ade13f Enable TTS on demand, instead of fully disabling it when project setting is not set. 2025-04-01 15:24:46 +03:00
abd565eb19 Merge pull request #104844 from Ivorforce/gdsoftclass
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
fa0a3c9c6e Add and require GDSOFTCLASS for Object subclasses that want to cast but do not use GDCLASS. 2025-03-31 20:49:50 +02:00
64f80ca0e9 Merge pull request #104810 from kiroxas/utf8_cleanup
Replace `append_utfx` with direct `String::utfx`
2025-03-31 12:03:44 -05:00
23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
138e990262 Replace the deprecated version macro 2025-03-30 18:00:19 +08:00
780cf03051 Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
7a28334596 SCons: Ensure MinGW as fallback if missing MSVC 2025-03-29 10:14:20 -05:00
be1333dc0a Merge pull request #97002 from bruvzg/mbchar_iconv
Add methods to decode/encode multibyte encodings.
2025-03-28 17:29:47 +01:00
3b90bb56ad Merge pull request #89782 from KoBeWi/stdArrayList
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00
48bfe13e4f Add methods to decode/encode multibyte encodings. 2025-03-28 17:32:34 +02:00
0419c92705 Merge pull request #104644 from bruvzg/macos_sync_mb
[macOS] Release keys and regenerate mouse events after native popup menu tracking.
2025-03-28 14:33:34 +01:00
3f82efa65d Merge pull request #104613 from zaevi/caching_csharp_tfm_validation
[.NET] Add caching for dotnet TFM validation result
2025-03-28 14:33:14 +01:00
e9d827b440 Merge pull request #103173 from m4gr3d/fix_prebuilt_manifest_config
Updates and fixes to the Android prebuilt export logic
2025-03-28 14:31:57 +01:00
fceae7ed89 Merge pull request #103000 from rburing/tell_me_WHICH_keystore
When code signing, specify which keystore is not found
2025-03-28 14:31:52 +01:00
0a502d31dc Merge pull request #94689 from Cliear/master
[Windows] Fix issue where newly created window incorrectly acquired the popup property.
2025-03-28 14:31:05 +01:00
9dfa751425 [Windows] Fixed the issue where newly created window incorrectly acquired the popup property on Windows. 2025-03-28 04:10:03 +08:00
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
5665e55f9a [macOS] Fix running with DisplayServerHeadless. 2025-03-27 15:08:07 +02:00
75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
Zae
e3373ed0a4 Add caching for dotnet TFM validation result 2025-03-26 22:43:17 +08:00
d1edf66a13 [macOS] Release keys and regenerate mouse events after native popup menu tracking. 2025-03-26 12:18:55 +02:00
698ff2a192 [macOS] Fix cleanup with some command line tools. 2025-03-25 18:41:20 +02:00
c3ecb72c3a Merge pull request #104397 from bruvzg/mac_main_loop
[macOS] Replace custom main loop with `[NSApp run]` and `CFRunLoop` observer.
2025-03-25 11:09:02 -05:00
bf1c2583f4 Merge pull request #101954 from bruvzg/uid_deref
[Export] Convert `uid://` names to `res://` when exporting files.
2025-03-24 10:01:07 -05:00
d35e22ff22 Merge pull request #104415 from zlago/patch-1
Export: Change unportable `echo` in the Linux/macOS debug launcher script
2025-03-24 10:00:57 -05:00
a317ce75a6 [macOS] Replace custom main loop with [NSApp run] and CFRunLoop observer. 2025-03-24 10:31:16 +02:00
1cb3cfaa8e Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
f09ee0171a Style: Begin integrating simple .clangd fixes 2025-03-22 13:24:35 -05:00
7e0ede1a16 change unportable echo in the linux/macos debug launcher script
`-n` and `-e` are not guaranteed to be supported by posix `echo`
2025-03-21 17:31:37 +01:00
f7dfd64cc0 Merge pull request #104409 from syntaxerror247/mute-game
Add support for `Mute Game` toggle in the Android Editor
2025-03-21 13:04:15 +01:00
3e3cf292bd Merge pull request #104377 from Mickeon/translation-slight-duplicates
Tweak a few miscellaneous localization strings
2025-03-21 13:04:08 +01:00
afe68f672f Add support for "Mute Game" toggle in the Android Editor 2025-03-21 01:33:38 +05:30
622dbe3713 Web: Fix editor build after #pragma once refactoring 2025-03-20 18:43:16 +01:00
5d794f83ed Tweak a few miscellaneous localization strings 2025-03-20 13:12:44 +01:00
f3b6a4009d [Export] Convert uid:// names to res:// when exporting files. 2025-03-19 16:58:52 +02:00
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00