2
0
Эх сурвалжийг харах

config(qemu): display usb option when usb is not available

osy 2 долоо хоног өмнө
parent
commit
d8242fe7e6

+ 4 - 2
Platform/Shared/VMConfigInputView.swift

@@ -18,12 +18,14 @@ import SwiftUI
 
 struct VMConfigInputView: View {
     @Binding var config: UTMQemuConfigurationInput
-    
+    let hasUsbSupport: Bool
+
     var body: some View {
         VStack {
             Form {
                 DetailedSection("USB", description: "If enabled, the default input devices will be emulated on the USB bus.") {
                     VMConfigConstantPicker("USB Support", selection: $config.usbBusSupport)
+                        .disabled(!hasUsbSupport)
                 }
                 
                 #if WITH_USB
@@ -99,7 +101,7 @@ struct VMConfigInputView_Previews: PreviewProvider {
     @State static private var config = UTMQemuConfigurationInput()
     
     static var previews: some View {
-        VMConfigInputView(config: $config)
+        VMConfigInputView(config: $config, hasUsbSupport: true)
             #if os(macOS)
             .scrollable()
             #endif

+ 1 - 1
Platform/iOS/VMSettingsView.swift

@@ -59,7 +59,7 @@ struct VMSettingsView: View {
                                 .labelStyle(.roundRectIcon)
                         })
                     NavigationLink(
-                        destination: VMConfigInputView(config: $config.input).navigationTitle("Input"),
+                        destination: VMConfigInputView(config: $config.input, hasUsbSupport: config.system.architecture.hasUsbSupport).navigationTitle("Input"),
                         label: {
                             Label("Input", systemImage: "keyboard")
                                 .labelStyle(.roundRectIcon)

+ 1 - 1
Platform/macOS/VMQEMUSettingsView.swift

@@ -59,7 +59,7 @@ struct VMQEMUSettingsView: View {
             }
         }
         NavigationLink {
-            VMConfigInputView(config: $config.input)
+            VMConfigInputView(config: $config.input, hasUsbSupport: config.system.architecture.hasUsbSupport)
                 .scrollable()
                 .settingsToolbar()
         } label: {