Browse Source

【注释回复】刷选窗口UI调整

tangchao 5 months ago
parent
commit
8cda73bf3a

+ 13 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/Controller/KMNoteOutlineFilterViewController.swift

@@ -30,7 +30,7 @@ class KMNoteOutlineFilterViewController: NSViewController {
         self._typeMutableArray = NSMutableArray()
         self._authorMutableArray = NSMutableArray()
         
-        self.stateArray_ = [.marked, .unMarked, .accepted, .rejected, .canceled, .completed, .none]
+//        self.stateArray_ = [.marked, .unMarked, .accepted, .rejected, .canceled, .completed, .none]
             
         for annotation in self._notesArray ?? [] {
             guard let _anno = annotation as? CPDFAnnotation else {
@@ -40,6 +40,7 @@ class KMNoteOutlineFilterViewController: NSViewController {
                 let noteColor = _anno.color
                 let noteType = _anno.type ?? ""
                 let authorString = _anno.userName() ?? ""
+                
                     
                 self._addNoteColorWith(noteColor)
                 if let data = _anno as? CPDFLineAnnotation {
@@ -153,6 +154,10 @@ class KMNoteOutlineFilterViewController: NSViewController {
         }
     }
     
+    func updateStates(states: [CPDFAnnotationState]) {
+        self.stateArray_ = states
+    }
+    
     var selectTypeArray: NSMutableArray?
     var selectColorArray: NSMutableArray?
     var selectAuthorArray: NSMutableArray?
@@ -193,11 +198,13 @@ class KMNoteOutlineFilterViewController: NSViewController {
         view.minMagnification = 1.0
         view.scrollerStyle = .overlay
         
+        view.drawsBackground = false
+        view.borderType = .noBorder
         view.wantsLayer = true
         view.layer?.backgroundColor = NSColor.clear.cgColor
         
         view.wantsLayer = true
-        view.contentView.layer?.backgroundColor = .white
+        view.contentView.layer?.backgroundColor = .clear
         
         return view
     }()
@@ -224,7 +231,8 @@ class KMNoteOutlineFilterViewController: NSViewController {
         view.isSelectable = true
         
         view.wantsLayer = true
-        view.layer?.backgroundColor = NSColor.km_init(hex: "#F7F8FA").cgColor
+//        view.layer?.backgroundColor = NSColor.km_init(hex: "#F7F8FA").cgColor
+        view.layer?.backgroundColor = NSColor.clear.cgColor
         view.isSelectable = true
         view.allowsMultipleSelection = true
         
@@ -402,10 +410,12 @@ extension KMNoteOutlineFilterViewController {
     private func _updateViewColor() {
         if (KMAppearance.isDarkMode()) {
             self.view.layer?.backgroundColor = NSColor(red: 54.0/255.0, green: 54.0/255.0, blue: 54.0/255.0, alpha: 1).cgColor
+//            self.collectionView.layer?.backgroundColor = NSColor(red: 54.0/255.0, green: 54.0/255.0, blue: 54.0/255.0, alpha: 1).cgColor
             self.cancelButton.layer?.backgroundColor = NSColor(red: 86/255.0, green: 88/255.0, blue: 90/255.0, alpha: 1).cgColor
             self.OKButton.layer?.backgroundColor = NSColor(red: 78/255.0, green: 127/255.0, blue: 219/255.0, alpha: 1).cgColor
         } else {
             self.view.layer?.backgroundColor = NSColor(red: 238/255.0, green: 238/255.0, blue: 238/255.0, alpha: 1).cgColor
+//            self.collectionView.layer?.backgroundColor = NSColor(red: 238/255.0, green: 238/255.0, blue: 238/255.0, alpha: 1).cgColor
             self.cancelButton.layer?.backgroundColor = NSColor(red: 218/255.0, green: 219/255.0, blue: 222/255.0, alpha: 1).cgColor
             self.OKButton.layer?.backgroundColor = NSColor(red: 39/255.0, green: 60/255.0, blue: 98/255.0, alpha: 1).cgColor
         }

+ 1 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/View/KMNoteFilterStateCollevtionViewItem.swift

@@ -17,6 +17,7 @@ class KMNoteFilterStateCollevtionViewItem: NSCollectionViewItem {
         // Do view setup here.
         
         self.box.cornerRadius = 0
+        self.box.borderColor = NSColor(hex: "#E2E3E6")
         
         self.label.textColor = KMAppearance.Layout.h0Color()
     }

+ 18 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Note.swift

@@ -138,9 +138,9 @@ extension KMLeftSideViewController {
         self.noteDoneButton.layer?.backgroundColor = KMAppearance.Interactive.a0Color().cgColor
         self.noteDoneButton.layer?.cornerRadius = 4.0
         
-        self.noteHeaderView.wantsLayer = true
-        self.noteHeaderView.layer?.backgroundColor = KMAppearance.Else.textTagColor().cgColor
-        self.noteHeaderView.layer?.cornerRadius = 1.0
+//        self.noteHeaderView.wantsLayer = true
+//        self.noteHeaderView.layer?.backgroundColor = KMAppearance.Else.textTagColor().cgColor
+//        self.noteHeaderView.layer?.cornerRadius = 1.0
         let sortType = KMDataManager.ud_integer(forKey: Self.Key.noteSortTypeKey)
         if (sortType == 1) {
             self.noteSortType = KMNoteSortType(rawValue: sortType) ?? .none
@@ -631,6 +631,21 @@ extension KMLeftSideViewController {
         filterViewController.listView = self.listView
         filterViewController.view.layer?.backgroundColor = .clear
 
+        var states: [CPDFAnnotationState] = [.none, .unMarked]
+        for anno in self.allAnnotations {
+            if let reviewS = self.noteReplyHanddler.fetchReviewState(anno) {
+                if states.contains(reviewS) == false {
+                    states.append(reviewS)
+                }
+            }
+            if let markS = self.noteReplyHanddler.fetchAnnoState(anno) {
+                if states.contains(markS) == false {
+                    states.append(markS)
+                }
+            }
+        }
+        
+        filterViewController.updateStates(states: states) 
         filterViewController.setNotesArray(self.allAnnotations as NSArray)
         filterViewController.applyFilterCallback = { [weak self] typeArr, colorArr, authorArr, isEmpty in
             menu.cancelTracking()