+/*
+ Copyright (C) 2024 Rubén Beltrán del Río
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see https://captura.tranquil.systems.
+ */
import SwiftUI
struct OutputSettings: View {
-
+
@AppStorage("outputFormats") var outputFormats: OutputFormatSetting = .all
@AppStorage("frameRate") var frameRate = 10.0
-
+
+ private var anyState: String { "\(outputFormats), \(frameRate)" }
+
var body: some View {
Form {
- VStack (alignment: .center) {
+ VStack(alignment: .center) {
LabeledContent("GIF Framerate") {
- Slider(value: $frameRate, in: 4...10, step: 1) {
+ Slider(value: $frameRate, in: 4...10, step: 1) {
Text("\(Int(frameRate))").font(.body).frame(width: 24)
} minimumValueLabel: {
Text("4")
.tag(OutputFormatSetting.gifOnly)
.padding(.horizontal, 4.0)
.padding(.vertical, 2.0)
-
+
Text("Only MP4")
.tag(OutputFormatSetting.mp4Only)
.padding(.horizontal, 4.0)
}
Spacer()
}
+ .onChange(of: anyState) { _ in
+ NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil)
+ }
}
}