Henrik Rydgård and Claude 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
d849db6be5
Buildfix, remove redundant variable
2026-05-30 19:07:59 +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
eb476d522e
Rename FocusDirection to FocusMove, make into enum class
2026-04-14 18:17:54 -06:00
Henrik Rydgård
49d3d3dc37
Settings and dev settings: Preserve the current tab. Minor UI tweaks.
2026-04-06 12:09:40 -06:00
Henrik Rydgård
cfc5d74602
Some progress with server status UI
2026-03-30 11:34:19 -06:00
Henrik Rydgård
c3a78724c7
Add an on-screen keyboard in the popup inputbox
2026-02-26 17:17:42 +01:00
Henrik Rydgård
990cba8e6c
Fix problem with background image when rotating some dialogs
2026-02-09 14:35:32 +01:00
Henrik Rydgård
1ae76e871b
Partial game-info-screen rework
2025-11-15 20:44:14 +01:00
Henrik Rydgård
9de8e75709
AnchorLayout: Allow centering separately for horizontal and vertical
2025-11-10 12:10:08 +01:00
Henrik Rydgård
980ddb152b
UI fixes, add SimpleTextView (easier to reason about)
2025-11-09 08:52:20 +01:00
Henrik Rydgård
b45d07d6cb
Break out TabHolder from Common/UI/ViewGroup.cpp. A few new atlas images
2025-10-23 11:19:20 +02:00
Henrik Rydgård
58456ae950
Remove the UI::EventReturn return values. Makes editing the UI nicer.
2025-09-15 11:09:00 -06:00
Henrik Rydgård
4df25788fd
UI: Fix focus issue, thanks NABN00B.
...
Fixes #20217
2025-04-07 13:39:47 +02:00
Henrik Rydgård
ad260fa6a8
Implement lazy loading of tabs
2025-03-23 22:48:57 +01:00
Henrik Rydgård
4b977b43c2
TabHolder: Contents are always ViewGroups, let's enforce that.
2025-03-23 22:48:57 +01:00
Henrik Rydgård
76ce11ad2c
Remove a vector while keeping settings search working.
2025-03-23 22:48:57 +01:00
Henrik Rydgård
0ba92081ed
Add banner support to tab holders
2025-03-23 22:48:51 +01:00
Henrik Rydgård
8674488859
Android: Handle mouse events separately from touch events
...
Use the new modern events like HOVER.
2025-03-05 23:26:30 +01:00
Henrik Rydgård
863bef5f64
Give all views a bool popupStyle_, so they know the context.
2025-02-17 11:25:23 -06:00
Henrik Rydgård
88b4991753
UI fixes: Rework savedata manager a bit, default keyboard focus to Cancel in confirmation dialogs ( #19771 )
...
* Savedata manager screen: Use TabbedUIDialogScreenWithGameBackground
This fixes some minor UI issues on this screen.
* PromptScreen (used for "Are you sure?"): Default keyboard focus to Cancel
Fixes #19770
2024-12-28 10:36:05 +01:00
Henrik Rydgård
e0c12c9547
More lint warning fixes
2024-10-10 10:52:45 +02:00
Henrik Rydgård
3bb74ea9ad
Rework the JitCompare window to hold a list of blocks, and allow some filtering and browsing
2024-06-05 18:16:33 +02:00
Henrik Rydgård
455e28da6c
Rename Point to Point2D to avoid a cocoa name clash
2024-05-29 18:52:39 +02:00
Henrik Rydgård
1129000d8f
Add some asserts, small cleanup
2024-05-21 11:08:09 +02:00
Henrik Rydgård
c5791764d8
Make the i18n T function use std::string_view
...
Buildfixes, crashfixes
One more
Android buildfix
Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård
c29f81da36
Fix issue with the collapsible sections in control mapping collapsing on every change.
2024-01-29 17:57:01 +01:00
Henrik Rydgård
7a318b46e8
Draw the line between the tabs and contents as a spacer instead of custom code.
2024-01-19 14:56:29 +01:00
Henrik Rydgård
0e03b66a95
Make vertical tabs scrollable
2024-01-19 14:56:29 +01:00
Henrik Rydgård
9cb3d03098
Add categories for control bindings
2023-12-20 16:20:26 +01:00
Henrik Rydgård
5146a2a967
Remove modifyLock_ from ViewGroup
2023-11-11 11:25:41 +01:00
Henrik Rydgård
aa46d3aae3
UI: CollapsibleHeader no longer shows the open/close icon if there are no items
2023-07-23 11:11:44 +02:00
Henrik Rydgård
f8b7346b8d
Make the achievement lists collapsible on the main achievements screen
2023-07-16 18:13:36 +02:00
Henrik Rydgård
cbd012f522
Cleanups around focus moves
2023-07-06 16:13:25 +02:00
Henrik Rydgård
c27689910e
Break out ScrollView from ViewGroup.h, and PopupScreens from UIScreen.h
2023-01-11 10:56:31 +01:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
3e7f7ad8d7
Add CSS-style padding support to LinearLayout. Use to improve the look
2022-12-08 00:01:46 +01:00
Henrik Rydgård
82680633e7
More usability tweaks
2022-12-07 10:27:02 +01:00
Henrik Rydgård
b938992da4
Add a new centering capability to AnchorLayout
2022-12-03 19:13:21 +01:00
Henrik Rydgård
25e8f8385e
Redo the control UI screen layout, slightly update the look
2022-11-30 10:56:29 +01:00
Henrik Rydgård
20a337f25b
Initialization cleanup (no effect)
2022-11-30 10:15:36 +01:00
Henrik Rydgård
0a3d78221e
Fix drag-background-through-buttons problem by adding "touch exclusive" mode to viewgroups.
...
Not using universally because I don't want to debug all the issues...
2022-11-27 16:16:18 +01:00
iota97
561870dc25
Merge item and button style, remove hightlighed and few other fixes
2022-02-14 13:57:22 +01:00
Unknown W. Brackets
49c64e12d1
UI: Add a way to disable tabs in tab strips.
2021-10-19 10:01:52 -07:00
Unknown W. Brackets
931ba43216
UI: Remove scroll to top on size change.
...
It wasn't actually used anywhere, and I don't see a reason for it now.
2021-09-27 23:39:33 -07:00
Unknown W. Brackets
fc78b408b2
UI: Have scroll views directly remember their pos.
...
Kinda like checkboxes, cleaner this way.
2021-09-27 23:25:41 -07:00
iota97
c94e9ad73c
Support ScrollView for focus position
2021-09-10 02:06:51 +02:00
Unknown W. Brackets
e9ebd86439
UI: Fix scrollview focus scroll before relayout.
...
Need to use the position of the bounds as of last layout, not the new
desired position.
2021-08-29 17:35:58 -07:00
Unknown W. Brackets
cf22268bc1
UI: Fix grids in ScrollViews and adjust gravity.
2021-08-29 14:10:14 -07:00
Unknown W. Brackets
b52a495b96
UI: Handle focus on page up/down.
...
This moves keyboard focus along with paging, but it also only responds to
paging when already focused inside the scroll view.
2021-08-08 14:46:05 -07:00