You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.4 KiB
69 lines
2.4 KiB
// Copyright © 2015 Abhishek Banthia |
|
|
|
import Cocoa |
|
import CoreModelKit |
|
|
|
extension NSNotification.Name { |
|
static let themeDidChange = NSNotification.Name("ThemeDidChangeNotification") |
|
static let customLabelChanged = NSNotification.Name("CLCustomLabelChangedNotification") |
|
static let calendarAccessGranted = NSNotification.Name("CalendarAccessStatus") |
|
static let interfaceStyleDidChange = NSNotification.Name("AppleInterfaceThemeChangedNotification") |
|
} |
|
|
|
extension NSPasteboard.PasteboardType { |
|
static let dragSession = NSPasteboard.PasteboardType(rawValue: "public.text") |
|
} |
|
|
|
extension NSNib.Name { |
|
static let floatingWindowIdentifier = NSNib.Name("FloatingWindow") |
|
static let notesPopover = NSNib.Name("NotesPopover") |
|
static let panel = NSNib.Name("Panel") |
|
static let permissions = NSNib.Name("Permissions") |
|
static let onboardingPermissions = NSNib.Name("OnboardingPermissions") |
|
} |
|
|
|
extension NSImage.Name { |
|
static let permissionTabIcon = NSImage.Name("Privacy Dynamic") |
|
static let calendarTabIcon = NSImage.Name("Calendar Tab Dynamic") |
|
static let appearanceTabIcon = NSImage.Name("Appearance Dynamic") |
|
static let addIcon = NSImage.Name("Add") |
|
static let addDynamicIcon = NSImage.Name("Add Dynamic") |
|
static let privacyIcon = NSImage.Name("Privacy Dynamic") |
|
static let sortToggleIcon = NSImage.Name("Additional Preferences Dynamic") |
|
static let sortToggleAlternateIcon = NSImage.Name("Additional Preferences Highlighted Dynamic") |
|
static let menubarIcon = NSImage.Name("LightModeIcon") |
|
} |
|
|
|
public extension Data { |
|
// Extracting this out for tests |
|
func decode() -> SearchResult? { |
|
let jsonDecoder = JSONDecoder() |
|
do { |
|
let decodedObject = try jsonDecoder.decode(SearchResult.self, from: self) |
|
return decodedObject |
|
} catch { |
|
return nil |
|
} |
|
} |
|
|
|
func decodeTimezone() -> Timezone? { |
|
let jsonDecoder = JSONDecoder() |
|
do { |
|
let decodedObject = try jsonDecoder.decode(Timezone.self, from: self) |
|
return decodedObject |
|
} catch { |
|
return nil |
|
} |
|
} |
|
} |
|
|
|
extension NSKeyedArchiver { |
|
static func clocker_archive(with object: Any) -> Data? { |
|
|
|
if #available(macOS 10.14, *) { |
|
return try? NSKeyedArchiver.archivedData(withRootObject: object, requiringSecureCoding: true) |
|
} |
|
|
|
return nil |
|
} |
|
}
|
|
|