aboutsummaryrefslogtreecommitdiff
path: root/Captura/Presentation
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2023-08-02 10:30:51 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2023-08-02 10:30:51 +0200
commit377442f2f1f0f08bc525393c9bd1c84f159c5159 (patch)
treeab7f62cda14f1d85a30e65b130cf289f3a04947b /Captura/Presentation
parent8e9321304ca80e9ada7ac01058a5f4603cb37fab (diff)
Add AppleScript support
Diffstat (limited to 'Captura/Presentation')
-rw-r--r--Captura/Presentation/Settings/AdvancedSettings.swift16
-rw-r--r--Captura/Presentation/Settings/OutputSettings.swift10
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)
+ }
}
}