Browse Source

【综合】激活相关界面代码移植

niehaoyu 1 year ago
parent
commit
4722b47045

+ 42 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -2625,6 +2625,18 @@
 		BB183DD42B4EAD5400F99C7E /* Ubuntu-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BB183DD02B4EAD5300F99C7E /* Ubuntu-Bold.ttf */; };
 		BB183DD52B4EAD5400F99C7E /* Ubuntu-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BB183DD02B4EAD5300F99C7E /* Ubuntu-Bold.ttf */; };
 		BB183DD62B4EAD5400F99C7E /* Ubuntu-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BB183DD02B4EAD5300F99C7E /* Ubuntu-Bold.ttf */; };
+		BB183DDA2B4EBE1B00F99C7E /* KMTrialSuccessController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB183DD82B4EBE1A00F99C7E /* KMTrialSuccessController.xib */; };
+		BB183DDB2B4EBE1B00F99C7E /* KMTrialSuccessController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB183DD82B4EBE1A00F99C7E /* KMTrialSuccessController.xib */; };
+		BB183DDC2B4EBE1B00F99C7E /* KMTrialSuccessController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB183DD82B4EBE1A00F99C7E /* KMTrialSuccessController.xib */; };
+		BB183DDD2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB183DD92B4EBE1B00F99C7E /* KMTrialSuccessController.swift */; };
+		BB183DDE2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB183DD92B4EBE1B00F99C7E /* KMTrialSuccessController.swift */; };
+		BB183DDF2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB183DD92B4EBE1B00F99C7E /* KMTrialSuccessController.swift */; };
+		BB183DE32B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB183DE12B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m */; };
+		BB183DE42B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB183DE12B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m */; };
+		BB183DE52B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB183DE12B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m */; };
+		BB183DE62B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB183DE22B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib */; };
+		BB183DE72B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB183DE22B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib */; };
+		BB183DE82B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB183DE22B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib */; };
 		BB1969CD2B2833DA00922736 /* KMProgressWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1969CC2B2833DA00922736 /* KMProgressWindowController.swift */; };
 		BB1969CE2B2833DA00922736 /* KMProgressWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1969CC2B2833DA00922736 /* KMProgressWindowController.swift */; };
 		BB1969CF2B2833DA00922736 /* KMProgressWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1969CC2B2833DA00922736 /* KMProgressWindowController.swift */; };
