]> git.r.bdr.sh - rbdr/captura/blobdiff - Captura/Presentation/Settings/OutputSettings.swift
Attempt more AppleScript support
[rbdr/captura] / Captura / Presentation / Settings / OutputSettings.swift
index 3b8e01cee8118f12d7a5f3ae2c26832e90893f35..cce34ead395f64153bd52c3a7f587745310ab140 100644 (file)
@@ -1,20 +1,23 @@
 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 {
-      VStack (alignment: .leading) {
+      VStack (alignment: .center) {
         LabeledContent("GIF Framerate") {
           Slider(value: $frameRate,  in: 4...10, step: 1) {
             Text("\(Int(frameRate))").font(.body).frame(width: 24)
           } minimumValueLabel: {
             Text("4")
           } maximumValueLabel: {
-            Text("12")
+            Text("10")
           }
         }.font(.headline)
         Picker(selection: $outputFormats, label: Text("Output Formats").font(.headline)) {
@@ -33,6 +36,10 @@ struct OutputSettings: View {
             .padding(.vertical, 2.0)
         }.pickerStyle(.radioGroup)
       }
+      Spacer()
+    }
+    .onChange(of: anyState) { _ in
+      NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil)
     }
   }
 }