KMBotaTools.swift 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // KMBotaTools.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2024/3/23.
  6. //
  7. import Cocoa
  8. class KMBotaTools: NSObject {
  9. }
  10. // MARK: - Note
  11. enum KMAnnotationViewShowType: Int {
  12. case none
  13. case hidden
  14. }
  15. extension KMBotaTools {
  16. // filter
  17. class func noteFilterIsEmpty(key: String) -> Bool {
  18. return self.noteFilterAllTypes(key: key).isEmpty
  19. }
  20. class func noteFilterAllTypes(key: String) -> [Any] {
  21. return self.noteFilterAnnoTypes(key: key) + self.noteFilterColors(key: key) + self.noteFilterAuthors(key: key)
  22. }
  23. class func noteFilterAnnoTypes(key: String) -> [String] {
  24. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectTypeKey + key) as? Data {
  25. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [String]) ?? []
  26. }
  27. return []
  28. }
  29. class func noteFilterColors(key: String) -> [Any] {
  30. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectColorKey + key) as? Data {
  31. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [Any]) ?? []
  32. }
  33. return []
  34. }
  35. class func noteFilterAuthors(key: String) -> [String] {
  36. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectAuthorKey + key) as? Data {
  37. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [String]) ?? []
  38. }
  39. return []
  40. }
  41. class func noteFilterStates(key: String) -> [NSNumber] {
  42. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectStateKey + key) as? Data {
  43. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [NSNumber]) ?? []
  44. }
  45. return []
  46. }
  47. }