diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2023-08-02 10:30:51 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2023-08-02 10:30:51 +0200 |
| commit | 377442f2f1f0f08bc525393c9bd1c84f159c5159 (patch) | |
| tree | ab7f62cda14f1d85a30e65b130cf289f3a04947b /Captura/Data | |
| parent | 8e9321304ca80e9ada7ac01058a5f4603cb37fab (diff) | |
Add AppleScript support
Diffstat (limited to 'Captura/Data')
| -rw-r--r-- | Captura/Data/CapturaSettings.swift | 35 | ||||
| -rw-r--r-- | Captura/Data/OutputFormatSetting.swift (renamed from Captura/Data/SettingsStructs.swift) | 11 |
2 files changed, 35 insertions, 11 deletions
diff --git a/Captura/Data/CapturaSettings.swift b/Captura/Data/CapturaSettings.swift index 85368ea..2d0e70b 100644 --- a/Captura/Data/CapturaSettings.swift +++ b/Captura/Data/CapturaSettings.swift @@ -3,19 +3,23 @@ import Foundation struct CapturaSettings { static var frameRate: Int { get { - UserDefaults.standard.integer(forKey: "frameRate") + if NSUbiquitousKeyValueStore.default.object(forKey: "frameRate") == nil { + return 10 + } else { + return min(10, max(4, Int(NSUbiquitousKeyValueStore.default.longLong(forKey: "frameRate")))) + } } set { - UserDefaults.standard.setValue(newValue, forKey: "frameRate") + NSUbiquitousKeyValueStore.default.setValue(newValue, forKey: "frameRate") } } static var outputFormats: OutputFormatSetting { get { - OutputFormatSetting(rawValue: UserDefaults.standard.integer(forKey: "outputFormats")) ?? .all + OutputFormatSetting(rawValue: Int(NSUbiquitousKeyValueStore.default.longLong(forKey: "outputFormats"))) ?? .all } set { - UserDefaults.standard.setValue(newValue.rawValue, forKey: "outputFormats") + NSUbiquitousKeyValueStore.default.setValue(newValue.rawValue, forKey: "outputFormats") } } @@ -41,36 +45,45 @@ struct CapturaSettings { static var backend: URL? { get { - if let url = UserDefaults.standard.string(forKey: "backendUrl") { + if let url = NSUbiquitousKeyValueStore.default.string(forKey: "backendUrl") { return URL(string: url) } return nil } set { - UserDefaults.standard.setValue(newValue?.absoluteString, forKey: "backendUrl") + NSUbiquitousKeyValueStore.default.setValue(newValue?.absoluteString, forKey: "backendUrl") } } static var backendFormat: OutputFormatSetting { get { - OutputFormatSetting(rawValue: UserDefaults.standard.integer(forKey: "backendFormat")) ?? .gifOnly + OutputFormatSetting(rawValue: Int(NSUbiquitousKeyValueStore.default.longLong(forKey: "backendFormat"))) ?? .gifOnly } set { - UserDefaults.standard.setValue(newValue.rawValue, forKey: "backendFormat") + NSUbiquitousKeyValueStore.default.setValue(newValue.rawValue, forKey: "backendFormat") } } static var shouldKeepLocalFiles: Bool { get { - UserDefaults.standard.bool(forKey: "keepFiles") + if NSUbiquitousKeyValueStore.default.object(forKey: "keepFiles") == nil { + return true + } else { + return NSUbiquitousKeyValueStore.default.bool(forKey: "keepFiles") + } } set { - UserDefaults.standard.set(newValue, forKey: "keepFiles") + NSUbiquitousKeyValueStore.default.set(newValue, forKey: "keepFiles") } } static var shouldAllowURLAutomation: Bool { - UserDefaults.standard.bool(forKey: "allowURLAutomation") + get { + NSUbiquitousKeyValueStore.default.bool(forKey: "allowURLAutomation") + } + set { + NSUbiquitousKeyValueStore.default.setValue(newValue, forKey: "allowURLAutomation") + } } static func apply(_ config: ConfigureAction) { diff --git a/Captura/Data/SettingsStructs.swift b/Captura/Data/OutputFormatSetting.swift index 16172ca..211a08e 100644 --- a/Captura/Data/SettingsStructs.swift +++ b/Captura/Data/OutputFormatSetting.swift @@ -25,4 +25,15 @@ enum OutputFormatSetting: Int { func shouldSaveMp4() -> Bool { return self == .mp4Only || self == .all } + + func toString() -> String { + switch(self) { + case .gifOnly: + return "gif" + case .mp4Only: + return "mp4" + case .all: + return "all" + } + } } |