فهرست منبع

【订阅】主页右上角升级按钮显示逻辑调整

lizhe 1 سال پیش
والد
کامیت
99c094b2a2

+ 24 - 13
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -164,31 +164,31 @@
                     </connections>
                 </button>
                 <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="WXF-Ar-JGk" customClass="KMSegmentedBox" customModule="PDF_Master" customModuleProvider="target">
-                    <rect key="frame" x="60" y="12" width="163" height="21"/>
+                    <rect key="frame" x="60" y="11" width="163" height="24"/>
                     <view key="contentView" id="pfi-aZ-YRi">
-                        <rect key="frame" x="0.0" y="0.0" width="163" height="21"/>
+                        <rect key="frame" x="0.0" y="0.0" width="163" height="24"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="PPe-K9-xsc">
-                                <rect key="frame" x="0.0" y="0.0" width="163" height="21"/>
+                                <rect key="frame" x="0.0" y="0.0" width="163" height="24"/>
                                 <subviews>
                                     <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Edb-Jj-wZQ">
-                                        <rect key="frame" x="0.0" y="-1" width="163" height="24"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="163" height="24"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="24" id="LJO-SA-e9E"/>
                                         </constraints>
-                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="icon_btn_advanced" id="Wx4-fK-h42"/>
+                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="icon_button_upgrade" id="Wx4-fK-h42"/>
                                     </imageView>
                                     <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Vr-Dd-FWW">
-                                        <rect key="frame" x="6" y="3" width="147" height="16"/>
-                                        <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Enjoy Advanced Features" id="41X-ZH-ABW">
+                                        <rect key="frame" x="6" y="4" width="147" height="16"/>
+                                        <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="Upgrade" id="41X-ZH-ABW">
                                             <font key="font" metaFont="system"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
                                     </textField>
                                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="po0-Nr-uAM">
-                                        <rect key="frame" x="0.0" y="0.0" width="163" height="21"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="163" height="24"/>
                                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="yZ6-g1-4bH">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
@@ -198,11 +198,21 @@
                                             <action selector="advancedButtonAction:" target="xy6-xE-uD2" id="sTB-S3-6pE"/>
                                         </connections>
                                     </button>
+                                    <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fYe-af-JhM">
+                                        <rect key="frame" x="8" y="4" width="16" height="16"/>
+                                        <constraints>
+                                            <constraint firstAttribute="width" constant="16" id="AEf-Hb-Nof"/>
+                                            <constraint firstAttribute="height" constant="16" id="PUC-8d-Wfp"/>
+                                        </constraints>
+                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Frame 13494" id="7oZ-YD-EiV"/>
+                                    </imageView>
                                 </subviews>
                                 <constraints>
                                     <constraint firstItem="po0-Nr-uAM" firstAttribute="leading" secondItem="PPe-K9-xsc" secondAttribute="leading" id="7jb-1n-C7d"/>
                                     <constraint firstAttribute="trailing" secondItem="7Vr-Dd-FWW" secondAttribute="trailing" constant="12" id="85q-gb-TKf"/>
+                                    <constraint firstItem="fYe-af-JhM" firstAttribute="centerY" secondItem="PPe-K9-xsc" secondAttribute="centerY" id="8cF-zo-aeK"/>
                                     <constraint firstItem="Edb-Jj-wZQ" firstAttribute="leading" secondItem="PPe-K9-xsc" secondAttribute="leading" id="DQw-Qu-TxX"/>
+                                    <constraint firstItem="fYe-af-JhM" firstAttribute="leading" secondItem="PPe-K9-xsc" secondAttribute="leading" constant="8" id="KdR-zv-ebg"/>
                                     <constraint firstItem="po0-Nr-uAM" firstAttribute="top" secondItem="PPe-K9-xsc" secondAttribute="top" id="L9J-yp-cfa"/>
                                     <constraint firstItem="7Vr-Dd-FWW" firstAttribute="centerY" secondItem="PPe-K9-xsc" secondAttribute="centerY" id="NW3-LF-Cgz"/>
                                     <constraint firstItem="7Vr-Dd-FWW" firstAttribute="leading" secondItem="PPe-K9-xsc" secondAttribute="leading" constant="8" id="OKp-ug-Ivh"/>
@@ -221,7 +231,7 @@
                         </constraints>
                     </view>
                     <constraints>
