Quellcode durchsuchen

转档-PDF转图片UI调整

tangchao vor 1 Jahr
Ursprung
Commit
0130eae2da

+ 16 - 8
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -2127,6 +2127,9 @@
 		BB2EDF79296ECE17003BCF58 /* KMPageEditThumbnailItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2EDF69296ECE17003BCF58 /* KMPageEditThumbnailItem.swift */; };
 		BB2EDF7A296ECE17003BCF58 /* KMPageEditThumbnailItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2EDF69296ECE17003BCF58 /* KMPageEditThumbnailItem.swift */; };
 		BB2EDF7B296ECE17003BCF58 /* KMPageEditThumbnailItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2EDF69296ECE17003BCF58 /* KMPageEditThumbnailItem.swift */; };
+		BB2F18462A0C7E250003F65E /* KMConvertBaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F18452A0C7E250003F65E /* KMConvertBaseView.swift */; };
+		BB2F18472A0C7E250003F65E /* KMConvertBaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F18452A0C7E250003F65E /* KMConvertBaseView.swift */; };
+		BB2F18482A0C7E250003F65E /* KMConvertBaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F18452A0C7E250003F65E /* KMConvertBaseView.swift */; };
 		BB2F61502966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */; };
 		BB2F61512966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */; };
 		BB2F61522966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */; };
