diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2023-08-02 10:30:51 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2023-08-02 10:30:51 +0200 |
| commit | 377442f2f1f0f08bc525393c9bd1c84f159c5159 (patch) | |
| tree | ab7f62cda14f1d85a30e65b130cf289f3a04947b /Captura/Presentation | |
| parent | 8e9321304ca80e9ada7ac01058a5f4603cb37fab (diff) | |
Add AppleScript support
Diffstat (limited to 'Captura/Presentation')
| -rw-r--r-- | Captura/Presentation/Settings/AdvancedSettings.swift | 16 | ||||
| -rw-r--r-- | Captura/Presentation/Settings/OutputSettings.swift | 10 |
2 files changed, 19 insertions, 7 deletions
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) + } } } diff --git a/Captura/Presentation/Settings/OutputSettings.swift b/Captura/Presentation/Settings/OutputSettings.swift index df12541..cce34ea 100644 --- a/Captura/Presentation/Settings/OutputSettings.swift +++ b/Captura/Presentation/Settings/OutputSettings.swift @@ -1,9 +1,12 @@ import SwiftUI +import CloudStorage struct OutputSettings: View { - @AppStorage("outputFormats") var outputFormats: OutputFormatSetting = .all - @AppStorage("frameRate") var frameRate = 10.0 + @CloudStorage("outputFormats") var outputFormats: OutputFormatSetting = .all + @CloudStorage("frameRate") var frameRate = 10.0 + + private var anyState: String { "\(outputFormats), \(frameRate)" } var body: some View { Form { @@ -35,6 +38,9 @@ struct OutputSettings: View { } Spacer() } + .onChange(of: anyState) { _ in + NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil) + } } } |