Browse Source

【fix】【工具栏】自定义工具栏,Page Display 上的红点可以拿掉

tangchao 9 months ago
parent
commit
ec0391e09a

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

@@ -103,21 +103,11 @@ extension KMMainToolbarController : NSToolbarDelegate ,NSToolbarItemValidation,N
                item?.toolTip = NSLocalizedString("left", comment: "")
                item?.setViewWithSizes(self.leftControlButton)
                item?.menuFormRepresentation = menuItem
-           } else if itemIdentifier.rawValue == KMDocumentZoomToolbarItemIdentifier {
-               let menuItem = NSMenuItem.init(title: "zoom", action: #selector(annotationButtonAction), target: self)
-//               item?.toolTip = NSLocalizedString("Annotate PDF with highlight, text box and markup tools", comment: "")
-               item?.setViewWithSizes(self.zoomView)
-               item?.menuFormRepresentation = menuItem
-           }else if itemIdentifier.rawValue == KMDocumentAnnotationToolbarItemIdentifier {
+           } else if itemIdentifier.rawValue == KMDocumentAnnotationToolbarItemIdentifier {
                 let menuItem = NSMenuItem.init(title: "Annotation", action: #selector(annotationButtonAction), target: self)
                 item?.toolTip = NSLocalizedString("Annotate PDF with highlight, text box and markup tools", comment: "")
                 item?.setViewWithSizes(self.annotationModelButton)
                 item?.menuFormRepresentation = menuItem
-            } else if itemIdentifier.rawValue == KMDocumentNextPageToolbarItemIdentifier {
-                let menuItem = NSMenuItem.init(title: "next", action: #selector(leftControllButtonAction), target: self)
-                item?.toolTip = NSLocalizedString("nexts", comment: "")
-                item?.setViewWithSizes(self.pagebox)
-                item?.menuFormRepresentation = menuItem
             } else if itemIdentifier.rawValue == KMDocumentPageToolbarItemIdentifier {
                 let menuItem = NSMenuItem.init(title: "page", action: #selector(leftControllButtonAction), target: self)
                 item?.setViewWithSizes(self.pageModelButton)
@@ -173,8 +163,6 @@ extension KMMainToolbarController : NSToolbarDelegate ,NSToolbarItemValidation,N
     func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
         return [NSToolbarItem.Identifier.space,
                 NSToolbarItem.Identifier(KMLeftControlToolbarItemIdentifier),
-                NSToolbarItem.Identifier(KMDocumentZoomToolbarItemIdentifier),
-                NSToolbarItem.Identifier(KMDocumentNextPageToolbarItemIdentifier),
                 NSToolbarItem.Identifier.flexibleSpace,
                 NSToolbarItem.Identifier(KMDocumentAnnotationToolbarItemIdentifier),
                 NSToolbarItem.Identifier(KMDocumentPageToolbarItemIdentifier),
@@ -195,8 +183,6 @@ extension KMMainToolbarController : NSToolbarDelegate ,NSToolbarItemValidation,N
     
     func toolbarAllowedItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
         return [NSToolbarItem.Identifier(KMLeftControlToolbarItemIdentifier),
-                NSToolbarItem.Identifier(KMDocumentZoomToolbarItemIdentifier),
-                NSToolbarItem.Identifier(KMDocumentNextPageToolbarItemIdentifier),
                 NSToolbarItem.Identifier(KMDocumentAnnotationToolbarItemIdentifier),
                 NSToolbarItem.Identifier(KMDocumentPageToolbarItemIdentifier),
                 NSToolbarItem.Identifier(KMDocumentConversonToolbarItemIdentifier),

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

@@ -141,20 +141,7 @@ private let KMToolbarItemSpace = 8.0
         self.configWindowC_?.centerCellIdentifiers = (self.delegate?.toolbarDefaultItemIdentifiers?(self) ?? [])
         self.configWindowC_?.rightCellIdentifiers = (self.delegate?.toolbarRightDefaultItemIdentifiers?(self) ?? [])
         
-        var defaultCellIdentifiers = mainToolIdentifiers
-        if defaultCellIdentifiers.contains(KMDocumentZoomToolbarItemIdentifier) {
-            defaultCellIdentifiers.removeObject(KMDocumentZoomToolbarItemIdentifier)
-        }
-        if defaultCellIdentifiers.contains(KMDocumentZoomOutToolbarItemIdentifier) {
-            defaultCellIdentifiers.removeObject(KMDocumentZoomOutToolbarItemIdentifier)
-        }
-        if defaultCellIdentifiers.contains(KMDocumentNextPageToolbarItemIdentifier) {
-            defaultCellIdentifiers.removeObject(KMDocumentNextPageToolbarItemIdentifier)
-        }
-        if defaultCellIdentifiers.contains(KMDocumentHomeToolbarItemIdentifier) {
-            defaultCellIdentifiers.removeObject(KMDocumentHomeToolbarItemIdentifier)
-        }
-        self.configWindowC_?.defaultCellIdentifiers = defaultCellIdentifiers
+        self.configWindowC_?.defaultCellIdentifiers = self.delegate?.toolbarAllowedItemIdentifiers?(self) ?? []
         self.window?.beginSheet((self.configWindowC_?.window)!, completionHandler: { [weak self] resp in
             self?.configWindowC_ = nil
             

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

@@ -637,38 +637,34 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
     }
     
     func toolbarAllowedItemIdentifiers(_ toolbar: KMToolbarView) -> [String] {
-        if [.Annatiton,.Magnify,.Move,.Select,.SelectZoom].contains(toolbarType) {
-            return [KMNewToolbarSpaceItemIdentifier,
-                    KMToolbarPageEditInsetItemIdentifier, KMToolbarToolMergeItemIdentifier, KMToolbarPageEditSplitItemIdentifier,
-                    KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier, KMToolbarToolWatermarkItemIdentifier,
-                    KMToolbarToolBackgroundItemIdentifier, KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBatesItemIdentifier,
-                    KMToolbarAIItemIdentifier,
-                    KMToolbarCropIdentifier,
-                    KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier, KMToolbarConversionPPTItemIdentifier,
-                    KMToolbarConversionRTFItemIdentifier, KMToolbarConversionCSVItemIdentifier, KMToolbarConversionHTMLItemIdentifier,
-                    KMToolbarConversionTextItemIdentifier, KMToolbarConversionImageItemIdentifier,
-                    
-                    KMToolbarMoveToolModeItemIdentifier,
-                    KMToolbarMagnifyToolModeItemIdentifier,
-                    KMToolbarSelectToolModeItemIdentifier,
-                    KMToolbarZoomToSelectionItemIdentifier,
-                    KMNewToolbarSpaceItemIdentifier,
-                    KMToolbarDividerItemIdentifier,
-                    KMNewToolbarSpaceItemIdentifier,
-                    KMToolbarHighlightAnnotationItemIdentifier,
-                    KMToolbarUnderlineAnnotationItemIdentifier,
-                    KMToolbarStrikeOutAnnotationItemIdentifier,
-                    KMToolbarInkAnnotationItemIdentifier,
-                    KMToolbarFreeTextAnnotationItemIdentifier,
-                    KMToolbarAnchoredAnnotationItemIdentifier,
-                    KMToolbarSquareAnnotationItemIdentifier, KMToolbarCircleAnnotationItemIdentifier, KMToolbarArrowAnnotationItemIdentifier, KMToolbarLineAnnotationItemIdentifier,
-                    KMToolbarLinkAnnotationItemIdentifier,
-                    KMAnnotationStampToolbarItemIdentifier,
-                    KMToolbarSignSignatureAnnotationItemIdentifier,
-//                    KMToolbarDividerItemIdentifier,
-//                    KMToolbarShowToolbarItemIdentifier,
-                    
-                    KMToolbarToolRadioButtonItemIdentifier]
+        switch toolbarType {
+        case .None:
+            return []
+        case .Main:
+            var defaultCellIdentifiers = mainToolIdentifiers
+            if defaultCellIdentifiers.contains(KMDocumentHomeToolbarItemIdentifier) {
+                defaultCellIdentifiers.removeObject(KMDocumentHomeToolbarItemIdentifier)
+            }
+            return defaultCellIdentifiers
+        case .Annatiton,.Magnify,.Move,.Select,.SelectZoom:
+            return annotationToolIdentifiers
+        case .editPDF:
+            return editPDFItemIdentifiers
+        case .Page:
+            return pageEditToolIdentifiers
+        case .Tool:
+            return toolToolIdentifiers
+        case .Form:
+            return formToolIdentifiers
+        case .FillSign:
+            return fillSignToolIdentifiers
+        case .Conversion:
+            return conversionToolIdentifiers
+        case .viewSetting:
+            return [KMToolbarViewSettingIdentifier, KMToolbarCropIdentifier,
+                    KMToolbarSnapshotIdentifier, KMToolbarTTSIdentifier]
+        default:
+            break
         }
         return []
     }
@@ -1117,22 +1113,6 @@ extension KMToolbarViewController {
             item?.boxImagePosition = .imageAbove
             item?.selectBackgroundType = .imageBox
             item?.btnAction = #selector(_itemAction)
-        } else if identifier == KMDocumentZoomToolbarItemIdentifier {
-            item?.image = NSImage(named: "KMImageNameUXIconToolbarZoominNor")
-            item?.titleName = NSLocalizedString("", comment: "")
-            item?.target = self
-            item?.btnTag = 1
-            item?.toolTip = NSLocalizedString("Zoom In", comment: "")
-            item?.boxImagePosition = .imageAbove
-            item?.btnAction = #selector(zoomPDFViewButtonAction)
-        } else if identifier == KMDocumentZoomOutToolbarItemIdentifier {
-            item?.image = NSImage(named: "KMImageNameUXIconToolbarZoomoutNor")
-            item?.titleName = NSLocalizedString("", comment: "")
-            item?.target = self
-            item?.btnTag = 0
-            item?.toolTip = NSLocalizedString("Zoom Out", comment: "")
-            item?.boxImagePosition = .imageAbove
-            item?.btnAction = #selector(zoomPDFViewButtonAction)
         } else if identifier == KMDocumentZoomViewToolbarItemIdentifier{
             item?.titleName = NSLocalizedString("Zoom", comment: "")
             item?.target = self
@@ -1146,13 +1126,6 @@ extension KMToolbarViewController {
                 }
             }
             item?.customizeView = view
-        } else if identifier == KMDocumentNextPageToolbarItemIdentifier {
-            item?.image = NSImage(named: "KMImageNameToolbarPagenextNor")
-            item?.titleName = NSLocalizedString("Next", comment: "")
-            item?.target = self
-            item?.toolTip = NSLocalizedString("Go To Next Page", comment: "")
-            item?.boxImagePosition = .imageAbove
-            item?.btnAction = #selector(_itemAction)
         } else if identifier == KMDocumentPreviousPageToolbarItemIdentifier {
             item?.titleName = NSLocalizedString("Zoom", comment: "")
             item?.target = self

+ 0 - 16
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/Model/KMToolbarConfigModel.swift

@@ -305,26 +305,11 @@ extension KMToolbarConfigModel {
 //            item?.toolTip = NSLocalizedString("View Settings", comment: "")
             item?.boxImagePosition = .imageAbove
             item?.selectBackgroundType = .imageBox
-        } else if identifier == KMDocumentZoomToolbarItemIdentifier {
-            item?.image = NSImage(named: "KMImageNameUXIconToolbarZoominNor")
-            item?.titleName = NSLocalizedString("", comment: "")
-//            item?.toolTip = NSLocalizedString("Zoom In", comment: "")
-            item?.boxImagePosition = .imageAbove
-        } else if identifier == KMDocumentZoomOutToolbarItemIdentifier {
-            item?.image = NSImage(named: "KMImageNameUXIconToolbarZoomoutNor")
-            item?.titleName = NSLocalizedString("", comment: "")
-//            item?.toolTip = NSLocalizedString("Zoom Out", comment: "")
-            item?.boxImagePosition = .imageAbove
         } else if identifier == KMDocumentZoomViewToolbarItemIdentifier{
             item?.titleName = NSLocalizedString("Zoom", comment: "")
 
             let view = KMToolbarZoomItemView(zoomView: nil)
             item?.customizeView = view
-        } else if identifier == KMDocumentNextPageToolbarItemIdentifier {
-            item?.image = NSImage(named: "KMImageNameToolbarPagenextNor")
-            item?.titleName = NSLocalizedString("Next", comment: "")
-//            item?.toolTip = NSLocalizedString("Go To Next Page", comment: "")
-            item?.boxImagePosition = .imageAbove
         } else if identifier == KMDocumentPreviousPageToolbarItemIdentifier {
             item?.titleName = NSLocalizedString("Zoom", comment: "")
             let view = KMToolbarPreviousNextItemView()
@@ -417,7 +402,6 @@ extension KMToolbarConfigModel {
 //            item?.toolTip = NSLocalizedString("Page Display", comment: "")
             item?.boxImagePosition = .imageAbove
             item?.selectBackgroundType = .imageBox
-            item?.promptIdentifier = identifier
         } else if identifier == KMDocumentAIToolsToolbarItemIdentifier {
             item?.image = NSImage(named: "KMImageNameUXIconAINor")
             item?.titleName = NSLocalizedString("AI Tools", comment: "")

+ 2 - 5
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/PublicKey.swift

@@ -9,11 +9,8 @@ import Foundation
 
 /// Main Tool
 let KMLeftControlToolbarItemIdentifier  = "KMLeftControlToolbarItemIdentifier"
-let KMDocumentZoomToolbarItemIdentifier = "KMDocumentZoomToolbarItemIdentifier"
-let KMDocumentZoomOutToolbarItemIdentifier = "KMDocumentZoomOutToolbarItemIdentifier"
 let KMDocumentZoomViewToolbarItemIdentifier = "KMDocumentZoomViewToolbarItemIdentifier"
 let KMDocumentPreviousPageToolbarItemIdentifier = "KMDocumentPreviousPageToolbarItemIdentifier"
-let KMDocumentNextPageToolbarItemIdentifier = "KMDocumentNextPageToolbarItemIdentifier"
 let KMDocumentHomeToolbarItemIdentifier = "KMDocumentHomeToolbarItemIdentifier"
 let KMDocumentAnnotationToolbarItemIdentifier  = "KMDocumentAnnotationToolbarItemIdentifier"
 let KMDocumentPageToolbarItemIdentifier = "KMDocumentPageToolbarItemIdentifier"
@@ -38,8 +35,8 @@ let KMDocumentFirstLastToolbarItemIdentifier = "firstLastItemIdentifier"
 let KMDocumentPageIndicatorToolbarItemIdentifier = "pageIndicatorItemIdentifier"
 let KMDocumentPresentationToolbarItemIdentifier = "presentationItemIdentifier"
 
-let mainToolIdentifiers = [KMLeftControlToolbarItemIdentifier, KMDocumentZoomToolbarItemIdentifier, KMDocumentZoomOutToolbarItemIdentifier,
-                           KMDocumentZoomViewToolbarItemIdentifier, KMDocumentPreviousPageToolbarItemIdentifier, KMDocumentNextPageToolbarItemIdentifier,
+let mainToolIdentifiers = [KMLeftControlToolbarItemIdentifier,
+                           KMDocumentZoomViewToolbarItemIdentifier, KMDocumentPreviousPageToolbarItemIdentifier,
                            KMDocumentHomeToolbarItemIdentifier, KMDocumentAnnotationToolbarItemIdentifier, KMDocumentPageToolbarItemIdentifier, KMDocumentConversonToolbarItemIdentifier,KMDocumentRedactToolbarItemIdentifier,KMDocumentAIToolsToolbarItemIdentifier,KMDocumentViewDisplayToolbarItemIdentifier,KMDocumentScanOCRToolbarItemIdentifier, KMDocumentFormToolbarItemIdentifier, KMDocumentEditToolbarItemIdentifier, KMDocumentDigitalSignToolbarItemIdentifier,
                            KMDocumentFillSginToolbarItemIdentifier, KMDocumentToolToolbarItemIdentifier, KMDocumentPrintToolbarItemIdentifier,
                            KMDocumentShareToolbarItemIdentifier, KMDocumentSearchToolbarItemIdentifier, KMRightControlToolbarItemIdentifier,

+ 0 - 27
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -3295,34 +3295,13 @@ extension KMMainViewController {
     }
     
     func updateBackAndForwardButtonState() {
-        let item = self.toolbarController.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentNextPageToolbarItemIdentifier)
         let toItem = self.toolbarController.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentPreviousPageToolbarItemIdentifier)
-        if self.listView.km_canGoBack() {
-            item?.unEnabled = false
-        } else {
-            item?.unEnabled = true
-        }
         if self.listView.km_canGoForward() {
             toItem?.unEnabled = false
         } else {
             toItem?.unEnabled = true
         }
     }
-    
-    func updateZoomInOutButtonState() {
-        let item : KMToolbarItemView = (self.toolbarController.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentZoomOutToolbarItemIdentifier)) ?? KMToolbarItemView()
-        let toItem : KMToolbarItemView = (self.toolbarController.mainToolBarView?.toolbarItemFindItemIdentifiers(value: KMDocumentZoomToolbarItemIdentifier)) ?? KMToolbarItemView()
-        if self.listView.canZoomIn {
-            item.unEnabled = false
-        } else {
-            item.unEnabled = true
-        }
-        if self.listView.canZoomOut {
-            toItem.unEnabled = false
-        } else {
-            toItem.unEnabled = true
-        }
-    }
 }
 
 // MARK: -
@@ -3434,9 +3413,6 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
         }
         
         viewController.zoomTextField.stringValue =  "\(Int(self.listView.scaleFactor*100))%"
-        DispatchQueue.main.async {
-            self.updateZoomInOutButtonState()
-        }
     }
     
     func changePDFViewZoomInAction() {
@@ -3484,7 +3460,6 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
         self.listView.scaleFactor = scale
         self.toolbarController.mainToolBarView?.zoomTextField.stringValue =  "\(nearbyint(self.listView.scaleFactor*100))%"
 //        self.listView.zoomOut(nil)
-//        self.updateZoomInOutButtonState()
         
         if self.digitalSignController?.pdfView != nil {
             self.digitalSignController?.pdfView.scaleFactor = scale
@@ -4325,8 +4300,6 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                     openNewWindowAlertWindow()
                 } else if toolbarItem.itemIdentifier == KMDocumentPreviousPageToolbarItemIdentifier {
                     self.changePDFViewGoToPreviousPageAction()
-                } else if toolbarItem.itemIdentifier == KMDocumentNextPageToolbarItemIdentifier {
-                    self.changePDFViewGotoNextPageAction()
                 } else if toolbarItem.itemIdentifier == KMDocumentViewDisplayToolbarItemIdentifier {
                     let isSelected = toolbarItem.isSelected
                     self.toolbarController.toolbarType = isSelected ? .None : .viewSetting

+ 0 - 2
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift

@@ -1075,8 +1075,6 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
     
     func pdfViewScaleDidChanged(_ pdfView: CPDFView!) {
         self.toolbarController.mainToolBarView?.zoomTextField.stringValue = "\(Int(self.listView.scaleFactor * 100))%"
-        self.updateZoomInOutButtonState()
-//        KMPrint("pdfViewScaleDidChanged")
     }
     
     func pdfViewDidClick(onLink pdfView: CPDFView!, withURL url: String!) {