]> git.r.bdr.sh - rbdr/captura/blobdiff - Captura/Presentation/Settings/AdvancedSettings.swift
Add multimonitor support
[rbdr/captura] / Captura / Presentation / Settings / AdvancedSettings.swift
index 8799436781ff8a7a4e86bcde88b5a0faf12feecc..cf5794e53e753b188172c983510b07a904397aa8 100644 (file)
@@ -3,11 +3,13 @@ import SwiftUI
 struct AdvancedSettings: View {
   
   @AppStorage("backendUrl") var backendUrl: String = ""
-  @AppStorage("backendFormat") var outputFormats: OutputFormatSetting = .gifOnly
+  @AppStorage("backendFormat") var backendFormat: OutputFormatSetting = .gifOnly
   @AppStorage("keepFiles") var keepFiles = true
   @AppStorage("allowURLAutomation") var allowURLAutomation = false
   @State var showConfirmation = false
   
+  private var anyState: String { "\(backendUrl), \(backendFormat), \(keepFiles), \(allowURLAutomation)" }
+  
   var parsedBackendUrl: URL? {
     URL(string: backendUrl)
   }
@@ -21,7 +23,7 @@ struct AdvancedSettings: View {
               TextField("", text: $backendUrl).font(.body)
             }.font(.headline)
               .help("The Backend URL to use. If this is empty, no backend will be used and the options below won't have an effect.")
-            Picker(selection: $outputFormats, label: Text("Backend Format").font(.headline)) {
+            Picker(selection: $backendFormat, label: Text("Backend Format").font(.headline)) {
               Text("GIF")
                 .tag(OutputFormatSetting.gifOnly)
                 .padding(.horizontal, 4.0)
@@ -72,6 +74,9 @@ struct AdvancedSettings: View {
         Spacer()
       }
     }
+    .onChange(of: anyState) { _ in
+      NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil)
+    }
   }
 }