|
@@ -81,15 +81,7 @@ class CustomStampLeftToolbar: NSView, NibLoadable {
|
|
|
let string = idNames[idx]
|
|
|
let menuItem = NSMenuItem.init(title: NSLocalizedString(string, comment: ""), action: #selector(idMenuItemClick(_:)), keyEquivalent: "")
|
|
|
menuItem.tag = 1000 + idx
|
|
|
- if idx == 0 && KMProfileInfo.shared().fullName.isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- } else if idx == 1 && NSFullUserName().isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- } else if idx == 2 && KMProfileInfo.shared().email.isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- } else if idx == 3 && KMProfileInfo.shared().OrganizeName.isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- }
|
|
|
+ menuItem.target = self
|
|
|
idMenu.addItem(menuItem)
|
|
|
}
|
|
|
self.peopleBox?.menu = idMenu
|
|
@@ -189,19 +181,6 @@ class CustomStampLeftToolbar: NSView, NibLoadable {
|
|
|
} else if self.toolbarType == .stamp {
|
|
|
self.stampBox.fillColor = NSColor(red: 73/255, green: 130/255, blue: 230/255, alpha: 0.2)
|
|
|
}
|
|
|
-
|
|
|
- for menuItem in self.peopleBox.menu?.items ?? [] {
|
|
|
- menuItem.action = #selector(idMenuItemClick(_:))
|
|
|
- if menuItem.tag == 1000 && KMProfileInfo.shared().fullName.isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- } else if menuItem.tag == 1001 && NSFullUserName().isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- } else if menuItem.tag == 1002 && KMProfileInfo.shared().email.isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- } else if menuItem.tag == 1003 && KMProfileInfo.shared().OrganizeName.isEmpty == true {
|
|
|
- menuItem.action = nil
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
//MARK: IBAction
|
|
@@ -227,18 +206,12 @@ class CustomStampLeftToolbar: NSView, NibLoadable {
|
|
|
|
|
|
} else if sender == self.peopleButton {
|
|
|
self.toolbarType = .idText
|
|
|
+ self.reloadData()
|
|
|
|
|
|
- if self.lastIDItem == nil {
|
|
|
- for item in self.peopleBox.menu?.items ?? [] {
|
|
|
- if item.action != nil {
|
|
|
- self.lastIDItem = item
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if self.lastIDItem != nil {
|
|
|
- self.idMenuItemClick(self.lastIDItem!)
|
|
|
- }
|
|
|
+ self.lastIDItem = nil
|
|
|
+ self.peopleBox.menu?.popUp(positioning: self.peopleBox.menu?.item(at: 0), at: CGPoint(x: 0, y: 15), in: sender)
|
|
|
+
|
|
|
+ return
|
|
|
|
|
|
} else if sender == self.imageButton {
|
|
|
self.toolbarType = .image
|
|
@@ -266,6 +239,10 @@ class CustomStampLeftToolbar: NSView, NibLoadable {
|
|
|
} else if item.tag == 1003 {
|
|
|
string = KMProfileInfo.shared().OrganizeName
|
|
|
}
|
|
|
+ if string.isEmpty {
|
|
|
+ string = " "
|
|
|
+ }
|
|
|
+ self.lastIDItem = item
|
|
|
|
|
|
self.toolbarType = .idText
|
|
|
self.reloadData()
|
|
@@ -308,17 +285,7 @@ extension CustomStampLeftToolbar: NSMenuDelegate {
|
|
|
|
|
|
func menuWillOpen(_ menu: NSMenu) {
|
|
|
if menu == self.peopleBox.menu {
|
|
|
- if self.lastIDItem == nil {
|
|
|
- for item in self.peopleBox.menu?.items ?? [] {
|
|
|
- if item.action != nil {
|
|
|
- self.lastIDItem = item
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if self.lastIDItem != nil {
|
|
|
- self.idMenuItemClick(self.lastIDItem!)
|
|
|
- }
|
|
|
+
|
|
|
} else if menu == self.dateBox.menu {
|
|
|
if self.lastDateItem == nil {
|
|
|
self.lastDateItem = self.dateBox.menu?.items.first
|
|
@@ -330,4 +297,14 @@ extension CustomStampLeftToolbar: NSMenuDelegate {
|
|
|
|
|
|
|
|
|
}
|
|
|
+ func menuDidClose(_ menu: NSMenu) {
|
|
|
+ if menu == self.peopleBox.menu {
|
|
|
+ if self.lastIDItem == nil {
|
|
|
+ self.toolbarType = .move
|
|
|
+ self.reloadData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|