-                        <constraint firstAttribute="height" constant="21" id="0rg-JA-yCn"/>
+                        <constraint firstAttribute="height" constant="24" id="0rg-JA-yCn"/>
                         <constraint firstAttribute="width" constant="163" id="Gpi-1u-CZb"/>
                     </constraints>
                 </box>
@@ -230,7 +240,7 @@
                 <constraint firstItem="7AP-ao-9XP" firstAttribute="top" secondItem="p5u-KH-T9i" secondAttribute="top" constant="10" id="ALZ-rI-7Bq"/>
                 <constraint firstAttribute="trailing" secondItem="7AP-ao-9XP" secondAttribute="trailing" constant="16" id="Hwf-EA-eCz"/>
                 <constraint firstItem="7AP-ao-9XP" firstAttribute="leading" secondItem="WXF-Ar-JGk" secondAttribute="trailing" constant="4" id="hez-eG-GFu"/>
-                <constraint firstItem="WXF-Ar-JGk" firstAttribute="top" secondItem="p5u-KH-T9i" secondAttribute="top" constant="12" id="uS1-UY-z8f"/>
+                <constraint firstItem="WXF-Ar-JGk" firstAttribute="top" secondItem="p5u-KH-T9i" secondAttribute="top" constant="10" id="uS1-UY-z8f"/>
             </constraints>
             <connections>
                 <outlet property="filterPopUpButton" destination="z1h-ey-jyH" id="Z8g-gL-eaw"/>
@@ -376,11 +386,12 @@ Gw
         </customView>
     </objects>
     <resources>
+        <image name="Frame 13494" width="16" height="16"/>
         <image name="Icon_other_avatar_false" width="24" height="24"/>
         <image name="KMImageNameNewHomeRefresh" width="24" height="24"/>
         <image name="KMImageNameNewHomeUpload" width="24" height="24"/>
         <image name="NSStopProgressFreestandingTemplate" width="20" height="20"/>
-        <image name="icon_btn_advanced" width="13" height="24"/>
+        <image name="icon_button_upgrade" width="87" height="24"/>
         <image name="search_author" width="22" height="18"/>
         <image name="search_name" width="22" height="18"/>
     </resources>

+ 18 - 10
PDF Office/PDF Master/Class/ChromiumTabs/KMToolbarRightView.swift

