|
@@ -92,6 +92,13 @@ private let KMToolbarItemSpace = 8.0
|
|
|
private var _centerWidth: CGFloat = 0
|
|
|
private var _rightWidth: CGFloat = 0
|
|
|
|
|
|
+ var allowsUserCustomization = false
|
|
|
+
|
|
|
+ deinit {
|
|
|
+ Swift.debugPrint("KMToolbarView deinit")
|
|
|
+ NotificationCenter.default.removeObserver(self)
|
|
|
+ }
|
|
|
+
|
|
|
convenience init(identifier: String) {
|
|
|
self.init()
|
|
|
|
|
@@ -108,13 +115,23 @@ private let KMToolbarItemSpace = 8.0
|
|
|
// self.rightView.layer?.backgroundColor = NSColor.green.cgColor
|
|
|
}
|
|
|
|
|
|
- deinit {
|
|
|
- Swift.debugPrint("KMToolbarView deinit")
|
|
|
- NotificationCenter.default.removeObserver(self)
|
|
|
+ override func menu(for event: NSEvent) -> NSMenu? {
|
|
|
+ if self.allowsUserCustomization == false {
|
|
|
+ return super.menu(for: event)
|
|
|
+ }
|
|
|
+
|
|
|
+ let menu = NSMenu()
|
|
|
+ let item = NSMenuItem(title: NSLocalizedString("Customize Toolbar", comment: ""), action: #selector(_customToolbarItemAction), keyEquivalent: "")
|
|
|
+ menu.addItem(item)
|
|
|
+ return menu
|
|
|
}
|
|
|
|
|
|
// MARK: - Private Methods
|
|
|
|
|
|
+ @objc private func _customToolbarItemAction(_ sender: NSMenuItem?) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
private func _addTrackingArea() {
|
|
|
let trackingArea = NSTrackingArea(rect: self.bounds, options: [.inVisibleRect, .activeInKeyWindow, .mouseMoved], owner: self)
|
|
|
self.addTrackingArea(trackingArea)
|