@@ -5556,6 +5568,11 @@
 		BB162E9A295073B40088E9D1 /* KMWatermarkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkManager.swift; sourceTree = "<group>"; };
 		BB183DCF2B4EAD5300F99C7E /* Ubuntu-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-Medium.ttf"; sourceTree = "<group>"; };
 		BB183DD02B4EAD5300F99C7E /* Ubuntu-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Ubuntu-Bold.ttf"; sourceTree = "<group>"; };
+		BB183DD82B4EBE1A00F99C7E /* KMTrialSuccessController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMTrialSuccessController.xib; sourceTree = "<group>"; };
+		BB183DD92B4EBE1B00F99C7E /* KMTrialSuccessController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMTrialSuccessController.swift; sourceTree = "<group>"; };
+		BB183DE02B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMRepeatVerifyExpireController.h; sourceTree = "<group>"; };
+		BB183DE12B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMRepeatVerifyExpireController.m; sourceTree = "<group>"; };
+		BB183DE22B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMRepeatVerifyExpireController.xib; sourceTree = "<group>"; };
 		BB1969CC2B2833DA00922736 /* KMProgressWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMProgressWindowController.swift; sourceTree = "<group>"; };
 		BB1969D02B2833FE00922736 /* KMProgressWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMProgressWindowController.xib; sourceTree = "<group>"; };
 		BB1969D62B2842AD00922736 /* KMSnapshotWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSnapshotWindowController.swift; sourceTree = "<group>"; };
@@ -9427,6 +9444,18 @@
 			path = Tools;
 			sourceTree = "<group>";
 		};
+		BB183DD72B4EBDD300F99C7E /* Verification */ = {
+			isa = PBXGroup;
+			children = (
+				BB183DD92B4EBE1B00F99C7E /* KMTrialSuccessController.swift */,
+				BB183DD82B4EBE1A00F99C7E /* KMTrialSuccessController.xib */,
+				BB183DE02B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.h */,
+				BB183DE12B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m */,
+				BB183DE22B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib */,
+			);
+			path = Verification;
+			sourceTree = "<group>";
+		};
 		BB1969D42B28429A00922736 /* Snapshot */ = {
 			isa = PBXGroup;
 			children = (
@@ -10730,6 +10759,7 @@
 				BBA922302B4E97540061057A /* KMPurchaseFirstTrialWindowController.xib */,
 				BBA9222E2B4E97540061057A /* KMPurchaseLimitWindowController.swift */,
 				BBA922312B4E97540061057A /* KMPurchaseLimitWindowController.xib */,
+				BB183DD72B4EBDD300F99C7E /* Verification */,
 			);
 			path = DMG;
 			sourceTree = "<group>";
@@ -12017,6 +12047,7 @@
 				BB1BFF6D2AEA030F003EB179 /* KMBatchOperateSplitViewController.xib in Resources */,
 				ADE86A8D2B02269400414DFA /* KMRemovePasswordWindowController.xib in Resources */,
 				8942F7FB2926089200389627 /* KMSignatureViewController.xib in Resources */,
+				BB183DE62B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */,
 				AD1D48522AFB8510007AC1F0 /* KMMergeTableViewCell.xib in Resources */,
 				ADBC374C29CAD65D00D93208 /* KMComparativeOutlineCell.xib in Resources */,
 				BB03D6902B01C7AB008C9976 /* KMPDFEditInsertBlankPageWindow.xib in Resources */,
@@ -12025,6 +12056,7 @@
 				BB9599CF2B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */,
 				BB6347B02AF1F0BB00F5438E /* KMBatchOperateConvertViewController.xib in Resources */,
 				9F0201912A1DDAA500C9B673 /* KMAITranslationWindowController.xib in Resources */,
+				BB183DDA2B4EBE1B00F99C7E /* KMTrialSuccessController.xib in Resources */,
 				BB1BFF7D2AEA0BE8003EB179 /* KMBatchOperateRightViewController.xib in Resources */,
 				BB5BE4F12B060EB500D51BF2 /* KMLanguageViewController.xib in Resources */,
 				899700E228F3A9F2009AF911 /* KMHomeWindowController.xib in Resources */,
@@ -12245,6 +12277,7 @@
 				BBB3769C2B10A7FD009539CC /* a_2a.png in Resources */,
 				9FDD0F9A2952FF4D000C4DAD /* alias-light.json in Resources */,
 				BB65A0512AF8B64B003A27A0 /* DisplayPreferences.xib in Resources */,
+				BB183DE72B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */,
 				ADD1B6F92946C0CA00C3FFF7 /* KMPrintChoosePageSizeMultipageView.xib in Resources */,
 				BB1A916F2AFB7871005E5FD8 /* KMConvertWindowController.xib in Resources */,
 				AD88109B29A78AEC00178CA1 /* KMVerificationCodeView.xib in Resources */,
@@ -12372,6 +12405,7 @@
 				BB7F7C0129AA586900A3E4E7 /* signAdd.png in Resources */,
 				BB6DD81029347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				ADBC2D16299CCD10006280C8 /* KMTextfieldButton.xib in Resources */,
+				BB183DDB2B4EBE1B00F99C7E /* KMTrialSuccessController.xib in Resources */,
 				9FF94F0D29A62B5000B1EF69 /* KMDesignSelect.xib in Resources */,
 				AD1CA41D2A061CE10070541F /* KMAnnotationScreenTypeViewItem.xib in Resources */,
 				89E4E7302963FBA2002DBA6F /* KMPropertiesViewPopController.xib in Resources */,
@@ -12900,6 +12934,7 @@
 				AD0FA4F729A8582C00EDEB50 /* KMComparativeTableView.xib in Resources */,
 				BB1BFF7F2AEA0BE8003EB179 /* KMBatchOperateRightViewController.xib in Resources */,
 				9F1F82DF292F84D60092C4B4 /* KMHomeInsertActionViewController.xib in Resources */,
+				BB183DE82B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */,
 				BB6347CA2AF24F6C00F5438E /* KMBatchoperateConvertCollectionViewItem.xib in Resources */,
 				BB9695B829BDB03E00FD68D3 /* InfoWindow.xib in Resources */,
 				9F1FE4E029406E4700E952CA /* .gclient in Resources */,
@@ -12908,6 +12943,7 @@
 				9F0CB4BA2977BC1000007028 /* KMPropertiesPanelPreviewSubVC.xib in Resources */,
 				BB9599D12B3184440062D346 /* KMRedactSelectPagesWindowController.xib in Resources */,
 				ADF6B87B2A48155E0090CB78 /* KMComparativeViewCollectionItem.xib in Resources */,
+				BB183DDC2B4EBE1B00F99C7E /* KMTrialSuccessController.xib in Resources */,
 				9F56648C2988B16F00020985 /* KMTextfieldVC.xib in Resources */,
 				9FA607E328FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				F356720A29AF184A00740FF3 /* CPDFListAnnotationNoteWindowController.xib in Resources */,
@@ -13410,6 +13446,7 @@
 				89752E192941FD48003FF08E /* KMSearchCellView.swift in Sources */,
 				BB49ED0E293F462E00C82CA2 /* KMConvertImageWindowController.swift in Sources */,
 				ADE3C1C129A4C13700793B13 /* KMPrintAccessoryController_OC.m in Sources */,
+				BB183DE32B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */,
 				8942F7F82926089200389627 /* KMSignatureViewController.swift in Sources */,
 				ADAFDA392AE8EEFF00F084BC /* KMAdvertisementRequestServer.swift in Sources */,
 				BB493F952B3E9805003E6175 /* KMBatchQuickActionManager.swift in Sources */,
@@ -14006,6 +14043,7 @@
 				BBB9B328299A5D6D004F3235 /* GTMAppAuthFetcherAuthorization+Keychain.m in Sources */,
 				9F1FE4F029406E4700E952CA /* BackgroundGradientView.m in Sources */,
 				BB2EDF70296ECE17003BCF58 /* KMPageEditThumbnailView.swift in Sources */,
+				BB183DDD2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */,
 				ADDF83862B391A5D00A81A4E /* DSignatureCreateInfoViewController.swift in Sources */,
 				BB3A66AB2B078FB200575343 /* KMNoteTableViewCell.swift in Sources */,
 				9FD0FA2929CD3ED400F2AB0D /* KMRightSideEmptyVC.swift in Sources */,
@@ -14180,6 +14218,7 @@
 				ADE86A812B02220700414DFA /* KMSecurityView.swift in Sources */,
 				BBE9D0982AF0CECB002E83CE /* KMBatchOperateCompressViewController.swift in Sources */,
 				BB8F4566295AA3ED0037EA22 /* KMHeaderFooterManager.swift in Sources */,
+				BB183DDE2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */,
 				ADE86A9E2B031FDB00414DFA /* KMCompareWindowController.swift in Sources */,
 				BB99ACC3292DE22E0048AFD9 /* KMMergeViewController.swift in Sources */,
 				9F78EFC728F7E965001E66F4 /* KMHomeViewController+UI.swift in Sources */,
@@ -14791,6 +14830,7 @@
 				AD3AAD242B0B6F9E00DE5FE7 /* KMCompareContentView.swift in Sources */,
 				BB10FAE62AFE039E00F18D65 /* KMPDFEditPageRangeWindowController.swift in Sources */,
 				9F705F77291A3A84005199AD /* KMHistoryFileDeleteWindowController.swift in Sources */,
+				BB183DE42B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */,
 				BBC3482F29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
 				BB24FFDE2B28578C00A59054 /* KMTTSWindowController.swift in Sources */,
 				BB9E2F742A495BCD000DC68D /* KMConvertSettingLimitTipView.swift in Sources */,
@@ -15697,6 +15737,7 @@
 				BB0A823429C00400002C5C1B /* KMCommonEnum.swift in Sources */,
 				BB6013922AD3AFF000A76FB2 /* NSPopover+KMExtension.swift in Sources */,
 				BB2CC5642AF1239900D7A796 /* KMBatchBaseParameter.swift in Sources */,
+				BB183DE52B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */,
 				BBC8A7662B05C93900FA9377 /* KMThumbnailTableView.swift in Sources */,
 				9F0390082B426F3300302D1D /* KMPageDisplayPropertiesViewController.swift in Sources */,
 				BB5F8A1029BB04F000365ADB /* GBDeviceInfo_OSX.m in Sources */,
@@ -16087,6 +16128,7 @@
 				9FD0D2B52AD5265A00DA3FF8 /* CPDFListAnnotationNoteWindowController.swift in Sources */,
 				F359916B29261F0E000D25DE /* CPDFListView+Tool.m in Sources */,
 				89752DEC293875FC003FF08E /* KMMainToolbarController.swift in Sources */,
+				BB183DDF2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */,
 				AD0E8ABB2A31BDDD00DBFD3C /* KMProduct.swift in Sources */,
 				BBC2BCC8295DA8F30036B983 /* KMCropPreviewController.swift in Sources */,
 				9F1FE50F29407B2B00E952CA /* KMUploadFilePanel.swift in Sources */,

+ 1 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMToolbarItemPopViewController.swift

@@ -15,7 +15,7 @@ class KMToolbarItemPopViewController: NSViewController{
         
     }
     
-    func updateWithHelpTip(helpTip: String) {
+    @objc func updateWithHelpTip(helpTip: String) {
         self.toolbarHelpTipLabel.stringValue = helpTip.count > 0 ? helpTip : ""
     }
     

+ 20 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatVerifyExpireController.h

@@ -0,0 +1,20 @@
+//
+//  KMRepeatVerifyExpireController.h
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/9/13.
+//
+
+#import <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface KMRepeatVerifyExpireController : NSViewController
+
+@property (nonatomic, copy) void (^callback) (NSInteger clickIndex, KMRepeatVerifyExpireController *tRController);
+
+- (void)updateViewColor;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 135 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatVerifyExpireController.m

@@ -0,0 +1,135 @@
+//
+//  KMRepeatVerifyExpireController.m
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/9/13.
+//
+
+#import "KMRepeatVerifyExpireController.h"
+//#import "KMCustomButton.h"
+//#import "NSButton+TitleColor.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+@interface KMRepeatVerifyExpireController ()
+
+@property (assign) IBOutlet NSView *contendView;
+
+@property (assign) IBOutlet NSTextField *titleLbl;
+@property (assign) IBOutlet NSTextField *subTitleLbl;
+
+@property (assign) IBOutlet KMCustomButton *enterLicenseBtn;
+@property (assign) IBOutlet KMCustomButton *purchaseBtn;
+@property (assign) IBOutlet KMCustomButton *laterBtn;
+
+@property (assign) IBOutlet NSView *seplineView;
+
+@property (assign) IBOutlet NSView *descriptionBGView;
+@property (assign) IBOutlet NSTextField *convertLbl;
+@property (assign) IBOutlet NSTextField *editLbl;
+@property (assign) IBOutlet NSTextField *ocrTipLbl;
+@property (assign) IBOutlet NSTextField *formfillLbl;
+
+
+@end
+
+@implementation KMRepeatVerifyExpireController
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMRepeatVerifyExpireController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark Setter Methods
+
+- (void)loadView {
+    [super loadView];
+    
+}
+    
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do view setup here.
+     
+    self.contendView.wantsLayer = YES;
+    self.laterBtn.wantsLayer = self.purchaseBtn.wantsLayer = self.enterLicenseBtn.wantsLayer = YES;
+    self.laterBtn.layer.cornerRadius = self.purchaseBtn.layer.cornerRadius = self.enterLicenseBtn.layer.cornerRadius = 1.;
+    self.laterBtn.layer.masksToBounds = self.purchaseBtn.layer.masksToBounds = self.enterLicenseBtn.layer.masksToBounds = YES;
+
+    self.descriptionBGView.wantsLayer = YES;
+    self.descriptionBGView.layer.cornerRadius = 6.;
+    self.descriptionBGView.layer.masksToBounds = YES;
+    self.descriptionBGView.layer.borderWidth = 1;
+    
+    self.seplineView.wantsLayer = YES;
+    
+    
+    self.titleLbl.stringValue = NSLocalizedString(@"Your Trial Has Expired", nil);
+    self.subTitleLbl.stringValue = NSLocalizedString(@"Please upgrade PDF Reader Pro to enjoy all features.", nil);
+    self.enterLicenseBtn.title = NSLocalizedString(@"Enter License", nil);
+    self.laterBtn.title = NSLocalizedString(@"Later", nil);
+    self.purchaseBtn.title = NSLocalizedString(@"Buy Now", nil);
+    
+    self.convertLbl.stringValue = NSLocalizedString(@"Convert PDF to Word/Excel/PPT/Image and more", nil);
+    self.editLbl.stringValue = NSLocalizedString(@"Edit PDF text, images and pages", nil);
+    self.ocrTipLbl.stringValue = NSLocalizedString(@"Combine multiple PDFs", nil);
+    self.formfillLbl.stringValue = NSLocalizedString(@"Create, fill, and sign PDF forms", nil);
+    
+    [self updateViewColor];
+}
+
+- (void)updateViewColor {
+    if ([KMAppearance isDarkMode]) {
+        self.contendView.layer.backgroundColor = [NSColor colorWithRed:43/255. green:43/255. blue:43/255. alpha:1.].CGColor;
+        self.descriptionBGView.layer.backgroundColor = [NSColor colorWithRed:40/255. green:40/255. blue:40/255. alpha:1.].CGColor;
+        self.descriptionBGView.layer.borderColor = [NSColor colorWithRed:1 green:1 blue:1 alpha:0.05].CGColor;
+        self.seplineView.layer.backgroundColor = [NSColor colorWithRed:1 green:1 blue:1 alpha:0.1].CGColor;
+        
+        self.enterLicenseBtn.layer.backgroundColor = [NSColor colorWithRed:86/255. green:88/255. blue:90/255. alpha:1.].CGColor;
+        self.laterBtn.layer.backgroundColor = [NSColor colorWithRed:86/255. green:88/255. blue:90/255. alpha:1.].CGColor;
+        self.purchaseBtn.layer.backgroundColor = [NSColor colorWithRed:78/255. green:127/255. blue:219/255. alpha:1.].CGColor;
+    } else {
+        self.contendView.layer.backgroundColor = [NSColor colorWithRed:255/255. green:255/255. blue:255/255. alpha:1.].CGColor;
+        self.descriptionBGView.layer.backgroundColor = [NSColor colorWithRed:246/255. green:246/255. blue:246/255. alpha:1.].CGColor;
+        self.descriptionBGView.layer.borderColor = [NSColor colorWithRed:0 green:0 blue:0 alpha:0.05].CGColor;
+        self.seplineView.layer.backgroundColor = [NSColor colorWithRed:0 green:0 blue:0 alpha:0.1].CGColor;
+        
+        self.enterLicenseBtn.layer.backgroundColor = [NSColor colorWithRed:218/255. green:219/255. blue:222/255. alpha:1.].CGColor;
+        self.laterBtn.layer.backgroundColor = [NSColor colorWithRed:218/255. green:219/255. blue:222/255. alpha:1.].CGColor;
+        self.purchaseBtn.layer.backgroundColor = [NSColor colorWithRed:39/255. green:60/255. blue:99/255. alpha:1.].CGColor;
+    }
+    
+    [self.enterLicenseBtn setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.laterBtn setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.purchaseBtn setTitleColor:[KMAppearance KMColor_Layout_W0]];
+    
+}
+
+- (IBAction)btnAction:(KMCustomButton *)sender {
+    if ([sender isEqual:self.enterLicenseBtn]) {
+        if (self.callback) {
+            self.callback(0, self);
+        }
+    } else if ([sender isEqual:self.laterBtn]) {
+        if (self.callback) {
+            self.callback(1, self);
+        }
+    } else if ([sender isEqual:self.purchaseBtn]) {
+        if (self.callback) {
+            self.callback(2, self);
+        }
+    }
+}
+
+
+@end

+ 285 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatVerifyExpireController.xib

@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMRepeatVerifyExpireController">
+            <connections>
+                <outlet property="contendView" destination="F9c-tM-Yy2" id="nO5-nz-A4a"/>
+                <outlet property="convertLbl" destination="BqT-dr-tf7" id="qsw-xl-FB7"/>
+                <outlet property="descriptionBGView" destination="Qti-Jf-fOf" id="0q4-Yn-bA4"/>
+                <outlet property="editLbl" destination="qeg-gT-IJA" id="dAy-zv-t2m"/>
+                <outlet property="enterLicenseBtn" destination="uOA-T6-AMu" id="rC8-JF-cWL"/>
+                <outlet property="formfillLbl" destination="Pvd-DR-3I0" id="q3h-57-Jds"/>
+                <outlet property="laterBtn" destination="cqf-oh-ZSz" id="Pcm-0E-bo3"/>
+                <outlet property="ocrTipLbl" destination="t8S-om-WZp" id="bdq-PX-gbP"/>
+                <outlet property="purchaseBtn" destination="KEc-nc-fNO" id="XQg-hb-OSI"/>
+                <outlet property="seplineView" destination="gck-cZ-EGc" id="ru9-C4-l9e"/>
+                <outlet property="subTitleLbl" destination="Ifr-zo-1iz" id="JKE-Q5-ZmK"/>
+                <outlet property="titleLbl" destination="rN3-F5-et6" id="Qmv-x4-hOa"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="560" height="381"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="F9c-tM-Yy2">
+                    <rect key="frame" x="0.0" y="0.0" width="560" height="381"/>
+                    <subviews>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="dDY-CG-YHv">
+                            <rect key="frame" x="20" y="297" width="520" height="64"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aiq-1V-dL9">
+                                    <rect key="frame" x="0.0" y="0.0" width="64" height="64"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="64" id="0wj-0E-tkQ"/>
+                                        <constraint firstAttribute="height" constant="64" id="HEi-71-yLB"/>
+                                    </constraints>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="PDF Reader Pro Edition" id="FZR-Bb-u8C"/>
+                                </imageView>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rN3-F5-et6">
+                                    <rect key="frame" x="72" y="46" width="174" height="16"/>
+                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="PDF Reader Pro Activation" id="KWT-0d-JsW">
+                                        <font key="font" metaFont="systemBold"/>
+                                        <color key="textColor" name="KMColor_Layout_H0"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Ifr-zo-1iz">
+                                    <rect key="frame" x="72" y="6" width="304" height="28"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="300" id="S1f-Mh-TSd"/>
+                                    </constraints>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="You can annotate and edit PDF documents by purchasing the full version." id="pIe-LU-gKy">
+                                        <font key="font" metaFont="smallSystem"/>
+                                        <color key="textColor" name="KMColor_Layout_H0"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstItem="aiq-1V-dL9" firstAttribute="leading" secondItem="dDY-CG-YHv" secondAttribute="leading" id="1Eg-bU-LGY"/>
+                                <constraint firstAttribute="width" constant="520" id="35Y-wK-EfQ"/>
+                                <constraint firstItem="rN3-F5-et6" firstAttribute="leading" secondItem="dDY-CG-YHv" secondAttribute="leading" constant="74" id="4fw-4c-cx7"/>
+                                <constraint firstItem="Ifr-zo-1iz" firstAttribute="leading" secondItem="dDY-CG-YHv" secondAttribute="leading" constant="74" id="JcR-p3-HoU"/>
+                                <constraint firstItem="aiq-1V-dL9" firstAttribute="centerY" secondItem="dDY-CG-YHv" secondAttribute="centerY" id="hAd-2M-T6t"/>
+                                <constraint firstAttribute="height" constant="64" id="qlQ-2c-zI3"/>
+                                <constraint firstItem="rN3-F5-et6" firstAttribute="top" secondItem="dDY-CG-YHv" secondAttribute="top" constant="2" id="s7H-yw-hyt"/>
+                                <constraint firstItem="Ifr-zo-1iz" firstAttribute="top" secondItem="rN3-F5-et6" secondAttribute="bottom" constant="12" id="yO4-a2-WiZ"/>
+                            </constraints>
+                        </customView>
+                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uOA-T6-AMu" customClass="KMCustomButton">
+                            <rect key="frame" x="20" y="245" width="136" height="32"/>
+                            <buttonCell key="cell" type="bevel" title="Enter the License" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="ZMi-Dz-nvS">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="32" id="3Yo-5q-Ggn"/>
+                                <constraint firstAttribute="width" constant="136" id="RQy-JQ-2vQ"/>
+                            </constraints>
+                            <connections>
+                                <action selector="btnAction:" target="-2" id="Ann-pA-iaP"/>
+                            </connections>
+                        </button>
+                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KEc-nc-fNO" customClass="KMCustomButton">
+                            <rect key="frame" x="420" y="245" width="120" height="32"/>
+                            <buttonCell key="cell" type="bevel" title="Purchase" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="PIm-Xf-5Hg">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                                <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                            </buttonCell>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="32" id="tqn-IB-Xfk"/>
+                                <constraint firstAttribute="width" constant="120" id="vWm-gd-uLd"/>
+                            </constraints>
+                            <connections>
+                                <action selector="btnAction:" target="-2" id="Kom-ac-6Fm"/>
+                            </connections>
+                        </button>
+                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cqf-oh-ZSz" customClass="KMCustomButton">
+                            <rect key="frame" x="292" y="245" width="120" height="32"/>
+                            <buttonCell key="cell" type="bevel" title="Later" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="YjC-2f-jOj">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                                <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                            </buttonCell>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="120" id="3Cn-s1-sdO"/>
+                                <constraint firstAttribute="height" constant="32" id="Gh1-k7-lKP"/>
+                            </constraints>
+                            <connections>
+                                <action selector="btnAction:" target="-2" id="Nhy-1J-gkf"/>
+                            </connections>
+                        </button>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="gck-cZ-EGc">
+                            <rect key="frame" x="20" y="224" width="520" height="1"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="1" id="lOG-c6-ioh"/>
+                            </constraints>
+                        </customView>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="Qti-Jf-fOf">
+                            <rect key="frame" x="20" y="20" width="520" height="184"/>
+                            <subviews>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="lOJ-Or-bbB">
+                                    <rect key="frame" x="10" y="142" width="500" height="32"/>
+                                    <subviews>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gPl-Yh-Bfb">
+                                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Convert" id="kml-0c-gg0"/>
+                                        </imageView>
+                                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="BqT-dr-tf7">
+                                            <rect key="frame" x="42" y="9" width="294" height="14"/>
+                                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Convert PDF from/to Word/Excel/PPT/HTML/Image, etc." id="0rq-jQ-r3d">
+                                                <font key="font" metaFont="smallSystem"/>
+                                                <color key="textColor" name="KMColor_Layout_H1"/>
+                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="32" id="8Bi-rG-z3Y"/>
+                                        <constraint firstItem="BqT-dr-tf7" firstAttribute="leading" secondItem="lOJ-Or-bbB" secondAttribute="leading" constant="44" id="8rg-hm-zyV"/>
+                                        <constraint firstItem="BqT-dr-tf7" firstAttribute="centerY" secondItem="lOJ-Or-bbB" secondAttribute="centerY" id="ZZl-PX-iQr"/>
+                                    </constraints>
+                                </customView>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="vHl-jy-KH9">
+                                    <rect key="frame" x="10" y="98" width="500" height="32"/>
+                                    <subviews>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tdu-7w-gdj">
+                                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Edit" id="ZZm-ad-Tdq"/>
+                                        </imageView>
+                                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="qeg-gT-IJA">
+                                            <rect key="frame" x="42" y="9" width="160" height="14"/>
+                                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Edit and Modify Texts in PDFs" id="RMu-7K-M5I">
+                                                <font key="font" metaFont="smallSystem"/>
+                                                <color key="textColor" name="KMColor_Layout_H1"/>
+                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstItem="qeg-gT-IJA" firstAttribute="leading" secondItem="vHl-jy-KH9" secondAttribute="leading" constant="44" id="7pC-II-5QL"/>
+                                        <constraint firstAttribute="height" constant="32" id="NCx-n7-2b4"/>
+                                        <constraint firstItem="qeg-gT-IJA" firstAttribute="centerY" secondItem="vHl-jy-KH9" secondAttribute="centerY" id="cnG-qy-eSM"/>
+                                    </constraints>
+                                </customView>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="84s-4a-cLt">
+                                    <rect key="frame" x="10" y="54" width="500" height="32"/>
+                                    <subviews>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LK3-zV-MlY">
+                                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_OCR" id="OmH-4r-jdZ"/>
+                                        </imageView>
+                                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="t8S-om-WZp">
+                                            <rect key="frame" x="42" y="9" width="198" height="14"/>
+                                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Optical Character Recognition (OCR)" id="rvU-EW-aJ7">
+                                                <font key="font" metaFont="smallSystem"/>
+                                                <color key="textColor" name="KMColor_Layout_H1"/>
+                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstItem="t8S-om-WZp" firstAttribute="centerY" secondItem="84s-4a-cLt" secondAttribute="centerY" id="IbF-o4-3EI"/>
+                                        <constraint firstAttribute="height" constant="32" id="gad-8V-T6j"/>
+                                        <constraint firstItem="t8S-om-WZp" firstAttribute="leading" secondItem="84s-4a-cLt" secondAttribute="leading" constant="44" id="kro-js-fdy"/>
+                                    </constraints>
+                                </customView>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="el1-k8-kNh">
+                                    <rect key="frame" x="10" y="10" width="500" height="32"/>
+                                    <subviews>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="BTM-4e-Eyu">
+                                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Forms" id="sSg-Nn-BAV"/>
+                                        </imageView>
+                                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Pvd-DR-3I0">
+                                            <rect key="frame" x="42" y="9" width="157" height="14"/>
+                                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Create, Fill Forms, Sign PDFs" id="RCc-v4-Gtl">
+                                                <font key="font" metaFont="smallSystem"/>
+                                                <color key="textColor" name="KMColor_Layout_H1"/>
+                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="32" id="17d-l1-xyZ"/>
+                                        <constraint firstItem="Pvd-DR-3I0" firstAttribute="centerY" secondItem="el1-k8-kNh" secondAttribute="centerY" id="Lxb-4L-jhl"/>
+                                        <constraint firstItem="Pvd-DR-3I0" firstAttribute="leading" secondItem="el1-k8-kNh" secondAttribute="leading" constant="44" id="iQN-Mk-4bQ"/>
+                                    </constraints>
+                                </customView>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="184" id="3gh-HY-wSq"/>
+                                <constraint firstItem="vHl-jy-KH9" firstAttribute="top" secondItem="lOJ-Or-bbB" secondAttribute="bottom" constant="12" id="LsH-iV-kHb"/>
+                                <constraint firstItem="el1-k8-kNh" firstAttribute="leading" secondItem="Qti-Jf-fOf" secondAttribute="leading" constant="10" id="PBP-zH-Khd"/>
+                                <constraint firstItem="lOJ-Or-bbB" firstAttribute="leading" secondItem="Qti-Jf-fOf" secondAttribute="leading" constant="10" id="QwA-6v-yBZ"/>
+                                <constraint firstAttribute="trailing" secondItem="lOJ-Or-bbB" secondAttribute="trailing" constant="10" id="Y5d-Iv-KfZ"/>
+                                <constraint firstAttribute="trailing" secondItem="el1-k8-kNh" secondAttribute="trailing" constant="10" id="YwV-UQ-cga"/>
+                                <constraint firstAttribute="trailing" secondItem="vHl-jy-KH9" secondAttribute="trailing" constant="10" id="Z2z-7s-fSm"/>
+                                <constraint firstItem="el1-k8-kNh" firstAttribute="top" secondItem="84s-4a-cLt" secondAttribute="bottom" constant="12" id="bIw-yL-5X0"/>
+                                <constraint firstAttribute="trailing" secondItem="84s-4a-cLt" secondAttribute="trailing" constant="10" id="fp5-6j-0wd"/>
+                                <constraint firstItem="84s-4a-cLt" firstAttribute="leading" secondItem="Qti-Jf-fOf" secondAttribute="leading" constant="10" id="g1p-ta-H0C"/>
+                                <constraint firstItem="84s-4a-cLt" firstAttribute="top" secondItem="vHl-jy-KH9" secondAttribute="bottom" constant="12" id="m0w-Wx-b8y"/>
+                                <constraint firstItem="vHl-jy-KH9" firstAttribute="leading" secondItem="Qti-Jf-fOf" secondAttribute="leading" constant="10" id="sxT-Eu-bgt"/>
+                                <constraint firstAttribute="width" constant="520" id="uO0-Z7-WS8"/>
+                                <constraint firstItem="lOJ-Or-bbB" firstAttribute="top" secondItem="Qti-Jf-fOf" secondAttribute="top" constant="10" id="ykl-oR-PeY"/>
+                            </constraints>
+                        </customView>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="Qti-Jf-fOf" firstAttribute="top" secondItem="gck-cZ-EGc" secondAttribute="bottom" constant="20" id="3qq-WV-IZh"/>
+                        <constraint firstItem="dDY-CG-YHv" firstAttribute="top" secondItem="F9c-tM-Yy2" secondAttribute="top" constant="20" id="AB6-Q1-x0x"/>
+                        <constraint firstItem="gck-cZ-EGc" firstAttribute="leading" secondItem="F9c-tM-Yy2" secondAttribute="leading" constant="20" id="CRr-sU-648"/>
+                        <constraint firstItem="KEc-nc-fNO" firstAttribute="top" secondItem="dDY-CG-YHv" secondAttribute="bottom" constant="20" id="H41-oW-T6B"/>
+                        <constraint firstItem="dDY-CG-YHv" firstAttribute="centerX" secondItem="F9c-tM-Yy2" secondAttribute="centerX" id="J1J-9D-AAU"/>
+                        <constraint firstItem="Qti-Jf-fOf" firstAttribute="centerX" secondItem="F9c-tM-Yy2" secondAttribute="centerX" id="O1I-sd-ri8"/>
+                        <constraint firstItem="cqf-oh-ZSz" firstAttribute="top" secondItem="dDY-CG-YHv" secondAttribute="bottom" constant="20" id="P5G-Fh-Ld1"/>
+                        <constraint firstAttribute="trailing" secondItem="gck-cZ-EGc" secondAttribute="trailing" constant="20" id="Rso-HA-m2V"/>
+                        <constraint firstItem="uOA-T6-AMu" firstAttribute="top" secondItem="dDY-CG-YHv" secondAttribute="bottom" constant="20" id="TJe-DA-FWT"/>
+                        <constraint firstItem="gck-cZ-EGc" firstAttribute="top" secondItem="uOA-T6-AMu" secondAttribute="bottom" constant="20" id="VZb-7v-VbG"/>
+                        <constraint firstItem="uOA-T6-AMu" firstAttribute="leading" secondItem="F9c-tM-Yy2" secondAttribute="leading" constant="20" id="nHW-yJ-WXH"/>
+                        <constraint firstAttribute="trailing" secondItem="KEc-nc-fNO" secondAttribute="trailing" constant="20" id="qn5-gD-LJj"/>
+                        <constraint firstItem="KEc-nc-fNO" firstAttribute="leading" secondItem="cqf-oh-ZSz" secondAttribute="trailing" constant="8" id="w3i-Tf-pp9"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="F9c-tM-Yy2" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="1c1-6K-1sB"/>
+                <constraint firstAttribute="bottom" secondItem="F9c-tM-Yy2" secondAttribute="bottom" id="6ab-GR-OP9"/>
+                <constraint firstAttribute="trailing" secondItem="F9c-tM-Yy2" secondAttribute="trailing" id="LDS-2w-ijP"/>
+                <constraint firstItem="F9c-tM-Yy2" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="rqm-Dw-1ht"/>
+            </constraints>
+            <point key="canvasLocation" x="148" y="157.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="PDF Reader Pro Edition" width="512" height="512"/>
+        <image name="pic_Convert" width="32" height="32"/>
+        <image name="pic_Edit" width="32" height="32"/>
+        <image name="pic_Forms" width="32" height="32"/>
+        <image name="pic_OCR" width="32" height="32"/>
+        <namedColor name="KMColor_Layout_H0">
+            <color red="0.054901960784313725" green="0.066666666666666666" blue="0.078431372549019607" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMColor_Layout_H1">
+            <color red="0.25882352941176473" green="0.27450980392156865" blue="0.30196078431372547" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 101 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMTrialSuccessController.swift

@@ -0,0 +1,101 @@
+//
+//  KMTrialSuccessController.swift
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/12/7.
+//
+
+import Cocoa
+
+class KMTrialSuccessController: NSViewController {
+
+    @IBOutlet weak var contendView: NSView!
+    @IBOutlet weak var infoContendView: NSView!
+    @IBOutlet weak var iconImg: NSImageView!
+    @IBOutlet weak var titleLabel: NSTextField!
+    @IBOutlet weak var subTitleLabel: NSTextField!
+    @IBOutlet weak var getStartBox: KMBox!
+    @IBOutlet weak var getStartLabel: NSTextField!
+    @IBOutlet weak var getStartButton: KMButton!
+    
+    
+    @objc var clickHandle: ((_ controller: KMTrialSuccessController)->Void)?
+    
+    convenience init() {
+        self.init(nibName: "KMTrialSuccessController", bundle: nil)
+        
+    }
+    
+    deinit {
+        DistributedNotificationCenter.default.removeObserver(self)
+    }
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do view setup here.
+        
+        self.contendView.wantsLayer = true
+        self.infoContendView.wantsLayer = true
+        self.infoContendView.layer?.cornerRadius = 10
+        self.infoContendView.layer?.masksToBounds = true
+        
+        self.getStartBox.wantsLayer = true
+        self.getStartBox.layer?.masksToBounds = true
+        self.getStartBox.layer?.cornerRadius = CGRectGetHeight(self.getStartBox.frame)/2
+        
+        self.titleLabel.stringValue = NSLocalizedString("Free Trial PDF Reader Pro for 7 Days!", comment: "")
+        self.subTitleLabel.stringValue = NSLocalizedString("Congrats! You are eligible to enjoy all advanced features in PDF Reader Pro.", comment: "")
+        self.getStartLabel.stringValue = NSLocalizedString("Start Now", comment: "")
+        
+        self.titleLabel.font = NSFont.UbuntuBoldFontWithSize(20)
+        self.subTitleLabel.font = NSFont.SFProTextRegularFont(14)
+        self.getStartLabel.font = NSFont.UbuntuMediumFontWithSize(14)
+        
+        self.getStartButton.wantsLayer = true
+        self.getStartButton!.mouseMoveCallback = { [weak self] mouseEntered in
+            if mouseEntered {
+                self?.getStartButton?.layer?.backgroundColor = NSColor.black.withAlphaComponent(0.15).cgColor
+            } else {
+                self?.getStartButton?.layer?.backgroundColor = NSColor.clear.cgColor
+            }
+        }
+        
+        DistributedNotificationCenter.default().addObserver(self, selector: #selector(themeChange), name: NSNotification.Name(rawValue: "AppleInterfaceThemeChangedNotification"), object: nil)
+        self.updateViewColor()
+    }
+    
+    @objc func updateViewColor() {
+        if KMAppearance.isDarkMode() {
+            self.contendView.layer?.backgroundColor = NSColor(red: 57/255.0, green: 58/255.0, blue: 70/255.0, alpha: 1).cgColor
+            self.infoContendView.layer?.backgroundColor = NSColor(red: 46/255, green: 44/255, blue: 54/255, alpha: 1).cgColor
+            self.titleLabel.textColor = KMAppearance.KMColor_Layout_W0()
+            self.subTitleLabel.textColor = KMAppearance.KMColor_Layout_W0()
+            self.getStartBox.fillColor = NSColor(red: 181/255, green: 177/255, blue: 239/255, alpha: 1)
+            self.getStartLabel.textColor = NSColor(red: 7/255, green: 1/255, blue: 34/255, alpha: 1)
+        } else {
+            self.contendView.layer?.backgroundColor = NSColor(red: 232/255.0, green: 233/255.0, blue: 1, alpha: 1).cgColor
+            self.infoContendView.layer?.backgroundColor = NSColor(red: 248/255, green: 249/255, blue: 1, alpha: 1).cgColor
+            self.titleLabel.textColor = NSColor(red: 0, green: 33/255, blue: 67/255, alpha: 1)
+            self.subTitleLabel.textColor = KMAppearance.KMColor_Layout_H0()
+            self.getStartBox.fillColor = NSColor(red: 39/255, green: 60/255, blue: 98/255, alpha: 1)
+            self.getStartLabel.textColor = NSColor.white
+        }
+    }
+    
+    //MARK: IBAction
+    @IBAction func getStartAction(_ sender: Any) {
+        guard let callBack = self.clickHandle else {
+            return
+        }
+        callBack(self)
+    }
+    
+    @objc func themeChange() {
+        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.3) {
+            self.updateViewColor()
+        }
+    }
+    
+    
+    
+}