@@ -53,17 +53,20 @@ import Cocoa
     }
     
     @objc func updateView() -> Void {
-        if KMLightMemberManager.manager.canShowAdvancedView && !KMLightMemberManager.manager.isLogin() {
+//        KMLightMemberManager.manager.canShowAdvancedView &&
+        if (!KMLightMemberManager.manager.isLogin() ||
+             (KMLightMemberManager.manager.purchaseState != .subscription &&
+              KMLightMemberManager.manager.purchaseState != .trial)) {
             if self.advancedLabel != nil {
                 self.advancedContentView.isHidden = false
                 self.advancedViewRightConstraint.constant = 4.0
                 self.advancedLabel.font = NSFont.SFProTextRegular(12.0)
                 self.advancedLabel.textColor = NSColor(hex: "#FFFFFF")
                 
-                var advancedString = NSLocalizedString("Enjoy Advanced Features", comment: "")
-                if KMLightMemberManager.manager.purchaseState == .trial {
-                    advancedString = NSLocalizedString("Trialling", comment: "")
-                }
+                var advancedString = NSLocalizedString("Upgrade", comment: "")
+//                if KMLightMemberManager.manager.purchaseState == .trial {
+//                    advancedString = NSLocalizedString("Trialling", comment: "")
+//                }
                 self.advancedLabel.stringValue = advancedString
             }
         } else {
@@ -91,10 +94,10 @@ import Cocoa
     }
     
     func fetchAdvancedViewSize() -> CGSize {
-        var advancedString = NSLocalizedString("Enjoy Advanced Features", comment: "")
-        if KMLightMemberManager.manager.purchaseState == .trial {
-            advancedString = NSLocalizedString("Trialling", comment: "")
-        }
+        var advancedString = NSLocalizedString("Upgrade", comment: "")
+//        if KMLightMemberManager.manager.purchaseState == .trial {
+//            advancedString = NSLocalizedString("Trialling", comment: "")
+//        }
         
         let paragraphStyle = NSMutableParagraphStyle()
         paragraphStyle.lineHeightMultiple = 1.32
@@ -105,7 +108,12 @@ import Cocoa
         let size = title.boundingRect(with: CGSize(width: 300, height: 24) ,
                                       attributes: attributes).size
         
-        return CGSize(width: size.width + 8, height: size.height)
+        let resultSize = CGSize(width: size.width + 8 + 16 + 8 + 8, height: size.height)
+        
+        if self.rightSegmentControlConstraint != nil {
+            self.rightSegmentControlConstraint.constant = resultSize.width
+        }
+        return resultSize
     }
     
     func addNotification() {

+ 21 - 0
PDF Office/PDF Master/Class/ChromiumTabs/TabsImage.xcassets/Frame 13494.imageset/Contents.json

@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "filename" : "Frame 13494.pdf",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 91 - 0
PDF Office/PDF Master/Class/ChromiumTabs/TabsImage.xcassets/Frame 13494.imageset/Frame 13494.pdf

@@ -0,0 +1,91 @@
+%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
+16.000000 8.000000 m
+16.000000 3.581722 12.418278 0.000000 8.000000 0.000000 c
+3.581722 0.000000 0.000000 3.581722 0.000000 8.000000 c
+0.000000 12.418278 3.581722 16.000000 8.000000 16.000000 c
+12.418278 16.000000 16.000000 12.418278 16.000000 8.000000 c
+h
+f
+n
+Q
+q
+1.000000 0.000000 -0.000000 1.000000 3.692627 3.324707 cm
+0.443137 0.447059 1.000000 scn
+4.740712 9.108850 m
+8.438107 5.351848 l
+8.822666 4.961090 8.550304 4.292955 8.006456 4.292955 c
+5.621067 4.292955 l
+5.621067 0.675705 l
+5.621067 0.335837 5.345550 0.060322 5.005682 0.060322 c
+3.830306 0.060322 l
+3.490439 0.060322 3.214921 0.335838 3.214921 0.675706 c
+3.214921 4.292955 l
+0.611669 4.292955 l
+0.067821 4.292955 -0.204540 4.961091 0.180019 5.351849 c
+3.877413 9.108850 l
+4.115807 9.351087 4.502318 9.351087 4.740712 9.108850 c
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  923
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 16.000000 16.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
+0000001013 00000 n
+0000001035 00000 n
+0000001208 00000 n
+0000001282 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1341
+%%EOF

+ 103 - 0
PDF Office/PDF Master/Class/ChromiumTabs/TabsImage.xcassets/icon_button_upgrade.imageset/Button-Upgrade.pdf

@@ -0,0 +1,103 @@
+%PDF-1.7
+
+1 0 obj
+  << /Length 2 0 R
+     /Range [ 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 ]
+     /Domain [ 0.000000 1.000000 ]
+     /FunctionType 4
+  >>
+stream
+{  0.768627 exch 0.439216 exch 1.000000 exch dup 0.000000 gt { exch pop exch pop exch pop dup 0.000000 sub -0.329412 mul 0.768627 add exch dup 0.000000 sub 0.003922 mul 0.439216 add exch dup 0.000000 sub 0.000000 mul 1.000000 add exch } if dup 1.000000 gt { exch pop exch pop exch pop 0.439216 exch 0.443137 exch 1.000000 exch } if pop }
+endstream
+endobj
+
+2 0 obj
+  337
+endobj
+
+3 0 obj
+  << /Pattern << /P1 << /Matrix [ -63.499996 -16.499998 16.499998 -63.499996 68.744385 109.649902 ]
+                        /Shading << /Coords [ 0.000000 0.000000 1.000000 0.000000 ]
+                                    /ColorSpace /DeviceRGB
+                                    /Function 1 0 R
+                                    /Domain [ 0.000000 1.000000 ]
+                                    /ShadingType 2
+                                    /Extend [ true true ]
+                                 >>
+                        /PatternType 2
+                        /Type /Pattern
+                     >> >> >>
+endobj
+
+4 0 obj
+  << /Length 5 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
+/Pattern cs
+/P1 scn
+0.000000 12.000000 m
+0.000000 18.627417 5.372583 24.000000 12.000000 24.000000 c
+75.000000 24.000000 l
+81.627419 24.000000 87.000000 18.627417 87.000000 12.000000 c
+87.000000 12.000000 l
+87.000000 5.372583 81.627419 0.000000 75.000000 0.000000 c
+12.000001 0.000000 l
+5.372584 0.000000 0.000000 5.372583 0.000000 12.000000 c
+0.000000 12.000000 l
+h
+f
+n
+Q
+
+endstream
+endobj
+
+5 0 obj
+  461
+endobj
+
+6 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 87.000000 24.000000 ]
+     /Resources 3 0 R
+     /Contents 4 0 R
+     /Parent 7 0 R
+  >>
+endobj
+
+7 0 obj
+  << /Kids [ 6 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+8 0 obj
+  << /Pages 7 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 9
+0000000000 65535 f
+0000000010 00000 n
+0000000531 00000 n
+0000000553 00000 n
+0000001183 00000 n
+0000001700 00000 n
+0000001722 00000 n
+0000001895 00000 n
+0000001969 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 8 0 R
+   /Size 9
+>>
+startxref
+2028
+%%EOF

+ 35 - 0
PDF Office/PDF Master/Class/ChromiumTabs/TabsImage.xcassets/icon_button_upgrade.imageset/Contents.json

@@ -0,0 +1,35 @@
+{
+  "images" : [
+    {
+      "filename" : "Button-Upgrade.pdf",
+      "idiom" : "universal",
+      "resizing" : {
+        "cap-insets" : {
+          "bottom" : 12,
+          "left" : 46,
+          "right" : 40,
+          "top" : 11
+        },
+        "center" : {
+          "height" : 1,
+          "mode" : "tile",
+          "width" : 1
+        },
+        "mode" : "9-part"
+      },
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 4 - 1
PDF Office/PDF Master/Class/ChromiumTabs/src/Browser Window/CTBrowserWindowController.m

@@ -879,7 +879,10 @@ static CTBrowserWindowController* _currentMain = nil; // weak
     }
 
     CGFloat rightWidth = NSWidth([rightStripView frame]);
-    if ([[KMLightMemberManager manager] canShowAdvancedView] && ![[KMLightMemberManager manager] isLogin]) {
+    
+    if (![[KMLightMemberManager manager] isLogin] ||
+        ([KMLightMemberManager manager].purchaseState !=  KMPurchaseManagerStateSubscription&&
+         [KMLightMemberManager manager].purchaseState != KMPurchaseManagerStateTrial)) {
 //        rightWidth = NSWidth([rightStripView frame]);
         rightWidth = 56.0 + rightStripView.fetchAdvancedViewSize.width;
 //        rightWidth += rightStripView.fetchAdvancedViewSize.width;

+ 6 - 6
PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/KMPurchaseManager.swift

@@ -7,12 +7,12 @@
 
 import Cocoa
         
-enum KMPurchaseManagerState: String, CaseIterable {
-    case unknow = "unknow"
-    case trial = "Trial" //试用
-    case trialExpired = "Trial Expired" //试用过期
-    case subscription = "Subscription" //订阅
-    case subscriptionExpired = "Subscription Expired" //订阅过期
+@objc enum KMPurchaseManagerState: Int, CaseIterable {
+    case unknow = 0//"unknow"
+    case trial = 1//"Trial" //试用
+    case trialExpired = 2//"Trial Expired" //试用过期
+    case subscription = 3//"Subscription" //订阅
+    case subscriptionExpired = 4//"Subscription Expired" //订阅过期
 }
 
 #if VERSION_DMG

+ 5 - 5
PDF Office/PDF Master/Class/KMLightMember/Manager/KMLightMemberManager.swift

@@ -11,11 +11,11 @@ let USER_LOGINSTATE_NOTIFICATION = "kUserLoginStateNotification" //用户登录
 let USER_INFO_CHANGE_NOTIFICATION = "kUserInfoChangeNotification" //用户信息改变通知
 let ADVANCED_NOTIFICATION = "kAdvancedContentViewShowNotification" //用户高级引导显示
 
-enum KMLightMemberUserState: String, CaseIterable {
-    case unknown = "unknown"
-    case login = "login" //登录
-    case logOut = "logOut" //登出
-    case cancellation = "cancellation" //注销
+@objc enum KMLightMemberUserState: Int, CaseIterable {
+    case unknown = 0//,"unknown"
+    case login = 1//"login" //登录
+    case logOut = 2//"logOut" //登出
+    case cancellation = 3//"cancellation" //注销
 }
 
 @objcMembers class KMLightMemberManager: NSObject {

+ 1 - 0
PDF Office/PDF Master/Class/PDFWindowController/MainWindowController/MainWindowController.xib

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
+        <deployment identifier="macosx"/>
         <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>

+ 1 - 0
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMMainToolbarController.xib

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
+        <deployment identifier="macosx"/>
         <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>

+ 1 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/Views/KMPageNumberDisplayView/KMPageNumberDisplayView.xib

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
+        <deployment identifier="macosx"/>
         <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>