瀏覽代碼

【UI替换】编辑工具 - 文件对比 缩略图显示优化

lizhe 1 年之前
父節點
當前提交
9ee1ff4145

+ 7 - 1
PDF Office/PDF Master/Class/PDFTools/Compare/ViewController/ContentComplete/View/Thumb/KMCompareThumbItem.swift

@@ -37,6 +37,7 @@ class KMCompareThumbItem: NSCollectionViewItem {
             refreshStateUI()
 
             if compareManager?.isSyncScroll ?? false {
+                self.refreshStateUI()
                 if index == compareManager?.pdfSelectedIndex {
                     leftImgBox.borderColor = KMAppearance.Interactive.a0Color()
                     leftLblView.layer?.backgroundColor = KMAppearance.Interactive.a0Color().cgColor
@@ -50,6 +51,10 @@ class KMCompareThumbItem: NSCollectionViewItem {
         }
     }
     weak var delegate: KMCompareThumbItemDelegate?
+    
+    override func viewDidLoad() {
+        NotificationCenter.default.addObserver(self, selector: #selector(selectedItemChanged), name: NSNotification.Name(rawValue:"CPDFThumbSelectChangedNoti"), object: nil)
+    }
 
     func refreshStateUI() {
         if compareManager?.isThumbItemClicked ?? false {
@@ -97,7 +102,7 @@ class KMCompareThumbItem: NSCollectionViewItem {
             compareManager?.isSelectedOldPDF = false
             compareManager?.pdfSelectedIndex = UInt(Int(index))
         }
-//        NotificationCenter.default.post(name: NSNotification.Name(CPDFThumbSelectChangedNoti), object: nil)
+        NotificationCenter.default.post(name: NSNotification.Name("CPDFThumbSelectChangedNoti"), object: nil)
 
         compareManager?.isThumbItemClicked = true
         delegate?.compareThumbItemDidClicked(self)
@@ -106,6 +111,7 @@ class KMCompareThumbItem: NSCollectionViewItem {
         }
         
         if compareManager?.isSyncScroll ?? false {
+            self.refreshStateUI()
             if index == compareManager?.pdfSelectedIndex {
                 leftImgBox.borderColor = KMAppearance.Interactive.a0Color()
                 leftLblView.layer?.backgroundColor = KMAppearance.Interactive.a0Color().cgColor

+ 6 - 0
PDF Office/PDF Master/Class/PDFTools/Compare/ViewController/ContentComplete/View/Thumb/KMCompareThumbItem.xib

@@ -78,6 +78,9 @@
                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                         <font key="font" metaFont="system"/>
                                     </buttonCell>
+                                    <connections>
+                                        <action selector="selectAction:" target="-2" id="SUH-dU-jBV"/>
+                                    </connections>
                                 </button>
                             </subviews>
                             <constraints>
@@ -134,6 +137,9 @@
                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                         <font key="font" metaFont="system"/>
                                     </buttonCell>
+                                    <connections>
+                                        <action selector="selectAction:" target="-2" id="RYP-UW-7tM"/>
+                                    </connections>
                                 </button>
                             </subviews>
                             <constraints>

+ 20 - 18
PDF Office/PDF Master/Class/PDFTools/Compare/ViewController/ContentComplete/View/Thumb/KMCompareThumbView.swift

@@ -11,7 +11,7 @@ protocol KMCompareThumbViewDelegate: AnyObject {
     func compareThumbViewDidItemClicked(_ controller: KMCompareThumbView)
 }
 
-class KMCompareThumbView: KMBaseXibView, NSCollectionViewDelegate, NSCollectionViewDataSource, KMCompareThumbItemDelegate {
+class KMCompareThumbView: KMBaseXibView, NSCollectionViewDelegate, NSCollectionViewDataSource, NSCollectionViewDelegateFlowLayout, KMCompareThumbItemDelegate {
 
     @IBOutlet weak var contendView: NSView!
     @IBOutlet weak var headerBGView: NSView!
@@ -20,9 +20,23 @@ class KMCompareThumbView: KMBaseXibView, NSCollectionViewDelegate, NSCollectionV
     @IBOutlet weak var collectionView: NSCollectionView!
 
     weak var delegate: KMCompareThumbViewDelegate?
-    var compareManager: KMCompareManager?
-    var oldDocument: CPDFDocument?
-    var nDocument: CPDFDocument?
+    var compareManager: KMCompareManager? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
+    var oldDocument: CPDFDocument? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
+    var nDocument: CPDFDocument? {
+        didSet {
+            self.reloadData()
+        }
+    }
 
     override func setup() {
         contendView.wantsLayer = true
@@ -32,6 +46,8 @@ class KMCompareThumbView: KMBaseXibView, NSCollectionViewDelegate, NSCollectionV
 
         scrollView.scrollerStyle = .overlay
 
+        let layout = NSCollectionViewFlowLayout()
+        collectionView.collectionViewLayout = layout
         collectionView.wantsLayer = true
         // collectionView.layer?.backgroundColor = NSColor.clear.cgColor
         collectionView.backgroundColors = [NSColor(named: "KMWhiteColorDarkChanged01")!]
@@ -44,20 +60,6 @@ class KMCompareThumbView: KMBaseXibView, NSCollectionViewDelegate, NSCollectionV
         infoLbl.stringValue = NSLocalizedString("Thumbnails", comment: "")
     }
 
-    // MARK: - Setter
-
-    func setCompareManager(compareManager: KMCompareManager) {
-        self.compareManager = compareManager
-    }
-
-    func setOldDocument(oldDocument: CPDFDocument) {
-        self.oldDocument = oldDocument
-    }
-
-    func setNDocument(nDocument: CPDFDocument) {
-        self.nDocument = nDocument
-    }
-
     // MARK: - Public Methods
 
     override func reloadData() {