aboutsummaryrefslogtreecommitdiff
path: root/Captura/Presentation/Settings
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2023-07-28 13:48:53 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2023-07-28 13:48:53 +0200
commitc9b9e1d654ea697afad9f6427d94623bfdf55cce (patch)
treea0095a75f2ba625f92923e72a9831740da989de7 /Captura/Presentation/Settings
parentf5d16c1c8c259966338b23afd407d142f72784aa (diff)
Add clipboard
Diffstat (limited to 'Captura/Presentation/Settings')
-rw-r--r--Captura/Presentation/Settings/AdvancedSettings.swift32
-rw-r--r--Captura/Presentation/Settings/OutputSettings.swift5
2 files changed, 29 insertions, 8 deletions
diff --git a/Captura/Presentation/Settings/AdvancedSettings.swift b/Captura/Presentation/Settings/AdvancedSettings.swift
index 7ed78d9..e5b77ce 100644
--- a/Captura/Presentation/Settings/AdvancedSettings.swift
+++ b/Captura/Presentation/Settings/AdvancedSettings.swift
@@ -3,25 +3,45 @@ import SwiftUI
struct AdvancedSettings: View {
@AppStorage("backendUrl") var backendUrl: String = ""
+ @AppStorage("backendFormat") var outputFormats: OutputFormatSetting = .gifOnly
@AppStorage("keepFiles") var keepFiles = true
+ var parsedBackendUrl: URL? {
+ URL(string: backendUrl)
+ }
+
var body: some View {
Form {
- VStack (alignment: .leading) {
+ VStack (alignment: .center) {
LabeledContent("Backend URL") {
- TextField("", text: $backendUrl)
- }.font(.headline)
- LabeledContent("Keep files after remote upload") {
- Toggle("", isOn: $keepFiles)
+ TextField("", text: $backendUrl).font(.body)
}.font(.headline)
+ Picker(selection: $outputFormats, label: Text("Backend Format").font(.headline)) {
+ Text("GIF")
+ .tag(OutputFormatSetting.gifOnly)
+ .padding(.horizontal, 4.0)
+ .padding(.vertical, 2.0)
+ Text("MP4")
+ .tag(OutputFormatSetting.mp4Only)
+ .padding(.horizontal, 4.0)
+ .padding(.vertical, 2.0)
+ }
+ .pickerStyle(.radioGroup)
+ .disabled(parsedBackendUrl == nil)
+ Toggle("Keep Local Files", isOn: $keepFiles)
+ .font(.headline)
+ .disabled(parsedBackendUrl == nil)
+ .padding(.vertical, 8.0)
HStack {
- Text("These settings can break things!")
+ Text("These settings can break things! Please make sure you understand how to use them before enabling.")
+ .lineLimit(3...10)
Button {
print("Not yet!")
} label: {
Image(systemName: "info.circle")
}.buttonStyle(.borderless)
}
+ Spacer()
}
}
}
diff --git a/Captura/Presentation/Settings/OutputSettings.swift b/Captura/Presentation/Settings/OutputSettings.swift
index 3b8e01c..df12541 100644
--- a/Captura/Presentation/Settings/OutputSettings.swift
+++ b/Captura/Presentation/Settings/OutputSettings.swift
@@ -7,14 +7,14 @@ struct OutputSettings: View {
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 +33,7 @@ struct OutputSettings: View {
.padding(.vertical, 2.0)
}.pickerStyle(.radioGroup)
}
+ Spacer()
}
}
}