KMBotaTools.swift 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // KMBotaTools.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2024/3/23.
  6. //
  7. import Cocoa
  8. enum KMNoteSortType: Int {
  9. case none = 0
  10. case time
  11. case page
  12. }
  13. enum KMLeftSidePaneState: Int {
  14. case thumbnail = 1
  15. case outline
  16. case noteList
  17. case snapshotList
  18. case find
  19. }
  20. enum KMFindPaneState: Int {
  21. case singular = 1
  22. case grouped
  23. }
  24. enum KMFindState: Int {
  25. case none
  26. case content = 1
  27. case note
  28. case snapshot
  29. }
  30. enum KMSelectedSegmentType: Int {
  31. case thumbnail = 0
  32. case outline
  33. case annotation
  34. case snapshot
  35. case search
  36. }
  37. enum KMFoldType: Int {
  38. case none = 0 //混合
  39. case unfold //展开
  40. case fold //折叠
  41. }
  42. class KMBotaTools: NSObject {
  43. }
  44. // MARK: - Note
  45. extension KMBotaTools {
  46. // filter
  47. class func noteFilterIsEmpty(key: String) -> Bool {
  48. return self.noteFilterAllTypes(key: key).isEmpty
  49. }
  50. class func noteFilterAllTypes(key: String) -> [Any] {
  51. return self.noteFilterAnnoTypes(key: key) + self.noteFilterColors(key: key) + self.noteFilterAuthors(key: key)
  52. }
  53. class func noteFilterAnnoTypes(key: String) -> [String] {
  54. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectTypeKey + key) as? Data {
  55. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [String]) ?? []
  56. }
  57. return []
  58. }
  59. class func noteFilterColors(key: String) -> [Any] {
  60. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectColorKey + key) as? Data {
  61. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [Any]) ?? []
  62. }
  63. return []
  64. }
  65. class func noteFilterAuthors(key: String) -> [String] {
  66. if let data = KMDataManager.ud_object(forKey: NoteFilterVC.filterSelectAuthorKey + key) as? Data {
  67. return (NSKeyedUnarchiver.unarchiveObject(with: data) as? [String]) ?? []
  68. }
  69. return []
  70. }
  71. }