@@ -4222,6 +4225,7 @@
 		BB2EDF67296ECE17003BCF58 /* KMPageEditThumbnailItem.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPageEditThumbnailItem.xib; sourceTree = "<group>"; };
 		BB2EDF68296ECE17003BCF58 /* KMPageEditInsertPageSizeItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPageEditInsertPageSizeItemView.swift; sourceTree = "<group>"; };
 		BB2EDF69296ECE17003BCF58 /* KMPageEditThumbnailItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPageEditThumbnailItem.swift; sourceTree = "<group>"; };
+		BB2F18452A0C7E250003F65E /* KMConvertBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMConvertBaseView.swift; sourceTree = "<group>"; };
 		BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundPropertyHomeController.swift; sourceTree = "<group>"; };
 		BB2F614F2966A91D001CB369 /* KMBackgroundPropertyHomeController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundPropertyHomeController.xib; sourceTree = "<group>"; };
 		BB2F61562966B69D001CB369 /* KMWatermarkPropertyHomeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkPropertyHomeController.swift; sourceTree = "<group>"; };
@@ -7507,6 +7511,14 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		BB2F18442A0C7E090003F65E /* Base */ = {
+			isa = PBXGroup;
+			children = (
+				BB2F18452A0C7E250003F65E /* KMConvertBaseView.swift */,
+			);
+			path = Base;
+			sourceTree = "<group>";
+		};
 		BB332D512995D8A100CABB58 /* Tools */ = {
 			isa = PBXGroup;
 			children = (
@@ -7560,7 +7572,6 @@
 		BB3EAEA9293E3BA200D92407 /* Convert */ = {
 			isa = PBXGroup;
 			children = (
-				BBED5D092996864B003DA7B1 /* Category */,
 				BB88E4522940458F002B3655 /* Common */,
 				BB88E43E2940342B002B3655 /* Library */,
 				BB88E439294023B5002B3655 /* Model */,
@@ -7962,6 +7973,7 @@
 		BB88E4522940458F002B3655 /* Common */ = {
 			isa = PBXGroup;
 			children = (
+				BB2F18442A0C7E090003F65E /* Base */,
 				BB88E453294045B4002B3655 /* KMPDFConvertManager.swift */,
 				9FDD0F76294FEF64000C4DAD /* KMConvertPDFManager.swift */,
 				9F81ADC029B87C7F002251F4 /* KMConvertPDFManagerOC.h */,
@@ -8502,13 +8514,6 @@
 			path = View;
 			sourceTree = "<group>";
 		};
-		BBED5D092996864B003DA7B1 /* Category */ = {
-			isa = PBXGroup;
-			children = (
-			);
-			path = Category;
-			sourceTree = "<group>";
-		};
 		BBFBE6B128DD7B97008B2335 = {
 			isa = PBXGroup;
 			children = (
@@ -10416,6 +10421,7 @@
 				9F0CB45F2966C9E200007028 /* KMFormPropertPanelViewController.swift in Sources */,
 				ADCFFC0229C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
 				9FAAA339290F72CC0046FFCE /* KMHistoryFileCollectionView.swift in Sources */,
+				BB2F18462A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				BB99ACCA292DEE6E0048AFD9 /* KMMergeTitleBar.swift in Sources */,
 				BB4DD043299B291A00E80DF6 /* KMCloudNoNetworkView.swift in Sources */,
 				BB49ECF6293F44DC00C82CA2 /* KMConvertExcelWindowController.swift in Sources */,
@@ -11190,6 +11196,7 @@
 				9F0CB4602966C9E200007028 /* KMFormPropertPanelViewController.swift in Sources */,
 				ADCFFC0329C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
 				9F1FE4EE29406E4700E952CA /* ThrobberView.m in Sources */,
+				BB2F18472A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				9FBA0EE228FEC253001117AF /* KMProductPromotionViewController.swift in Sources */,
 				BB4DD044299B291A00E80DF6 /* KMCloudNoNetworkView.swift in Sources */,
 				8942F7F12926087200389627 /* KMSearchViewController.swift in Sources */,
@@ -11612,6 +11619,7 @@
 				AD9527C8295295110039D2BC /* KMPrintPrinterModel.swift in Sources */,
 				BBB9B32A299A5D6D004F3235 /* GTMAppAuthFetcherAuthorization+Keychain.m in Sources */,
 				BB146FB0299DC0D100784A6A /* GTLRService.m in Sources */,
+				BB2F18482A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				AD867FC729DFFBC400F00440 /* KMAnnotationOutlineRowView.swift in Sources */,
 				9FA607E028FD4C9F00B46586 /* KMHomePopViewController.swift in Sources */,
 				9F0CB49929683E1000007028 /* KMPropertiesPanelTextSubVC.swift in Sources */,

+ 34 - 0
PDF Office/PDF Master/Class/PDFTools/Convert/Common/Base/KMConvertBaseView.swift

@@ -0,0 +1,34 @@
+//
+//  KMConvertBaseView.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/5/11.
+//
+
+import Cocoa
+
+typealias KMConvertSettingViewLanugageDidSelectedCallback = (_ index: Int) -> ()
+
+class KMConvertBaseView: NSView, NibLoadable {
+
+    var lanugageDidSelected: KMConvertSettingViewLanugageDidSelectedCallback?
+    
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+    static var nibName: String? {
+        return "KMConvertBaseWindowController"
+    }
+    
+    static func createFromNib(in bundle: Bundle = Bundle.main) -> Self? {
+        guard let nibName = nibName else { return nil }
+        var topLevelArray: NSArray? = nil
+        bundle.loadNibNamed(NSNib.Name(nibName), owner: nil, topLevelObjects: &topLevelArray)
+        guard let results = topLevelArray else { return nil }
+        let views = Array<Any>(results).filter { $0 is Self }
+        return views.last as? Self
+    }
+}

+ 6 - 5
PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertImageWindowController.swift

@@ -12,11 +12,12 @@ class KMConvertImageWindowController: KMConvertBaseWindowController {
     override func windowDidLoad() {
         super.windowDidLoad()
 
-        titleLabel.stringValue = NSLocalizedString("PDF to Image", comment: "")
+        self.titleLabel.stringValue = NSLocalizedString("PDF to Image", comment: "")
+        
         let view = KMConvertImageSettingView.createFromNib()
-        view?.frame = rightScrollView.bounds
-        view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        settingView = view
+        view?.frame = self.rightScrollView.bounds
+        view?.autoresizingMask = [.width, .height]
+        self.settingView = view
         if let pageCount = self.prePDFView?.document.pageCount {
             view?.pageCount = Int(pageCount)
         }
@@ -40,7 +41,7 @@ class KMConvertImageWindowController: KMConvertBaseWindowController {
             }
         }
         
-        rightScrollView.documentView = view
+        self.rightScrollView.documentView = view
     }
     
     override func initConvert() -> KMPDFConvert {

+ 44 - 52
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertImageSettingView.swift

@@ -11,15 +11,13 @@ class KMConvertImageSettingView: KMConvertSettingView {
     @IBOutlet weak var resolutionComboBox: NSComboBox!
     
     @IBOutlet weak var formatBox: NSBox!
-    var formartView: KMDesignSelect!
-    
     @IBOutlet weak var pageRangeBox: NSBox!
-    
     @IBOutlet weak var topBoxHeightConst: NSLayoutConstraint!
     
-    
     @IBOutlet weak var dpiTitleLabel: NSTextField!
     @IBOutlet weak var dpiSelectBox: NSBox!
+    
+    private var formartView: KMDesignSelect?
     private var dpiVC: KMDesignSelect?
     
     var selectedFormatIndex = 0
@@ -28,27 +26,20 @@ class KMConvertImageSettingView: KMConvertSettingView {
     override func awakeFromNib() {
         super.awakeFromNib()
         
-        fileTypeTitleLabel.stringValue = NSLocalizedString("Format", comment: "")
-        fileTypeTitleLabel.textColor = NSColor(hex: "#616469")
-        fileTypeTitleLabel.font = .SFProTextSemibold(12)
+        self.fileTypeTitleLabel.stringValue = NSLocalizedString("Format", comment: "")
+        self.fileTypeTitleLabel.textColor = NSColor(hex: "#616469")
+        self.fileTypeTitleLabel.font = .SFProTextSemibold(12)
         
-        formartView = KMDesignSelect.init(withType: .Combox)
+        self.formartView = KMDesignSelect.init(withType: .Combox)
+        self.formatBox.fillColor = .clear
+        self.formatBox.contentView = self.formartView!.view
         
-        formatBox.fillColor = .clear
-        formatBox.contentView = formartView.view
-        
-        formartView.removeAllItems()
-        formartView.addItems(withObjectValues: ["JPEG","JPG","PNG","GIF","TIFF","TGA","BMP","JPEG-2000"])
-        formartView.selectItem(at: 0)
-        formartView.editable = false //默认属性,初始化可不设置
-        formartView.delete = self
-        formartView.updateUI()
-        
-//        resolutionComboBox.isEditable = false
-//        resolutionComboBox.removeAllItems()
-//        resolutionComboBox.addItems(withObjectValues: ["50 dpi", "72 dpi", "96 dpi", "150 dpi", "300 dpi", "600 dpi"])
-//        resolutionComboBox.selectItem(at: 3)
-//        resolutionComboBox.delegate = self
+        self.formartView?.removeAllItems()
+        self.formartView?.addItems(withObjectValues: ["JPEG","JPG","PNG","GIF","TIFF","TGA","BMP","JPEG-2000"])
+        self.formartView?.selectItem(at: 0)
+        self.formartView?.editable = false //默认属性,初始化可不设置
+        self.formartView?.delete = self
+        self.formartView?.updateUI()
         
         self.dpiTitleLabel.stringValue = NSLocalizedString("Resolution", comment: "")
         self.dpiTitleLabel.textColor = NSColor(hex: "#616469")
@@ -63,42 +54,43 @@ class KMConvertImageSettingView: KMConvertSettingView {
         self.dpiVC?.updateUI()
         
         self.topBoxHeightConst.constant = 80
-        resolutionComboBox.isHidden = true
+        self.resolutionComboBox.isHidden = true
     }
     
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         
-        let pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
-        pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
-        pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        pageRangeBox.contentView = pageRangeItemView
-        self.pageRangeItemView = pageRangeItemView
-        pageRangeItemView?.isTextDidEndCallback = true
-        pageRangeItemView?.pageCount = self.pageCount
-        
-        pageRangeItemView?.itemClick = { [unowned self] index, _ in
-            pageRangeSelectedIndex = index
+        if (self.pageRangeItemView == nil) {
+            let viwe = KMConvertPageRangeSettingItemView.createFromNib()
+            self.pageRangeBox.contentView = viwe
+            self.pageRangeItemView = viwe
             
-            guard let callback = self.pageRangeDidChange else {
-                return
+            viwe?.itemClick = { [unowned self] index, _ in
+                pageRangeSelectedIndex = index
+                
+                guard let callback = self.pageRangeDidChange else {
+                    return
+                }
+                
+                callback(KMPageRange(rawValue: index)!)
             }
             
-            callback(KMPageRange(rawValue: index)!)
-        }
-        
-        pageRangeItemView?.textDidEndEditingCallback = { [unowned self] textString in
-            let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
-            if (pageRange != .custom) {
-                return
-            }
-            
-            guard let callback = pageRangeDidInputFinishCallback else {
-                return
+            viwe?.textDidEndEditingCallback = { [unowned self] textString in
+                let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
+                if (pageRange != .custom) {
+                    return
+                }
+                
+                guard let callback = pageRangeDidInputFinishCallback else {
+                    return
+                }
+                
+                callback(textString)
             }
-            
-            callback(textString)
         }
+
+        self.pageRangeItemView?.isTextDidEndCallback = true
+        self.pageRangeItemView?.pageCount = self.pageCount
     }
     
     override func getPageRangeString() -> String {
@@ -111,11 +103,11 @@ class KMConvertImageSettingView: KMConvertSettingView {
 
 extension KMConvertImageSettingView: KMSelectPopButtonDelegate {    
     func km_comboBoxSelectionDidChange(_ obj: KMDesignSelect) {
-        if formartView.isEqual(to: obj) {
-            if formartView.indexOfSelectedItem < 0 {
+        if (obj.isEqual(to: self.formartView)) {
+            if formartView!.indexOfSelectedItem < 0 {
                 selectedFormatIndex = 0
             } else {
-                selectedFormatIndex = formartView.indexOfSelectedItem
+                selectedFormatIndex = formartView!.indexOfSelectedItem
             }
         } else if (obj.isEqual(to: self.dpiVC)) {
             if let index = self.dpiVC?.indexOfSelectedItem {

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertOCRSettingItemView.swift

@@ -5,7 +5,7 @@
 //  Created by tangchao on 2022/12/6.
 //
 
-class KMConvertOCRSettingItemView: KMConvertSettingView {
+class KMConvertOCRSettingItemView: KMConvertBaseView {
     @IBOutlet weak var titleLabel: NSTextField!
     @IBOutlet weak var checkBox: NSBox!
     @IBOutlet weak var languageBox: NSBox!

+ 1 - 18
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertSettingView.swift

@@ -5,28 +5,12 @@
 //  Created by tangchao on 2023/5/9.
 //
 
-import Cocoa
-
 let kKMConvertLanugageSelectedIndex: String = "KMConvertLanugageSelectedIndex"
 
 typealias KMConvertSettingViewPageRangeDidChangeCallback = (_ pageRange: KMPageRange) -> Void
 typealias KMConvertSettingViewPageRangeDidInputFinishCallback = (_ pageRangeString: String) -> ()
-typealias KMConvertSettingViewLanugageDidSelectedCallback = (_ index: Int) -> ()
 
-class KMConvertSettingView: NSView, NibLoadable {
-    static var nibName: String? {
-        return "KMConvertBaseWindowController"
-    }
-    
-    static func createFromNib(in bundle: Bundle = Bundle.main) -> Self? {
-        guard let nibName = nibName else { return nil }
-        var topLevelArray: NSArray? = nil
-        bundle.loadNibNamed(NSNib.Name(nibName), owner: nil, topLevelObjects: &topLevelArray)
-        guard let results = topLevelArray else { return nil }
-        let views = Array<Any>(results).filter { $0 is Self }
-        return views.last as? Self
-    }
-    
+class KMConvertSettingView: KMConvertBaseView {
     private var _currentLanguage: String?
     var currentLanguage: String? {
         get {
@@ -69,7 +53,6 @@ class KMConvertSettingView: NSView, NibLoadable {
     var pageRangeSelectedIndex: Int = 0
     var pageRangeDidChange: KMConvertSettingViewPageRangeDidChangeCallback?
     var pageRangeDidInputFinishCallback: KMConvertSettingViewPageRangeDidInputFinishCallback?
-    var lanugageDidSelected: KMConvertSettingViewLanugageDidSelectedCallback?
     
     var ocrItemView: KMConvertOCRSettingItemView?
     var pageRangeItemView: KMConvertPageRangeSettingItemView?