All tabs except the crash history (a list of reports) are now SettingsPages,
so Developer Tools gets the same search as the game settings. Untranslated
texts like the HLE module names use the new SettingText::Raw, which keeps
them out of the translation lookup.
Building a page no longer has side effects: the debugger and tracer state
are read in PreCreateViews, and a stereo shader setting's value is only added
to the config when its slider is created.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Buttons, float sliders, slider steps and units, negative labels, a disabled
pointer, a separate category for choice names, and a setup callback for
one-off tweaks. CreateSettingView is now public, so single items can be
created (for search results), and CreateSettingViews can report the view
created for each item.
Also fixes the no-default slider assert, where NO_DEFAULT_INT was ambiguous
between the UI and config ones.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds SettingsPage, a list of setting items (header, bool, int/string
choice, int slider, info, hint, or a custom view) that keeps its texts as
translation keys. CreateSettingViews() turns a page into the same widgets as
before. Since a page can be built without creating any views, search can
later work from it directly, in English as well as translated.
Slider defaults come from the config's own defaults unless given. The Audio
tab is the first one converted, and looks the same as before.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>