aboutsummaryrefslogtreecommitdiff
path: root/Captura/Presentation/Settings
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:07:46 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:07:46 +0200
commit505c1e620497828ffb914e05dd76d9ab124f144a (patch)
tree0d93162c4228dbee9e29c35e9f97f58daa5e3eef /Captura/Presentation/Settings
parent5802c153cae64142d84e3cd5f762939501ee7e53 (diff)
Format the code
Diffstat (limited to 'Captura/Presentation/Settings')
-rw-r--r--Captura/Presentation/Settings/AboutSettings.swift18
-rw-r--r--Captura/Presentation/Settings/AdvancedSettings.swift70
-rw-r--r--Captura/Presentation/Settings/OutputSettings.swift12
3 files changed, 61 insertions, 39 deletions
diff --git a/Captura/Presentation/Settings/AboutSettings.swift b/Captura/Presentation/Settings/AboutSettings.swift
index 089ae1d..529907c 100644
--- a/Captura/Presentation/Settings/AboutSettings.swift
+++ b/Captura/Presentation/Settings/AboutSettings.swift
@@ -17,18 +17,22 @@
import SwiftUI
struct AboutSettings: View {
-
+
var appVersion: String {
- let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown"
- let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "Unknown"
- return "Version \(version) (\(build))"
+ let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown"
+ let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "Unknown"
+ return "Version \(version) (\(build))"
}
-
- var imprint = (try? AttributedString(markdown: "Captura is open source. Help and more information available at [captura.tranquil.systems](https://captura.tranquil.systems)")) ?? ""
+
+ var imprint =
+ (try? AttributedString(
+ markdown:
+ "Captura is open source. Help and more information available at [captura.tranquil.systems](https://captura.tranquil.systems)"
+ )) ?? ""
var body: some View {
Form {
- VStack (alignment: .center) {
+ VStack(alignment: .center) {
Text("Captura").bold()
Text(appVersion).foregroundStyle(.secondary)
Spacer()
diff --git a/Captura/Presentation/Settings/AdvancedSettings.swift b/Captura/Presentation/Settings/AdvancedSettings.swift
index 79b6bb1..e148f01 100644
--- a/Captura/Presentation/Settings/AdvancedSettings.swift
+++ b/Captura/Presentation/Settings/AdvancedSettings.swift
@@ -17,28 +17,32 @@
import SwiftUI
struct AdvancedSettings: View {
-
+
@AppStorage("backendUrl") var backendUrl: String = ""
@AppStorage("backendFormat") var backendFormat: OutputFormatSetting = .gifOnly
@AppStorage("keepFiles") var keepFiles = true
@AppStorage("allowURLAutomation") var allowURLAutomation = false
@State var showConfirmation = false
-
- private var anyState: String { "\(backendUrl), \(backendFormat), \(keepFiles), \(allowURLAutomation)" }
-
+
+ private var anyState: String {
+ "\(backendUrl), \(backendFormat), \(keepFiles), \(allowURLAutomation)"
+ }
+
var parsedBackendUrl: URL? {
URL(string: backendUrl)
}
-
+
var body: some View {
Form {
- VStack (alignment: .center) {
+ VStack(alignment: .center) {
Section {
- VStack (alignment: .center) {
+ VStack(alignment: .center) {
LabeledContent("Backend URL") {
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.")
+ .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: $backendFormat, label: Text("Backend Format").font(.headline)) {
Text("GIF")
.tag(OutputFormatSetting.gifOnly)
@@ -51,15 +55,21 @@ struct AdvancedSettings: View {
}
.pickerStyle(.radioGroup)
.disabled(parsedBackendUrl == nil)
- .help("The format picked here will be generated regardless of what option you pick in the output settings. It doesn't prevent files from being rendered.")
+ .help(
+ "The format picked here will be generated regardless of what option you pick in the output settings. It doesn't prevent files from being rendered."
+ )
Toggle("Keep Local Files", isOn: $keepFiles)
.font(.headline)
.disabled(parsedBackendUrl == nil)
.padding(.vertical, 8.0)
- .help("If this is off, locally generated recordings will be deleted immediately after a successful upload.")
+ .help(
+ "If this is off, locally generated recordings will be deleted immediately after a successful upload."
+ )
HStack {
- Text("These settings can break things! Please make sure you understand how to use them before enabling.")
- .lineLimit(3...10)
+ Text(
+ "These settings can break things! Please make sure you understand how to use them before enabling."
+ )
+ .lineLimit(3...10)
Link(destination: URL(string: "https://captura.tranquil.systems")!) {
Image(systemName: "info.circle")
}.buttonStyle(.borderless)
@@ -71,21 +81,29 @@ struct AdvancedSettings: View {
Toggle("Allow URL Based Automation", isOn: $allowURLAutomation)
.font(.headline)
.padding(.vertical, 8.0)
- .help("If this is on, the app can be controlled remotely using the captura: URL scheme.")
- .confirmationDialog("This may be dangerous and can allow websites to remotely record your computer.", isPresented: $showConfirmation, actions: {
- Button("I Understand The Risk", role: .destructive) {
- showConfirmation = false
- }
- Button("Cancel", role: .cancel) {
- showConfirmation = false
- allowURLAutomation = false
- }
- })
- .onChange(of: allowURLAutomation, perform: { newValue in
- if newValue {
- showConfirmation = true
+ .help(
+ "If this is on, the app can be controlled remotely using the captura: URL scheme."
+ )
+ .confirmationDialog(
+ "This may be dangerous and can allow websites to remotely record your computer.",
+ isPresented: $showConfirmation,
+ actions: {
+ Button("I Understand The Risk", role: .destructive) {
+ showConfirmation = false
+ }
+ Button("Cancel", role: .cancel) {
+ showConfirmation = false
+ allowURLAutomation = false
+ }
}
- })
+ )
+ .onChange(
+ of: allowURLAutomation,
+ perform: { newValue in
+ if newValue {
+ showConfirmation = true
+ }
+ })
}
Spacer()
}
diff --git a/Captura/Presentation/Settings/OutputSettings.swift b/Captura/Presentation/Settings/OutputSettings.swift
index bfad7c7..9dc5be9 100644
--- a/Captura/Presentation/Settings/OutputSettings.swift
+++ b/Captura/Presentation/Settings/OutputSettings.swift
@@ -17,17 +17,17 @@
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")
@@ -44,7 +44,7 @@ struct OutputSettings: View {
.tag(OutputFormatSetting.gifOnly)
.padding(.horizontal, 4.0)
.padding(.vertical, 2.0)
-
+
Text("Only MP4")
.tag(OutputFormatSetting.mp4Only)
.padding(.horizontal, 4.0)