Преглед на файлове

Merge branch 'develop_PDFReaderProNew' of git.kdan.cc:Mac_PDF/PDF_Office into develop_PDFReaderProNew

tangchao преди 1 година
родител
ревизия
9bbd28d953

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Print/Model/KMPrintPageModel.swift

@@ -18,7 +18,7 @@ struct KMPrintPageRange {
         case currentPage = "Current Page" //当前页面
         case oddPage = "Odd Page" //奇数页
         case evenPage = "Even Page" //偶数页
-        case custom = "Custom" //自定义页面
+        case custom = "e.g. 1,3-5,10" //自定义页面
         
         static func allValues() -> [String] {
             var array: [String] = []

+ 11 - 2
PDF Office/PDF Master/Class/PDFTools/Print/Model/KMPrintPaperModel.swift

@@ -33,11 +33,20 @@ enum KMPrintPaperDirectionType: String, CaseIterable {
     }
 }
 
-enum KMPrintPaperInfoUnit: String {
+enum KMPrintPaperInfoUnit: String, CaseIterable {
     case mm = "mm"
     case cm = "cm"
     case `in` = "in"
-    case px
+    case px = "px"
+    
+    static func allValues() -> [String] {
+        var array: [String] = []
+        for key in KMPrintPaperInfoUnit.allCases {
+            array.append(key.rawValue)
+        }
+        array.removeLast()
+        return array
+    }
 }
 
 //打印纸张设置

+ 91 - 4
PDF Office/PDF Master/Class/PDFTools/Print/View/PrintSettingView/View/Pamphlet/KMPrintPamphletView.swift

@@ -7,12 +7,99 @@
 
 import Cocoa
 
-class KMPrintPamphletView: KMBaseXibView {
+typealias KMPrintPamphletViewPageSettingChange = (_ view: KMPrintPamphletView, _ model: KMPrintModel) -> Void
+typealias KMPrintPamphletViewPrintSettingChange = (_ view: KMPrintPamphletView, _ model: KMPrintModel) -> Void
 
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
 
-        // Drawing code here.
+class KMPrintPamphletView: KMBaseXibView, NSComboBoxDelegate {
+    @IBOutlet weak var bookletUnitLabel: NSTextField!
+    @IBOutlet weak var bookletPageSizeLabel: NSTextField!
+    @IBOutlet weak var bookletSubsetLable: NSTextField!
+    @IBOutlet weak var bookletSheetFromLabel: NSTextField!
+    @IBOutlet weak var bookletSheetPickToLabel: NSTextField!
+    @IBOutlet weak var bookletBindingLabel: NSTextField!
+    @IBOutlet weak var BookletCommentsFormsLabel: NSTextField!
+    @IBOutlet weak var bookletPageGapLabel: NSTextField!
+    @IBOutlet weak var bookletGapUnitLabel: NSTextField!
+    @IBOutlet weak var bookletPageRangeLabel: NSTextField!
+    @IBOutlet weak var bookletPagesGapStepper: NSStepper!
+    @IBOutlet weak var bookletUnitComboBox: NSComboBox!
+    @IBOutlet weak var bookletPageSizeComboBox: NSComboBox!
+    @IBOutlet weak var bookletSubsetComboBox: NSComboBox!
+    @IBOutlet weak var bookletBindingComboBox: NSComboBox!
+    @IBOutlet weak var bookletCommentFormsComboBox: NSComboBox!
+    @IBOutlet weak var bookletPageRangeComboBox: NSComboBox!
+    @IBOutlet weak var bookletPageGapTextField: NSTextField!
+    @IBOutlet weak var bookletNeedAutoRotatePagesButton: NSButton!
+    @IBOutlet weak var bookletReversePagesButton: NSButton!
+    @IBOutlet weak var bookletSheetStartTextField: NSTextField!
+    @IBOutlet weak var bookletSheetEndTextField: NSTextField!
+    @IBOutlet weak var pageWidthTextField: NSTextField!
+    @IBOutlet weak var pageHeightTextField: NSTextField!
+    @IBOutlet weak var unitTLabel: NSTextField!
+    
+    var pageSettingChangeAction: KMPrintPamphletViewPageSettingChange?
+    var printSettingChangeAction: KMPrintPamphletViewPrintSettingChange?
+    
+    lazy var viewModel: KMPrintViewModel = KMPrintViewModel()
+    
+    
+    override func updateLanguage() {
+        self.bookletUnitLabel.stringValue = NSLocalizedString("Unit:", comment: "")
+        self.bookletPageSizeLabel.stringValue = NSLocalizedString("Page size:", comment: "")
+        self.bookletSubsetLable.stringValue = NSLocalizedString("Booklet Subset:", comment: "")
+        self.bookletBindingLabel.stringValue = NSLocalizedString("Binding:", comment: "")
+        self.bookletPageGapLabel.stringValue = String(format: NSLocalizedString("%@:", comment: ""), NSLocalizedString("Margin", comment: ""))
+        self.bookletNeedAutoRotatePagesButton.title = NSLocalizedString("Auto-rotate pages within each sheet", comment: "")
+        self.bookletReversePagesButton.title = NSLocalizedString("Reverse pages", comment: "")
+        self.bookletPageRangeLabel.stringValue = NSLocalizedString("Page Range", comment: "")
+        self.bookletSheetFromLabel.stringValue = NSLocalizedString("Sheet from:", comment: "")
+        self.bookletSheetPickToLabel.stringValue = NSLocalizedString("to:", comment: "")
+        self.BookletCommentsFormsLabel.stringValue = NSLocalizedString("Comments & Forms:", comment: "")
     }
     
+    override func setup() {
+        self.bookletUnitComboBox.addItems(withObjectValues: KMPrintPaperInfoUnit.allValues())
+        self.bookletUnitComboBox.isEditable = false
+        self.bookletUnitComboBox.isSelectable = false
+        self.bookletUnitComboBox.selectItem(at: 0)
+        self.bookletUnitComboBox.delegate = self
+
+        var tPaperArray = KMPrintPaperInfo.KMPaperType.allValues()
+        tPaperArray.removeFirst()
+        self.bookletPageSizeComboBox.addItems(withObjectValues: tPaperArray)
+        self.bookletPageSizeComboBox.isEditable = false
+        self.bookletPageSizeComboBox.isSelectable = false
+        self.bookletPageSizeComboBox.selectItem(at: 1)
+        self.bookletPageSizeComboBox.delegate = self
+        self.pageWidthTextField.isEnabled = false
+        self.pageHeightTextField.isEnabled = false
+
+        self.bookletSubsetComboBox.addItems(withObjectValues: KMPrintPageOperation.Pamphlet.PamphletType.allValues())
+        self.bookletSubsetComboBox.isEditable = false
+        self.bookletSubsetComboBox.isSelectable = false
+        self.bookletSubsetComboBox.selectItem(at: 0)
+        self.bookletSubsetComboBox.delegate = self
+
+        self.bookletBindingComboBox.addItems(withObjectValues: KMPrintPageOperation.Pamphlet.BookbindingType.allValues())
+        self.bookletBindingComboBox.isEditable = false
+        self.bookletBindingComboBox.isSelectable = false
+        self.bookletBindingComboBox.selectItem(at: 0)
+        self.bookletBindingComboBox.delegate = self
+
+        self.bookletCommentFormsComboBox.addItems(withObjectValues: KMPrintContentType.allValues())
+        self.bookletCommentFormsComboBox.isEditable = false
+        self.bookletCommentFormsComboBox.isSelectable = false
+        self.bookletCommentFormsComboBox.selectItem(at: 0)
+        self.bookletCommentFormsComboBox.delegate = self
+
+        self.bookletPageRangeComboBox.addItems(withObjectValues: KMPrintPageRange.PageRangeType.allValues())
+        self.bookletPageRangeComboBox.placeholderString = NSLocalizedString("e.g. 1,3-5,10", comment: "")
+        self.bookletPageRangeComboBox.selectItem(at: 0)
+        self.bookletPageRangeComboBox.isEditable = false
+
+        self.bookletPageGapTextField.delegate = self
+        self.bookletSheetStartTextField.delegate = self
+        self.bookletSheetEndTextField.delegate = self
+    }
 }

+ 29 - 1
PDF Office/PDF Master/Class/PDFTools/Print/View/PrintSettingView/View/Pamphlet/KMPrintPamphletView.xib

@@ -6,7 +6,35 @@
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMPrintPamphletView" customModule="PDF_Master" customModuleProvider="target"/>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMPrintPamphletView" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="BookletCommentsFormsLabel" destination="LiI-id-us0" id="oa7-gE-LJo"/>
+                <outlet property="bookletBindingComboBox" destination="pTG-Ps-mV4" id="lnv-8n-8Fn"/>
+                <outlet property="bookletBindingLabel" destination="Odq-XQ-VXe" id="n6g-xE-g4D"/>
+                <outlet property="bookletCommentFormsComboBox" destination="QUM-ac-abF" id="uGB-5e-llk"/>
+                <outlet property="bookletGapUnitLabel" destination="IaC-Nu-0SW" id="BIM-eU-zXQ"/>
+                <outlet property="bookletNeedAutoRotatePagesButton" destination="Wn1-KX-AgT" id="1Xr-gG-NOj"/>
+                <outlet property="bookletPageGapLabel" destination="mNV-SB-Z05" id="6Pr-J1-YGE"/>
+                <outlet property="bookletPageGapTextField" destination="Anh-N3-yNf" id="Mik-sC-XV9"/>
+                <outlet property="bookletPageRangeComboBox" destination="OTf-aQ-G4l" id="4tM-8F-yYx"/>
+                <outlet property="bookletPageRangeLabel" destination="NTQ-QU-mva" id="4a2-Zi-TuV"/>
+                <outlet property="bookletPageSizeComboBox" destination="kZO-qT-0wi" id="j6M-8j-agp"/>
+                <outlet property="bookletPageSizeLabel" destination="UMu-vN-WCE" id="OUK-nk-QlO"/>
+                <outlet property="bookletPagesGapStepper" destination="x6b-Xn-y0s" id="tnX-4N-wxY"/>
+                <outlet property="bookletReversePagesButton" destination="xyl-Op-iyZ" id="12n-u2-18O"/>
+                <outlet property="bookletSheetEndTextField" destination="ECu-Is-Mqp" id="eie-RS-Ab3"/>
+                <outlet property="bookletSheetFromLabel" destination="3qe-q8-N2W" id="oKy-fH-U6f"/>
+                <outlet property="bookletSheetPickToLabel" destination="kUy-W9-wRA" id="oZk-nl-nxb"/>
+                <outlet property="bookletSheetStartTextField" destination="KLU-tp-IwD" id="KUM-7t-Nwe"/>
+                <outlet property="bookletSubsetComboBox" destination="J1Y-Mb-gjb" id="Hpg-ed-c4R"/>
+                <outlet property="bookletSubsetLable" destination="8PA-Nt-J57" id="2gj-qW-tSa"/>
+                <outlet property="bookletUnitComboBox" destination="1Yc-EA-IDH" id="ERJ-0R-xGK"/>
+                <outlet property="bookletUnitLabel" destination="vBR-Oh-oHi" id="Dxn-HD-yS4"/>
+                <outlet property="pageHeightTextField" destination="oAl-Wk-QEh" id="Jt7-30-S8G"/>
+                <outlet property="pageWidthTextField" destination="IcE-jj-tqu" id="wYG-go-xDq"/>
+                <outlet property="unitTLabel" destination="CH9-Fl-nlj" id="Uno-i2-zHd"/>
+            </connections>
+        </customObject>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
         <customView id="c22-O7-iKe">