Add global Wine preferences tab
Phase 3 of the Wine/Proton stage (decisions 6, 9, 13, 19 in docs/testing/wine-proton.md): a global-only Wine tab modeled on the Pronunciation page, with the controller-only checkbox and a typed editable program list. Wine values flow through the preferences protocol so a global Apply reaches the live Wine settings from Phase 2 with no reader restart. Entries are validated as edited and named in-tab, blocking Apply until fixed; case-insensitive duplicates collapse. Per-application preferences expose no Wine editing and an app-scoped Apply cannot change the governing list.
This commit is contained in:
1 parent
dc6a961032
commit
75f34ea767
15 files changed
+543
-5
No files matched your search
@@ -317,6 +317,16 @@
|
||||
</object></child>
|
||||
</object></child>
|
||||
<child type="tab"><object class="GtkLabel"><property name="label">Tentacles</property></object></child>
|
||||
|
||||
<child><object class="GtkBox" id="wine_page"><property name="orientation">vertical</property><property name="border-width">12</property><property name="spacing">8</property>
|
||||
<child><object class="GtkCheckButton" id="wineControllerOnlyCheckButton"><property name="label">_Controller-only mode for all Wine applications</property><property name="use-underline">True</property><property name="can-focus">True</property></object></child>
|
||||
<child><object class="GtkLabel"><property name="label">Listed programs keep controller speech but lose standard control reading. Type executable names only, for example Game.exe. Do not type a path.</property><property name="wrap">True</property><property name="xalign">0</property></object></child>
|
||||
<child><object class="GtkLabel" id="wineValidationLabel"><property name="label"></property><property name="wrap">True</property><property name="xalign">0</property></object></child>
|
||||
<child><object class="GtkLabel"><property name="label">Controller-only _programs:</property><property name="use-underline">True</property><property name="mnemonic-widget">wineTreeView</property><property name="xalign">0</property></object></child>
|
||||
<child><object class="GtkScrolledWindow"><property name="expand">True</property><child><object class="GtkTreeView" id="wineTreeView"><property name="can-focus">True</property></object></child></object></child>
|
||||
<child><object class="GtkButtonBox"><property name="layout-style">end</property><child><object class="GtkButton" id="wineAddButton"><property name="label">_New</property><property name="use-underline">True</property><property name="can-focus">True</property></object></child><child><object class="GtkButton" id="wineDeleteButton"><property name="label">_Delete</property><property name="use-underline">True</property><property name="can-focus">True</property></object></child></object></child>
|
||||
</object></child>
|
||||
<child type="tab"><object class="GtkLabel"><property name="label">Wine</property></object></child>
|
||||
</object>
|
||||
</child>
|
||||
<child><object class="GtkLabel" id="status_label"><property name="label">_Status</property><property name="use-underline">True</property><property name="mnemonic-widget">status</property><property name="xalign">0</property></object></child>
|
||||
|
||||
Reference in new issue
Block a user