+ 138 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMTrialSuccessController.xib

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMTrialSuccessController" customModule="PDF_Reader_Pro" customModuleProvider="target">
+            <connections>
+                <outlet property="contendView" destination="vAB-Kh-kvx" id="99C-OC-nbm"/>
+                <outlet property="getStartBox" destination="c4w-ke-xax" id="Zwl-P4-Xut"/>
+                <outlet property="getStartButton" destination="31z-15-0sC" id="cut-se-Xvy"/>
+                <outlet property="getStartLabel" destination="B77-sv-Y59" id="66n-kq-dUC"/>
+                <outlet property="iconImg" destination="Mw7-gp-5KB" id="1Hh-da-Ch3"/>
+                <outlet property="infoContendView" destination="wYf-FK-Yvv" id="xtW-PL-bMU"/>
+                <outlet property="subTitleLabel" destination="jjF-Ps-9bc" id="JNP-8Q-Lqu"/>
+                <outlet property="titleLabel" destination="1BZ-Tb-RT4" id="BmK-58-lje"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="340" height="416"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="vAB-Kh-kvx">
+                    <rect key="frame" x="0.0" y="0.0" width="340" height="416"/>
+                    <subviews>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="wYf-FK-Yvv">
+                            <rect key="frame" x="20" y="20" width="300" height="364"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Mw7-gp-5KB">
+                                    <rect key="frame" x="118" y="260" width="64" height="64"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="64" id="VwQ-ga-HNU"/>
+                                        <constraint firstAttribute="width" constant="64" id="ioS-1x-fmQ"/>
+                                    </constraints>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="img_licensecode_successful" id="5uf-l6-bmD"/>
+                                </imageView>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1BZ-Tb-RT4">
+                                    <rect key="frame" x="22" y="214" width="256" height="26"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="252" id="9Sm-hq-xD8"/>
+                                    </constraints>
+                                    <textFieldCell key="cell" alignment="center" title="PDF to Office" id="rgy-eV-WDd">
+                                        <font key="font" metaFont="systemBold" size="22"/>
+                                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jjF-Ps-9bc">
+                                    <rect key="frame" x="22" y="122" width="256" height="80"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="252" id="Bo9-Qp-Ifb"/>
+                                    </constraints>
+                                    <textFieldCell key="cell" id="52R-NO-xt0">
+                                        <font key="font" metaFont="system"/>
+                                        <string key="title">PDF to Office added to much more precisely and fastly convert PDF to editable Word, Excel, PowerPoint, RTF, HTML and Text. It keeps original layout and contents well.</string>
+                                        <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <box boxType="custom" borderType="none" borderWidth="0.0" cornerRadius="5" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="c4w-ke-xax" customClass="KMBox">
+                                    <rect key="frame" x="60" y="40" width="180" height="40"/>
+                                    <view key="contentView" id="mzl-pB-fhm">
+                                        <rect key="frame" x="0.0" y="0.0" width="180" height="40"/>
+                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                        <subviews>
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="B77-sv-Y59">
+                                                <rect key="frame" x="57" y="14" width="67" height="16"/>
+                                                <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Get Start" id="DZz-Z3-MOb">
+                                                    <font key="font" metaFont="systemBold"/>
+                                                    <color key="textColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                </textFieldCell>
+                                            </textField>
+                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="31z-15-0sC" customClass="KMButton">
+                                                <rect key="frame" x="0.0" y="0.0" width="180" height="40"/>
+                                                <buttonCell key="cell" type="bevel" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="tzI-Aw-Kxf">
+                                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                    <font key="font" metaFont="system"/>
+                                                </buttonCell>
+                                                <connections>
+                                                    <action selector="getStartAction:" target="-2" id="SLc-Cf-xss"/>
+                                                </connections>
+                                            </button>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="B77-sv-Y59" firstAttribute="centerX" secondItem="mzl-pB-fhm" secondAttribute="centerX" id="8NV-fK-2Ra"/>
+                                            <constraint firstItem="B77-sv-Y59" firstAttribute="centerY" secondItem="mzl-pB-fhm" secondAttribute="centerY" constant="-2" id="Pzy-Ff-o9P"/>
+                                            <constraint firstAttribute="trailing" secondItem="31z-15-0sC" secondAttribute="trailing" id="VIz-8t-xuu"/>
+                                            <constraint firstItem="31z-15-0sC" firstAttribute="leading" secondItem="mzl-pB-fhm" secondAttribute="leading" id="bc1-PD-Nqs"/>
+                                            <constraint firstAttribute="bottom" secondItem="31z-15-0sC" secondAttribute="bottom" id="hKJ-cW-Im5"/>
+                                            <constraint firstItem="31z-15-0sC" firstAttribute="top" secondItem="mzl-pB-fhm" secondAttribute="top" id="qnp-FH-FlM"/>
+                                        </constraints>
+                                    </view>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="40" id="Jdg-1N-Bqd"/>
+                                        <constraint firstAttribute="width" constant="180" id="jFd-hb-FAT"/>
+                                    </constraints>
+                                    <color key="fillColor" red="0.0" green="0.53333333329999999" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                </box>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="bottom" secondItem="c4w-ke-xax" secondAttribute="bottom" constant="40" id="ECU-H6-Ewz"/>
+                                <constraint firstItem="jjF-Ps-9bc" firstAttribute="top" secondItem="1BZ-Tb-RT4" secondAttribute="bottom" constant="12" id="Iq0-aX-Tma"/>
+                                <constraint firstItem="Mw7-gp-5KB" firstAttribute="centerX" secondItem="wYf-FK-Yvv" secondAttribute="centerX" id="Jm1-pK-EeI"/>
+                                <constraint firstItem="1BZ-Tb-RT4" firstAttribute="top" secondItem="Mw7-gp-5KB" secondAttribute="bottom" constant="20" id="LON-I7-fUW"/>
+                                <constraint firstItem="1BZ-Tb-RT4" firstAttribute="centerX" secondItem="wYf-FK-Yvv" secondAttribute="centerX" id="VFK-wH-ixS"/>
+                                <constraint firstItem="jjF-Ps-9bc" firstAttribute="centerX" secondItem="wYf-FK-Yvv" secondAttribute="centerX" id="cgj-6e-6oP"/>
+                                <constraint firstItem="Mw7-gp-5KB" firstAttribute="top" secondItem="wYf-FK-Yvv" secondAttribute="top" constant="40" id="eGv-8j-mNe"/>
+                                <constraint firstItem="c4w-ke-xax" firstAttribute="centerX" secondItem="wYf-FK-Yvv" secondAttribute="centerX" id="iH4-js-ZyN"/>
+                                <constraint firstAttribute="height" constant="364" id="osp-vY-PP2"/>
+                                <constraint firstAttribute="width" constant="300" id="yzW-XJ-UTM"/>
+                            </constraints>
+                        </customView>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="wYf-FK-Yvv" firstAttribute="centerX" secondItem="vAB-Kh-kvx" secondAttribute="centerX" id="LFW-HA-OdR"/>
+                        <constraint firstItem="wYf-FK-Yvv" firstAttribute="top" secondItem="vAB-Kh-kvx" secondAttribute="top" constant="32" id="qKq-QN-wH0"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstAttribute="trailing" secondItem="vAB-Kh-kvx" secondAttribute="trailing" id="BGF-MT-27y"/>
+                <constraint firstItem="vAB-Kh-kvx" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="leh-cf-hx1"/>
+                <constraint firstItem="vAB-Kh-kvx" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="sbN-Oe-cvb"/>
+                <constraint firstAttribute="bottom" secondItem="vAB-Kh-kvx" secondAttribute="bottom" id="z0U-oV-5KC"/>
+            </constraints>
+            <point key="canvasLocation" x="110" y="146"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="img_licensecode_successful" width="64" height="64"/>
+    </resources>
+</document>