Commit Graph

149 Commits

Author SHA1 Message Date
Rémi Verschelde 4326946f00 Merge pull request #115732 from akien-mga/scene-main-debugger-includes
Tidy up includes in `scene/main` and `scene/debugger`
2026-02-20 11:16:35 +01:00
Rémi Verschelde 1c12d2c36e Tidy up includes in scene/main and scene/debugger 2026-02-19 15:09:29 +01:00
Pāvels Nadtočajevs 876dcc8a5d [Accessibility] Handle adapter activation/deactivation. 2026-02-18 16:54:40 +02:00
Lukas Tenbrink c9249346c4 Change HashSet copy constructor from implicit to explicit. 2026-02-16 23:10:33 +01:00
Thaddeus Crews 2f06af10e6 Merge pull request #106560 from SheepYhangCN/taskbar-progress-state
Add taskbar progress and state support for Windows & macOS
2026-02-16 10:19:21 -06:00
Josh Jones b8389cc76b Support output to HDR monitors
Co-authored-by: Alvin Wong <alvinhochun@gmail.com>
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
2026-02-11 22:13:26 -07:00
SheepYhangCN 851faa08d8 Add taskbar progress and state support for Windows & macOS
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2026-02-09 19:48:53 +08:00
Adam Scott 263589497b Add non-public {Line,Text}Edit::_set_text()
- [Web] Fix "Enter" not triggering LineEdit submits.

Co-authored-by: Marwen Azouzi <marwen.azouzi@datadoghq.com>
2026-01-01 12:00:52 +01:00
Pāvels Nadtočajevs e68b2436ee [Editor] Simplify native menu icon generation. 2025-11-27 23:04:51 +02:00
Thaddeus Crews 5afc01c46d Merge pull request #112604 from bruvzg/pop_center_rec
Update rect after `_pre_popup` in `popup_centered_*`.
2025-11-25 09:52:38 -06:00
Thaddeus Crews bbe9654327 Merge pull request #111484 from HolonProduction/rm-debugger-shortcut
Remove unused `Window::debugger_stop_shortcut`
2025-11-24 10:21:47 -06:00
Pāvels Nadtočajevs adf18ff44d Update rect after _pre_popup in popup_centered_*. 2025-11-10 11:24:37 +02:00
Pāvels Nadtočajevs 101fbbbd1f [Window] Add unfiltered input handler signal for custom decorations. 2025-10-12 21:15:46 +03:00
HolonProduction 3979817caf Remove unused Window::debugger_stop_shortcut 2025-10-10 20:16:48 +02:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Pāvels Nadtočajevs 7b47f5e8db [Accessibility] Process non-focusable windows (popups, menus) as part of the parent window tree. 2025-08-17 12:15:08 +03:00
Pāvels Nadtočajevs 2111ff0e2a Fix menu keyboard and controller navigation. 2025-07-21 10:03:07 +03:00
Thaddeus Crews 353bd80c91 Merge pull request #107581 from timothyqiu/window-title-update
Fix game view window not updating title when translation changes
2025-06-18 18:13:50 -05:00
Pāvels Nadtočajevs 34a97f9c9b Fix scale and position of popups with force_native. 2025-06-16 13:03:42 +03:00
Haoyu Qiu 0a1fa10315 Fix game view window not updating title when translation changes 2025-06-16 09:35:25 +08:00
Pāvels Nadtočajevs 12d957e737 Call PopupMenu min. size calculations after about_to_popup signal processing. 2025-06-11 12:23:29 +03:00
Pāvels Nadtočajevs aff5b413aa Move some accessibility properties from Node to Control 2025-06-08 16:25:28 +03:00
Pāvels Nadtočajevs 4afeca3bcf Replace global oversampling with overrideable per-viewport oversampling. 2025-04-14 13:43:09 +03: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
Pāvels Nadtočajevs b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
Pāvels Nadtočajevs f37fb49739 Add separate minimize_disabled and maximize_disabled window flags. 2025-04-07 18:58:11 +03: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
Rémi Verschelde 7b21950fb0 Merge pull request #103751 from bruvzg/glob_menu_icons_theme
[Editor] Change global menu icons theme independently of editor theme.
2025-03-19 12:26:57 +01:00
Pāvels Nadtočajevs d990f594a0 Sync display/window/size/initial_position_type and Window::WINDOW_INITIAL_POSITION_ enum. 2025-03-11 08:33:02 +02:00
Thaddeus Crews 324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Pāvels Nadtočajevs fd98c963ba [Editor] Change global menu icons theme independently of editor theme. 2025-03-07 08:59:52 +02:00
Rémi Verschelde 65cf7c1d5e Merge pull request #101221 from bruvzg/win_dec_exp
[Window] Expose `start_drag` and `start_resize` methods (for both native and embedded windows).
2025-01-09 11:17:24 +01:00
Rémi Verschelde b194e050d7 Merge pull request #91333 from YeldhamDev/working_on_this_felt_like_constantly_walking_into_rakes
Make `PopupMenu/Panel` shadows properly visible again
2025-01-07 23:17:02 +01:00
Pāvels Nadtočajevs 8d911b2554 [Window] Expose start_drag and start_resize methods (for both native and embedded windows). 2025-01-07 23:35:14 +02:00
bruvzg 9fece033ab [macOS, Windows] Add support for excluding windows from a screenshot. 2024-12-10 11:00:13 +02:00
Michael Alexsander f7f6432af6 Make PopupMenu/Panel shadows properly visible again 2024-12-02 14:20:58 -03:00
kobewi e0304a7d00 Add helper method to get Window from ID 2024-11-29 21:15:23 +01:00
Pāvels Nadtočajevs 932b2269f8 Fix missing native file dialog title translation. 2024-11-14 14:48:52 +02:00
Adam Scott 0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Thaddeus Crews 7dbea98c49 Merge pull request #97005 from Repiteo/core/window-corner-style
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 -05:00
Thaddeus Crews f8c4a683d7 Core: Add DisplayServer flag for sharp corners 2024-10-18 11:20:21 -05:00
Haoyu Qiu 009446a277 Add System Locale layout direction for Control and Window 2024-10-17 07:52:07 +08:00
Markus Sauermann 60aaa017ff Enable Drag and Drop for SubViewports and Windows
Make Drag and Drop an application-wide operation.
This allows do drop on Controls in other Viewports/Windows.

