Commit Graph
14 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5 ea1ad8ffed UI: Tab and Shift+Tab move focus through the view hierarchy
Unlike the directional moves, this doesn't look at where anything ended up on
screen - it walks the hierarchy in the order views were added, flattening nested
groups in place. That's what makes it predictable in the layouts where "what's
to the right of this" has no good answer.

A view is a stop if it's focusable and enabled, the same test the directional
moves apply, so the two agree on what's reachable. Hidden subtrees are skipped
whole, which is what keeps a TabHolder's inactive tabs - V_GONE rather than
removed - out of the order without any special casing. Containers are gated on
visibility only, not enabled, matching Key/Touch/Axis: disabling a container
doesn't stop its children being interactive anywhere else either.

Ctrl+Tab stays with ChoiceStrip, which uses it to switch tabs.

focusMoves now holds FocusMove rather than raw keycodes, so the direction is
decided in one place while the modifiers are still around, and a held key
repeats in the direction it was originally pressed with - the synthesized repeat
has no modifiers of its own. That also retires the keycode switch in
UpdateViewHierarchy and IsScrollKey, which had no other callers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SfY7iFJEjmRXf1XGrTs4MF
2026-08-27 20:52:20 +02:00
Henrik Rydgård e4b90c0471 Fix issue with chat button / DevMenu button becoming focusable
This made gameplay a bit difficult when these buttons were enabled.
2026-08-07 06:56:52 +02:00
Henrik Rydgård a4a6780b36 Some code simplification 2026-06-24 22:13:31 +02:00
Henrik Rydgård 3a599c4714 Fix audio focus issue by tracking the cause of lost focus.
Fixes #21643
2026-05-06 00:06:32 +02:00
Henrik Rydgård 75453632f9 Handle inset adjustements on the C++ side, handle them better in the UI. 2026-03-14 18:13:37 +01:00
Henrik Rydgård e2e4ceb525 Fix UI alignment problem on pause screen 2025-11-04 11:06:06 +01:00
Henrik Rydgård 42a44e4243 Improve inset handling 2025-10-28 14:54:28 +01:00
Henrik Rydgård 1514df8e3a Add a much more usable back button to Settings screen in portrait mode 2025-10-23 13:48:41 +02:00
Henrik Rydgård cf90b24431 Add UI volume setting (affecting navigation sounds and preview audio). Convert alt speed volume into a 100-step percentage. 2025-02-11 17:42:09 -06:00
Henrik Rydgård 43d780b552 Fix issue where achievement sounds didn't play if UI Sounds were off.
These are meant to be unrelated.
2023-07-16 21:43:49 +02:00
Henrik Rydgård 5023f2cb6c Fix key event processing issue.
Fixes #17712
2023-07-14 12:01:38 +02:00
Henrik Rydgård af92430b18 Achievement Unlocked and Leaderboard Submitted sound effects 2023-07-12 19:55:53 +02:00
Henrik Rydgård 3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Henrik Rydgård 4f43cff5ca Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00