Browse Source

【批量】- UI优化

liujiajie 1 year ago
parent
commit
ed948f50e8

+ 2 - 2
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Vip/KMImageNameElseVIP2.imageset/Contents.json

@@ -1,7 +1,7 @@
 {
   "images" : [
     {
-      "filename" : "light_ic_else_vip_2.pdf",
+      "filename" : "KMImageNameElseVIP2.pdf",
       "idiom" : "mac"
     },
     {
@@ -11,7 +11,7 @@
           "value" : "dark"
         }
       ],
-      "filename" : "ic_else_vip_2.pdf",
+      "filename" : "KMImageNameElseVIP2 1.pdf",
       "idiom" : "mac"
     }
   ],

+ 87 - 0
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Vip/KMImageNameElseVIP2.imageset/KMImageNameElseVIP2 1.pdf

@@ -0,0 +1,87 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
+1.000000 1.000000 1.000000 scn
+2.000000 10.000000 m
+7.000000 10.000000 l
+7.000000 7.000000 l
+9.000000 7.000000 l
+9.000000 0.000000 l
+0.000000 0.000000 l
+0.000000 7.000000 l
+2.000000 7.000000 l
+2.000000 10.000000 l
+h
+5.750000 8.750000 m
+5.750000 7.000000 l
+3.250000 7.000000 l
+3.250000 8.750000 l
+5.750000 8.750000 l
+h
+5.000000 2.500000 m
+5.000000 4.500000 l
+4.000000 4.500000 l
+4.000000 2.500000 l
+5.000000 2.500000 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  515
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 9.000000 10.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000605 00000 n
+0000000627 00000 n
+0000000799 00000 n
+0000000873 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+932
+%%EOF

+ 87 - 0
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Vip/KMImageNameElseVIP2.imageset/KMImageNameElseVIP2.pdf

@@ -0,0 +1,87 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
+1.000000 1.000000 1.000000 scn
+2.000000 10.000000 m
+7.000000 10.000000 l
+7.000000 7.000000 l
+9.000000 7.000000 l
+9.000000 0.000000 l
+0.000000 0.000000 l
+0.000000 7.000000 l
+2.000000 7.000000 l
+2.000000 10.000000 l
+h
+5.750000 8.750000 m
+5.750000 7.000000 l
+3.250000 7.000000 l
+3.250000 8.750000 l
+5.750000 8.750000 l
+h
+5.000000 2.500000 m
+5.000000 4.500000 l
+4.000000 4.500000 l
+4.000000 2.500000 l
+5.000000 2.500000 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  515
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 9.000000 10.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000605 00000 n
+0000000627 00000 n
+0000000799 00000 n
+0000000873 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+932
+%%EOF

BIN
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Vip/KMImageNameElseVIP2.imageset/ic_else_vip_2.pdf


BIN
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Vip/KMImageNameElseVIP2.imageset/light_ic_else_vip_2.pdf


+ 9 - 1
PDF Office/PDF Master/Class/Batch/View/KMConvertCollectionViewHeader.swift