In order to achieve this, `Viewport::_update_mouse_over` is adjusted to
remember the Control, that the mouse is over (possibly within nested
viewports). This Control is used as a basis for the Drop-operation, which
replaces the previous algorithm, which was only aware of the topmost
Viewport.

Also now all nodes in the SceneTree are notified about the Drag and Drop
operation, with the exception of SubViewports that are not children of
SubViewportContainers.
2024-09-15 01:06:02 +02:00
rune-scape 0dde931bc9 StringName: Fix empty hash
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
bruvzg 19839d9553 Fix Window position preview in the editor. 2024-05-29 11:56:06 +03:00
bruvzg cfdb968848 [Window] Allow to override viewport and project settings and force use of native window. 2024-03-04 23:06:27 +02:00
Rémi Verschelde 3ce9ae71fc Merge pull request #84906 from /fix-some-defvals 2024-02-23 11:29:22 +01:00
Raul Santos 5ba92e5a57 Fix some DEFVALs to use the right type
- Use `StringName()` in DEFVAL for StringNames.
- Use `Variant()` in DEFVAL for Variants.
2024-02-23 01:50:18 +01:00
Michael Alexsander 584a6aeeb7 Revert "Fix NOTIFICATION_WM_SIZE_CHANGED firing if the size hasn't changed"
This reverts commit 957378a69e, reversing
changes made to 0d88840e81.
2024-02-21 15:37:53 -03:00
Michael Alexsander 7b42c24550 Make auto translation inheritable 2024-02-15 16:51:19 -03:00