Browse Source

[tip] - 菜单工具tip

liujiajie 11 months ago
parent
commit
19a3bd212d

+ 37 - 24
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarItemView.swift

@@ -398,17 +398,16 @@ extension KMToolbarItemView {
                 }
             }
         }
-//        if (self.needExpandAction) {
-//            // KMImageNameUXIconBtnTriDownSel
-//            self.needExpandButton.image = NSImage(named: "KMImageNameUXIconBtnTriDownNor")
-//            self._showPop(self)
-//        }else if (self.isShowCustomToolTip) {
-//            self.perform(#selector(_showHUDHint), with: nil, afterDelay: 0.1)
-//        }
         if self.toolTip?.count ?? 0 > 0 {
-//            self.needExpandButton.image = NSImage(named: "KMImageNameUXIconBtnTriDownNor")
-            self._showPop(self)
-//            self.perform(#selector(_showPop), with: self, afterDelay: 0.1)
+            self._showPopTip(self)
+        }else {
+            if (self.needExpandAction) {
+                // KMImageNameUXIconBtnTriDownSel
+                self.needExpandButton.image = NSImage(named: "KMImageNameUXIconBtnTriDownNor")
+                self._showPop(self)
+            }else if (self.isShowCustomToolTip) {
+                self.perform(#selector(_showHUDHint), with: nil, afterDelay: 0.1)
+            }
         }
     }
     
@@ -451,11 +450,14 @@ extension KMToolbarItemView {
         if(self.nameBtn.superview != nil && !self.isSelected) {
             self.nameBtn.setTitleColor(color: Self.fetchTextNormalColor())
         }
-        
-//        if (self.isShowCustomToolTip && !self.needExpandAction) {
         if self.toolTip?.count ?? 0 > 0 {
             NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(_showHUDHint), object: nil)
             self._closePop()
+        }else{
+            if (self.isShowCustomToolTip && !self.needExpandAction) {
+                NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(_showHUDHint), object: nil)
+                self._closePop()
+            }
         }
     }
     
@@ -497,19 +499,19 @@ extension KMToolbarItemView {
         self.addTrackingArea(trackingArea)
     }
     
-    @objc private func _showPop(_ sender: NSView) {
+    private func _showPop(_ sender: NSView) {
         if (self._popOver != nil) {
             return
         }
-//        let menuViewController = KMCustomButtonPopMenuViewController()
-//        menuViewController.delegate = self
-//        menuViewController.dataSources = self
-//        self.popOver = NSPopover()
-//        self.popOver?.delegate = self
-//        self.popOver?.contentViewController = menuViewController
-//        self.popOver?.animates = false
-//        self.popOver?.behavior = .semitransient
-//        self.popOver?.contentSize = menuViewController.view.frame.size
+        let menuViewController = KMCustomButtonPopMenuViewController()
+        menuViewController.delegate = self
+        menuViewController.dataSources = self
+        self.popOver = NSPopover()
+        self.popOver?.delegate = self
+        self.popOver?.contentViewController = menuViewController
+        self.popOver?.animates = false
+        self.popOver?.behavior = .semitransient
+        self.popOver?.contentSize = menuViewController.view.frame.size
         
         var sourcesRect = sender.bounds
         sourcesRect = sender.convert(sourcesRect, to: nil)
@@ -518,8 +520,19 @@ extension KMToolbarItemView {
         self.window?.popover = self.popOver
         self.window?.sourcesRect = sourcesRect
         
-//        self.popOver?.show(relativeTo: CGRectInset(self.bounds, 0, 5), of: self, preferredEdge: .minY)
-        
+        self.popOver?.show(relativeTo: CGRectInset(self.bounds, 0, 5), of: self, preferredEdge: .minY)
+    }
+    
+    func _showPopTip(_ sender: NSView) {
+        if (self._popOver != nil) {
+            return
+        }
+        var sourcesRect = sender.bounds
+        sourcesRect = sender.convert(sourcesRect, to: nil)
+        sourcesRect.origin.y -= 20
+        sourcesRect.size.height += 20
+        self.window?.popover = self.popOver
+        self.window?.sourcesRect = sourcesRect
         let popViewController = KMToolbarItemPopViewController()
         self.popOver = NSPopover()
         self.popOver?.contentViewController = popViewController

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -1265,7 +1265,7 @@ extension KMToolbarViewController {
             item?.image = NSImage(named: "KMImageNameUXIconToolbarShareNor")
             item?.titleName = NSLocalizedString("Share", comment: "")
             item?.target = self
-            item?.toolTip = NSLocalizedString("Share the file with others", comment: "")
+//            item?.toolTip = NSLocalizedString("Share the file with others", comment: "")
             item?.boxImagePosition = .imageAbove
             item?.selectBackgroundType = .imageBox
             item?.btnAction = #selector(shareButtonAction)