X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/8e9321304ca80e9ada7ac01058a5f4603cb37fab..377442f2f1f0f08bc525393c9bd1c84f159c5159:/Captura/Presentation/Settings/AdvancedSettings.swift?ds=inline diff --git a/Captura/Presentation/Settings/AdvancedSettings.swift b/Captura/Presentation/Settings/AdvancedSettings.swift index 8799436..66314b4 100644 --- a/Captura/Presentation/Settings/AdvancedSettings.swift +++ b/Captura/Presentation/Settings/AdvancedSettings.swift @@ -1,13 +1,16 @@ import SwiftUI +import CloudStorage struct AdvancedSettings: View { - @AppStorage("backendUrl") var backendUrl: String = "" - @AppStorage("backendFormat") var outputFormats: OutputFormatSetting = .gifOnly - @AppStorage("keepFiles") var keepFiles = true - @AppStorage("allowURLAutomation") var allowURLAutomation = false + @CloudStorage("backendUrl") var backendUrl: String = "" + @CloudStorage("backendFormat") var backendFormat: OutputFormatSetting = .gifOnly + @CloudStorage("keepFiles") var keepFiles = true + @CloudStorage("allowURLAutomation") var allowURLAutomation = false @State var showConfirmation = false + private var anyState: String { "\(backendUrl), \(backendFormat), \(keepFiles), \(allowURLAutomation)" } + var parsedBackendUrl: URL? { URL(string: backendUrl) } @@ -21,7 +24,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 +75,9 @@ struct AdvancedSettings: View { Spacer() } } + .onChange(of: anyState) { _ in + NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil) + } } }