KMPropertiesViewPopController.swift 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // KMPropertiesViewPopController.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by lizhe on 2023/10/12.
  6. //
  7. import Cocoa
  8. @objcMembers class KMPropertiesViewPopController: NSViewController {
  9. @IBOutlet var titleLabel: NSTextField!
  10. @IBOutlet var titlesubLabel: NSTextField!
  11. @IBOutlet var closeBtn: NSButton!
  12. var popOver: NSPopover?
  13. var block: (() -> Void)?
  14. // class func defaultManager() -> KMPropertiesViewPopController {
  15. // let singleton = KMPropertiesViewPopController()
  16. // return singleton
  17. // }
  18. static let defaultManager = KMPropertiesViewPopController()
  19. class func showChangeColorDetails() -> Bool {
  20. // let isOpenConvertDetails = UserDefaults.standard.bool(forKey: "KMPropertiesHaveChangeColorDetails")
  21. // if !isOpenConvertDetails {
  22. return true
  23. // }
  24. // return false
  25. }
  26. func showChangeColorDetailsView(_ view: NSView) {
  27. DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
  28. if KMGuideInfoWindowController.availableShow(.customColor) {
  29. let guideWC = KMGuideInfoWindowController.currentWC()
  30. guideWC.type = .customColor
  31. guideWC.digitalBoxRect = view.superview?.convert(view.frame, to: view.window?.contentView) ?? .zero
  32. var beh = view.window?.collectionBehavior ?? []
  33. beh.insert(.canJoinAllSpaces)
  34. guideWC.window?.collectionBehavior = beh
  35. var rect = view.window?.frame ?? .zero
  36. rect.size.height -= 20
  37. guideWC.window?.setFrame(rect, display: false)
  38. guideWC.window?.minSize = rect.size
  39. guideWC.window?.maxSize = rect.size
  40. view.window?.addChildWindow(guideWC.window!, ordered: .above)
  41. guideWC.show()
  42. }
  43. }
  44. }
  45. override func viewDidLoad() {
  46. super.viewDidLoad()
  47. view.wantsLayer = true
  48. view.layer?.backgroundColor = NSColor.gray.cgColor
  49. titleLabel.stringValue = NSLocalizedString("Customize colors", comment: "")
  50. titlesubLabel.stringValue = NSLocalizedString("Right click a color and select \"Change Color...\".", comment: "")
  51. closeBtn.title = NSLocalizedString("Close", comment: "")
  52. closeBtn.wantsLayer = true
  53. closeBtn.layer?.cornerRadius = 1.0
  54. closeBtn.layer?.backgroundColor = NSColor.gray.cgColor
  55. closeBtn.contentTintColor = NSColor.white
  56. }
  57. @IBAction func buttonItemClick_Close(_ sender: Any) {
  58. block?()
  59. block = nil
  60. }
  61. }