Browse Source

【主页】主页Recent列表模式,鼠标悬浮会显示多条高亮修复

lizhe 1 year ago
parent
commit
51bec91f8e

+ 49 - 21
PDF Office/PDF Master/Class/Home/ViewController/KMHomeHistoryFileViewController.swift

@@ -28,6 +28,11 @@ class KMHomeHistoryFileTableviewCell: NSTableCellView {
     var file: URL?
     var selectUrls: [URL] = []
     var isSelect: Bool = false
+    var isHover: Bool = false {
+        didSet {
+            self.updateCellState()
+        }
+    }
     var currentWindowController: NSWindowController?
 
     // MARK: Init
@@ -37,26 +42,8 @@ class KMHomeHistoryFileTableviewCell: NSTableCellView {
                 
         mainBox.menu = tableCellMenu
         documentName.maximumNumberOfLines = 1
-        mainBox.moveCallback =  { [unowned self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
-            if !self.isSelect {
-                if mouseEntered {
-                    self.documentName.textColor = NSColor(hex: "#252629")
-                    self.documentType.textColor = NSColor(hex: "#94989C")
-                    self.documentSize.textColor = NSColor(hex: "#94989C")
-                    self.lastModificationTime.textColor = NSColor(hex: "#94989C")
-                    self.mainBox.fillColor = NSColor(hex: "#EDEEF0")
-                    self.mainBox.borderWidth = 0
-                    self.mainBox.cornerRadius = 4.0
-                } else {
-                    self.documentName.textColor = NSColor(hex: "#252629")
-                    self.documentType.textColor = NSColor(hex: "#94989C")
-                    self.documentSize.textColor = NSColor(hex: "#94989C")
-                    self.lastModificationTime.textColor = NSColor(hex: "#94989C")
-                    self.mainBox.fillColor = .clear
-                    self.mainBox.borderWidth = 0
-                    self.mainBox.cornerRadius = 0.0
-                }
-            }
+        mainBox.moveCallback = { [unowned self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
+            self.isHover = mouseEntered
         }
     }
     
@@ -168,9 +155,34 @@ class KMHomeHistoryFileTableviewCell: NSTableCellView {
         let components = Calendar.current.dateComponents([Calendar.Component.weekOfYear], from: date)
         return components.weekOfYear ?? 0
     }
+    
+    //MARK: update
+    func updateCellState() {
+        if fileImageView != nil {
+            if !self.isSelect {
+                if self.isHover {
+                    self.documentName.textColor = NSColor(hex: "#252629")
+                    self.documentType.textColor = NSColor(hex: "#94989C")
+                    self.documentSize.textColor = NSColor(hex: "#94989C")
+                    self.lastModificationTime.textColor = NSColor(hex: "#94989C")
+                    self.mainBox.fillColor = NSColor(hex: "#EDEEF0")
+                    self.mainBox.borderWidth = 0
+                    self.mainBox.cornerRadius = 4.0
+                } else {
+                    print("updateCellState hover")
+                    self.documentName.textColor = NSColor(hex: "#252629")
+                    self.documentType.textColor = NSColor(hex: "#94989C")
+                    self.documentSize.textColor = NSColor(hex: "#94989C")
+                    self.lastModificationTime.textColor = NSColor(hex: "#94989C")
+                    self.mainBox.fillColor = .clear
+                    self.mainBox.borderWidth = 0
+                    self.mainBox.cornerRadius = 0.0
+                }
+            }
+        }
+    }
         
     // MARK: Menu
-    
     lazy var tableCellMenu: NSMenu = {
         let tableCellMenu = NSMenu()
         var item = NSMenuItem()
@@ -280,6 +292,8 @@ class KMHomeHistoryFileViewController: NSViewController, NSCollectionViewDelegat
     
     var deleteButtonVC: KMDesignButton!
     
+    //hover
+    var hoverRow: Int = 0
     // MARK: Init
     
     override func viewWillAppear() {
@@ -782,6 +796,20 @@ class KMHomeHistoryFileViewController: NSViewController, NSCollectionViewDelegat
                 }
             }
         }
+        
+        cellView.mainBox.moveCallback = { [unowned self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
+            if self.hoverRow != row {
+                self.historyFileTableView.reloadData(forRowIndexes: IndexSet(integer: self.hoverRow), columnIndexes: IndexSet(integer: 0))
+            }
+            
+            self.hoverRow = row
+            cellView.isHover = mouseEntered
+        }
+        
+        if row != self.hoverRow {
+            let cell: KMHomeHistoryFileTableviewCell = self.historyFileTableView.rowView(atRow: self.hoverRow, makeIfNecessary: false) as? KMHomeHistoryFileTableviewCell ?? KMHomeHistoryFileTableviewCell()
+            cell.isHover = false
+        }
         return cellView
     }
     

+ 2 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/EditPDF/KMEditPDFTextPropertyViewController.swift

@@ -75,7 +75,7 @@ class KMEditPDFTextPropertyViewController: NSViewController {
     var fonts: [NSDictionary] = []
     
     var currentColor : NSColor = NSColor.black
-    var alignment : NSTextAlignment = .center
+    var alignment : NSTextAlignment = .left
     var fontName: String = "Helvetica" {
         didSet {
             if self.fontNameVC != nil {
@@ -219,7 +219,6 @@ class KMEditPDFTextPropertyViewController: NSViewController {
     func initData() {
         self.updateTextPresupposition(type: .customize, needChangeListView: false)
         let fontColor : NSColor = UserDefaults.standard.pdfListViewColor(forKey: FontColor_USERDEFAULTS) ?? NSColor.black
-        self.alignment = .center
         self.currentColor = fontColor
         DispatchQueue.main.async {
             NSColorPanel.shared.color = self.currentColor
@@ -673,7 +672,7 @@ extension KMEditPDFTextPropertyViewController {
             }
         }
         
-        let image = KMEditPDFTextManager.manager.fetchTextImage(alignment: alignment,
+        let image = KMEditPDFTextManager.manager.fetchTextImage(alignment: .center,
                                                                 fontName: fontName,
                                                                 fontSize: CGFloat(fontSize),
                                                                 color: fontCurrentColor,