@@ -11,6 +11,8 @@ typealias convertCollectionViewHeaderClickedCallBack = () -> ()
 
 class KMConvertCollectionViewHeader: KMBaseXibView{
     
+    @IBOutlet var layerColorView: NSView!
+    
     @IBOutlet var indicateLabel: NSTextField!
     
     @IBOutlet var imageView: NSImageView!
@@ -39,6 +41,12 @@ class KMConvertCollectionViewHeader: KMBaseXibView{
 //                    containerView.isHidden = true
 //                }
 //        购买状态变化通知
+        self.layerColorView.wantsLayer = true
+        self.layerColorView.layer?.masksToBounds = true
+        self.layerColorView.layer?.cornerRadius = 12
+        self.layerColorView.layer?.backgroundColor = NSColor(red: 1.0, green: 94/255.0, blue: 44/255.0, alpha: 1.0).cgColor
+        
+        
         NotificationCenter.default.addObserver(self, selector: #selector(IAPProductRestoreFinishedNotification(notification:)), name: NSNotification.Name(rawValue: "KMIAPProductPurchasedNotification"), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(IAPProductRestoreFinishedNotification(notification:)), name: NSNotification.Name(rawValue: "KMIAPProductRestoreFinishedNotification"), object: nil)
     }
@@ -48,7 +56,7 @@ class KMConvertCollectionViewHeader: KMBaseXibView{
         indicateLabel.textColor = KMAppearance.Layout.h0Color()
         indicateLabel.stringValue = NSLocalizedString("Convert", comment: "")
         infoLabel.font = NSFont.boldSystemFont(ofSize: 11)
-        infoLabel.textColor = KMAppearance.Interactive.m0Color()
+        infoLabel.textColor = NSColor.white
         infoLabel.stringValue = NSLocalizedString("Upgrade to Pro", comment: "")
         infoLabel.toolTip = NSLocalizedString("Upgrade to Pro", comment: "")
     }

+ 17 - 21
PDF Office/PDF Master/Class/Batch/View/KMConvertCollectionViewHeader.xib

@@ -12,6 +12,7 @@
                 <outlet property="imageView" destination="JZM-NO-k0s" id="hEv-AK-w8s"/>
                 <outlet property="indicateLabel" destination="adF-Xf-x0M" id="KPt-Mj-Snn"/>
                 <outlet property="infoLabel" destination="Sft-Vr-raz" id="goo-JB-Rex"/>
+                <outlet property="layerColorView" destination="kE0-nK-XOe" id="upv-Fd-mWo"/>
             </connections>
         </customObject>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
@@ -20,7 +21,7 @@
             <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="adF-Xf-x0M">
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="adF-Xf-x0M">
                     <rect key="frame" x="8" y="241" width="37" height="16"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="ovW-WC-9XR">
                         <font key="font" usesAppearanceFont="YES"/>
@@ -29,25 +30,21 @@
                     </textFieldCell>
                 </textField>
                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="65M-xr-NTJ">
-                    <rect key="frame" x="53" y="237" width="118" height="24"/>
+                    <rect key="frame" x="53" y="237" width="77" height="24"/>
                     <subviews>
-                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0aS-gO-4wt">
-                            <rect key="frame" x="0.0" y="0.0" width="118" height="24"/>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="kE0-nK-XOe">
+                            <rect key="frame" x="0.0" y="0.0" width="77" height="24"/>
                             <constraints>
-                                <constraint firstAttribute="height" constant="24" id="Bhq-1K-h7Y"/>
+                                <constraint firstAttribute="height" constant="24" id="reR-Nn-XQz"/>
                             </constraints>
-                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="KMImageNameElseVIPBackgroud" id="cXq-Dl-O9N"/>
-                        </imageView>
+                        </customView>
                         <imageView horizontalHuggingPriority="252" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="JZM-NO-k0s">
-                            <rect key="frame" x="12" y="6" width="12" height="13"/>
+                            <rect key="frame" x="12" y="7" width="9" height="10"/>
                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameElseVIP2" id="E3c-ED-XE8"/>
                         </imageView>
-                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Sft-Vr-raz">
-                            <rect key="frame" x="26" y="4" width="82" height="16"/>
-                            <constraints>
-                                <constraint firstAttribute="width" relation="lessThanOrEqual" constant="100" id="eDk-mu-WPU"/>
-                            </constraints>
-                            <textFieldCell key="cell" lineBreakMode="truncatingTail" title="Label" id="SXE-93-vrI">
+                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Sft-Vr-raz">
+                            <rect key="frame" x="23" y="4" width="41" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="truncatingTail" alignment="center" title="Label" id="SXE-93-vrI">
                                 <font key="font" metaFont="system"/>
                                 <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -55,15 +52,15 @@
                         </textField>
                     </subviews>
                     <constraints>
-                        <constraint firstItem="0aS-gO-4wt" firstAttribute="leading" secondItem="65M-xr-NTJ" secondAttribute="leading" id="1OU-MT-YXj"/>
-                        <constraint firstItem="0aS-gO-4wt" firstAttribute="top" secondItem="65M-xr-NTJ" secondAttribute="top" id="8bG-tC-aUJ"/>
+                        <constraint firstItem="kE0-nK-XOe" firstAttribute="top" secondItem="65M-xr-NTJ" secondAttribute="top" id="7OJ-cj-vi1"/>
+                        <constraint firstItem="kE0-nK-XOe" firstAttribute="leading" secondItem="65M-xr-NTJ" secondAttribute="leading" id="BsW-k2-MlS"/>
                         <constraint firstAttribute="height" constant="24" id="DgP-kl-kaC"/>
+                        <constraint firstItem="Sft-Vr-raz" firstAttribute="centerX" secondItem="65M-xr-NTJ" secondAttribute="centerX" constant="5" id="NZ2-Za-Uj7"/>
                         <constraint firstItem="Sft-Vr-raz" firstAttribute="leading" secondItem="JZM-NO-k0s" secondAttribute="trailing" constant="4" id="OfJ-gA-7hU"/>
-                        <constraint firstItem="JZM-NO-k0s" firstAttribute="leading" secondItem="65M-xr-NTJ" secondAttribute="leading" constant="12" id="Zi0-5T-Xvl"/>
                         <constraint firstItem="JZM-NO-k0s" firstAttribute="centerY" secondItem="65M-xr-NTJ" secondAttribute="centerY" id="bVw-DB-Qaj"/>
                         <constraint firstItem="Sft-Vr-raz" firstAttribute="centerY" secondItem="65M-xr-NTJ" secondAttribute="centerY" id="d0D-sM-aEA"/>
-                        <constraint firstAttribute="trailing" secondItem="Sft-Vr-raz" secondAttribute="trailing" constant="12" id="dYb-NQ-e4g"/>
-                        <constraint firstAttribute="trailing" secondItem="0aS-gO-4wt" secondAttribute="trailing" id="nNR-0h-yMJ"/>
+                        <constraint firstItem="JZM-NO-k0s" firstAttribute="leading" secondItem="65M-xr-NTJ" secondAttribute="leading" constant="12" id="ewS-dT-5wS"/>
+                        <constraint firstAttribute="trailing" secondItem="kE0-nK-XOe" secondAttribute="trailing" id="mdr-XH-kNT"/>
                     </constraints>
                 </customView>
             </subviews>
@@ -77,7 +74,6 @@
         </customView>
     </objects>
     <resources>
-        <image name="KMImageNameElseVIP2" width="12" height="13"/>
-        <image name="KMImageNameElseVIPBackgroud" width="118" height="24"/>
+        <image name="KMImageNameElseVIP2" width="9" height="10"/>
     </resources>
 </document>

+ 7 - 7
PDF Office/PDF Master/Class/Batch/WindowController/KMBatchOperateLeftViewController.xib

@@ -6,7 +6,7 @@
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchOperateLeftViewController" customModule="PDF_Master" customModuleProvider="target">
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchOperateLeftViewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="DPIColumn" destination="AKG-QZ-eeC" id="Glj-ry-TZJ"/>
                 <outlet property="blankView" destination="G6v-if-4fr" id="0kN-km-HnU"/>
@@ -34,7 +34,7 @@
                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="yD5-qe-EWK">
                     <rect key="frame" x="0.0" y="419" width="673" height="40"/>
                     <subviews>
-                        <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9ff-Qn-trv" customClass="KMLongerButton" customModule="PDF_Master" customModuleProvider="target">
+                        <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9ff-Qn-trv" customClass="KMLongerButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                             <rect key="frame" x="16" y="12" width="81" height="16"/>
                             <buttonCell key="cell" type="square" title="Add File..." bezelStyle="shadowlessSquare" image="KMImageNameUXIconBtnAddHov" imagePosition="left" alignment="center" lineBreakMode="truncatingTail" inset="2" id="GI3-CE-S91" customClass="KMButtomCell">
                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -120,7 +120,7 @@
                                             <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
                                         <prototypeCellViews>
-                                            <tableCellView id="nlT-SK-XE6" customClass="KMBatchTableCellView" customModule="PDF_Master" customModuleProvider="target">
+                                            <tableCellView id="nlT-SK-XE6" customClass="KMBatchTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                 <rect key="frame" x="184" y="1" width="140" height="17"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             </tableCellView>
@@ -185,7 +185,7 @@
                                         </textFieldCell>
                                         <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
                                         <prototypeCellViews>
-                                            <tableCellView id="tdZ-lu-oAc" customClass="KMBatchTableCellView" customModule="PDF_Master" customModuleProvider="target">
+                                            <tableCellView id="tdZ-lu-oAc" customClass="KMBatchTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                 <rect key="frame" x="491" y="1" width="140" height="17"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             </tableCellView>
@@ -203,7 +203,7 @@
                                         </textFieldCell>
                                         <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
                                         <prototypeCellViews>
-                                            <tableCellView id="nvT-ce-HBH" customClass="KMBatchTableCellView" customModule="PDF_Master" customModuleProvider="target">
+                                            <tableCellView id="nvT-ce-HBH" customClass="KMBatchTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                 <rect key="frame" x="634" y="1" width="104" height="17"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             </tableCellView>
@@ -230,12 +230,12 @@
                         <rect key="frame" x="224" y="17" width="15" height="102"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </scroller>
-                    <tableHeaderView key="headerView" wantsLayer="YES" id="Mlr-rw-6rm" customClass="KMTableHeaderView" customModule="PDF_Master" customModuleProvider="target">
+                    <tableHeaderView key="headerView" wantsLayer="YES" id="Mlr-rw-6rm" customClass="KMTableHeaderView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                         <rect key="frame" x="0.0" y="0.0" width="740" height="25"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </tableHeaderView>
                 </scrollView>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="G6v-if-4fr" customClass="KMBlankView" customModule="PDF_Master" customModuleProvider="target">
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="G6v-if-4fr" customClass="KMBlankView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="0.0" y="0.0" width="673" height="419"/>
                     <subviews>
                         <customView translatesAutoresizingMaskIntoConstraints="NO" id="9GJ-Lf-bRA">

+ 41 - 26
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateConvertViewController.swift

@@ -159,41 +159,56 @@ class KMBatchOperateConvertViewController: KMBatchOperateBaseViewController,NSCo
         self.tableMenu.isHidden = true
         self.allContentMenu.isHidden = true
 #if VERSION_FREE
-        if .WordStandard == self.convertType {
-            moreLabelString = NSLocalizedString("Export PDF to Word and other Microsoft Office formats", comment: "")
-        } else if .WordAdvance == self.convertType ||
-            .Excel == self.convertType ||
-            .PowerPoint == self.convertType ||
-            .CSV == self.convertType ||
-            .RTF == self.convertType ||
-            .GIF == self.convertType ||
-            .TIFF == self.convertType ||
-            .JPEG2000 == self.convertType ||
-            .BMP == self.convertType ||
-            .TGA == self.convertType {
-            moreLabelString = NSLocalizedString("The first 10 pages for free. More precise one.", comment: "")
+        if !IAPProductsManager.default().isAvailableAllFunction() {
+            moreLabelString = String(format: "%@ %@", KMLocalizedString("The first 10 pages for free"), KMLocalizedString("Unlimited Convert"))
+        }else {
+            if !IAPProductsManager.default().isAvailableAdvancedPDFToOffice() {
+                if .WordAdvance == self.convertType ||
+                    .WordStandard == self.convertType ||
+                    .Excel == self.convertType ||
+                    .PowerPoint == self.convertType ||
+                    .CSV == self.convertType ||
+                    .RTF == self.convertType ||
+                    .GIF == self.convertType ||
+                    .TIFF == self.convertType ||
+                    .JPEG2000 == self.convertType ||
+                    .BMP == self.convertType ||
+                    .TGA == self.convertType {
+                    moreLabelString = String(format: "%@ %@", KMLocalizedString("The first 10 pages for free"), KMLocalizedString("Unlimited Convert"))
+                }
+            }
         }
 #else
         // 付费版
-        if .WordStandard == self.convertType {
-            moreLabelString = NSLocalizedString("Export PDF to Word and other Microsoft Office formats", comment: "")
-        } else if .WordAdvance == self.convertType ||
-            .Excel == self.convertType ||
-            .PowerPoint == self.convertType ||
-            .CSV == self.convertType ||
-            .RTF == self.convertType ||
-            .GIF == self.convertType ||
-            .TIFF == self.convertType ||
-            .JPEG2000 == self.convertType ||
-            .BMP == self.convertType ||
-            .TGA == self.convertType {
-            moreLabelString = NSLocalizedString("The first 10 pages for free. More precise one.", comment: "")
+        if !IAPProductsManager.default().isAvailableAdvancedPDFToOffice() {
+            if .WordAdvance == self.convertType ||
+                .WordStandard == self.convertType ||
+                .Excel == self.convertType ||
+                .PowerPoint == self.convertType ||
+                .CSV == self.convertType ||
+                .RTF == self.convertType ||
+                .GIF == self.convertType ||
+                .TIFF == self.convertType ||
+                .JPEG2000 == self.convertType ||
+                .BMP == self.convertType ||
+                .TGA == self.convertType {
+                moreLabelString = String(format: "%@ %@", KMLocalizedString("The first 10 pages for free"), KMLocalizedString("Unlimited Convert"))
+            }
         }
 #endif
         
         var hasInfo = false
         var isExcel = false
         self.detailInfoLabel.stringValue = moreLabelString
+        if let range = moreLabelString.range(of: NSLocalizedString("Unlimited Convert", comment: "")) {
+            let newR: NSRange = moreLabelString.nsRange(from: range)!
+            let attributedStr = NSMutableAttributedString(string: moreLabelString)
+            attributedStr.addAttribute(.foregroundColor, value: NSColor.labelColor, range: NSRange(location: 0, length: newR.location - 1))
+            attributedStr.addAttribute(.foregroundColor, value: NSColor(red: 8/255, green: 124/255, blue: 1, alpha: 1), range: newR)
+            attributedStr.addAttribute(.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: newR)
+            detailInfoLabel.attributedStringValue = attributedStr
+        }
+        
         if moreLabelString.count > 0 {
             self.detailInfoView.isHidden = false
             self.containerViewTopConstraint.constant = 16

+ 2 - 2
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateConvertViewController.xib

@@ -6,7 +6,7 @@
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchOperateConvertViewController" customModule="PDF_Master" customModuleProvider="target">
+        <customObject id="-2" userLabel="File's Owner" customClass="KMBatchOperateConvertViewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="allContentBtn" destination="6m4-cW-y3p" id="dFa-4U-LNf"/>
                 <outlet property="allContentMenu" destination="oiy-ho-hv0" id="T0R-RY-Z4Z"/>
@@ -93,7 +93,7 @@
                                 <action selector="buttonClicked_Convert:" target="-2" id="Lwc-MC-9me"/>
                             </connections>
                         </button>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="0aW-6P-3ho" customClass="KMDetailInfoView" customModule="PDF_Master" customModuleProvider="target">
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="0aW-6P-3ho" customClass="KMDetailInfoView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                             <rect key="frame" x="16" y="128" width="477" height="16"/>
                             <subviews>
                                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="71Q-Bc-2Mg">

+ 1 - 1
PDF Office/PDF Master/Class/KMFileManager/KMFile/KMFile.swift

@@ -89,7 +89,7 @@ class KMFile: NSObject {
                 self.image = image
                 self.info = info
                 self.pdfDocument = document
-                self.isLocked = document!.isLocked
+                self.isLocked = ((document?.isLocked) != nil)
                 self.showPath = string.description
             }
         }

+ 18 - 11
PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMConvertWindowController.swift

@@ -384,13 +384,12 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
         excelStyleBox.isHidden = true
 #if VERSION_FREE
         // 座机版
-        if !(IAPProductsManager.default().isAvailableAllFunction()) {
-            moreLabelString = KMLocalizedString("The first 10 pages for free. More precise one.", nil)
+        if !IAPProductsManager.default().isAvailableAllFunction() {
+            moreLabelString = String(format: "%@ %@", KMLocalizedString("The first 10 pages for free"), KMLocalizedString("Unlimited Convert"))
         } else {
-            if !(IAPProductsManager.default().isAvailableAdvancedPDFToOffice()) {
-                if .Word == self.convertType {
-                    moreLabelString = KMLocalizedString("Export PDF to Word and other Microsoft Office formats", nil)
-                } else if self.convertType == .AdvancedWord ||
+            if !IAPProductsManager.default().isAvailableAdvancedPDFToOffice() {
+                if .Word == self.convertType ||
+                    self.convertType == .AdvancedWord ||
                     .Excel == self.convertType ||
                     .PPT == self.convertType ||
                     .CSV == self.convertType ||
@@ -400,7 +399,7 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
                     .JP2 == self.convertType ||
                     .BMP == self.convertType ||
                     .TGA == self.convertType {
-                    moreLabelString = KMLocalizedString("The first 10 pages for free. More precise one.", nil)
+                    moreLabelString = String(format: "%@ %@", KMLocalizedString("The first 10 pages for free"), KMLocalizedString("Unlimited Convert"))
                 }
             }
         }
@@ -408,9 +407,8 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
 #else
         // 付费版
         if !(IAPProductsManager.default().isAvailableAdvancedPDFToOffice()) {
-            if .Word == self.convertType {
-                moreLabelString = KMLocalizedString("Export PDF to Word and other Microsoft Office formats", nil)
-            } else if self.convertType == .AdvancedWord ||
+            if .Word == self.convertType ||
+                self.convertType == .AdvancedWord ||
                 .Excel == self.convertType ||
                 .PPT == self.convertType ||
                 .CSV == self.convertType ||
@@ -420,7 +418,7 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
                 .JP2 == self.convertType ||
                 .BMP == self.convertType ||
                 .TGA == self.convertType {
-                moreLabelString = KMLocalizedString("The first 10 pages for free. More precise one.", nil)
+                moreLabelString = String(format: "%@ %@", KMLocalizedString("The first 10 pages for free"), KMLocalizedString("Unlimited Convert"))
             }
         }
 #endif
@@ -443,6 +441,15 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
             moreConvertBox.isHidden = false
             moreButton.isHidden = false
             moreConvertLabel.stringValue = moreLabelString
+            
+            if let range = moreLabelString.range(of: NSLocalizedString("Unlimited Convert", comment: "")) {
+                let newR: NSRange = moreLabelString.nsRange(from: range)!
+                let attributedStr = NSMutableAttributedString(string: moreLabelString)
+                attributedStr.addAttribute(.foregroundColor, value: NSColor.labelColor, range: NSRange(location: 0, length: newR.location - 1))
+                attributedStr.addAttribute(.foregroundColor, value: NSColor(red: 8/255, green: 124/255, blue: 1, alpha: 1), range: newR)
+                attributedStr.addAttribute(.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: newR)
+                moreConvertLabel.attributedStringValue = attributedStr
+            }
         }
         
         if .Excel == convertType {