Browse Source

【OC To Swift】KMTools_OC(完成)

tangchao 1 year ago
parent
commit
0c0d9e5f5b

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

@@ -2357,6 +2357,9 @@
 		BB3A81AC2AC2A4E4006FC66C /* NSTextView+KMExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A81AB2AC2A4E4006FC66C /* NSTextView+KMExtension.swift */; };
 		BB3A81AD2AC2A4E4006FC66C /* NSTextView+KMExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A81AB2AC2A4E4006FC66C /* NSTextView+KMExtension.swift */; };
 		BB3A81AE2AC2A4E4006FC66C /* NSTextView+KMExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A81AB2AC2A4E4006FC66C /* NSTextView+KMExtension.swift */; };
+		BB3A81B12AC2B82A006FC66C /* KMPageSizeTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A81AF2AC2B82A006FC66C /* KMPageSizeTool.swift */; };
+		BB3A81B22AC2B82A006FC66C /* KMPageSizeTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A81AF2AC2B82A006FC66C /* KMPageSizeTool.swift */; };
+		BB3A81B32AC2BCBC006FC66C /* KMPageSizeTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A81AF2AC2B82A006FC66C /* KMPageSizeTool.swift */; };
 		BB3AAB9029878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3AAB8E29878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift */; };
 		BB3AAB9129878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3AAB8E29878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift */; };
 		BB3AAB9229878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3AAB8E29878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift */; };
@@ -2487,9 +2490,6 @@
 		BB52373029C3427600663BD7 /* KMCoverButton.m in Sources */ = {isa = PBXBuildFile; fileRef = BB52372E29C3427400663BD7 /* KMCoverButton.m */; };
 		BB52373129C3427600663BD7 /* KMCoverButton.m in Sources */ = {isa = PBXBuildFile; fileRef = BB52372E29C3427400663BD7 /* KMCoverButton.m */; };
 		BB52373229C3427600663BD7 /* KMCoverButton.m in Sources */ = {isa = PBXBuildFile; fileRef = BB52372E29C3427400663BD7 /* KMCoverButton.m */; };
-		BB5CA7D529D2AF550095A743 /* KMTools_OC.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5CA7D329D2AF540095A743 /* KMTools_OC.m */; };
-		BB5CA7D629D2AF550095A743 /* KMTools_OC.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5CA7D329D2AF540095A743 /* KMTools_OC.m */; };
-		BB5CA7D729D2AF550095A743 /* KMTools_OC.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5CA7D329D2AF540095A743 /* KMTools_OC.m */; };
 		BB5DF1E92959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB5DF1E72959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift */; };
 		BB5DF1EA2959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB5DF1E72959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift */; };
 		BB5DF1EB2959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB5DF1E72959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift */; };
@@ -4548,6 +4548,7 @@
 		BB35C4982974E18D00D46EE2 /* CustomAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomAlertView.m; sourceTree = "<group>"; };
 		BB35C49E2975362900D46EE2 /* KMRedactTopToolBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRedactTopToolBar.swift; sourceTree = "<group>"; };
 		BB3A81AB2AC2A4E4006FC66C /* NSTextView+KMExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSTextView+KMExtension.swift"; sourceTree = "<group>"; };
+		BB3A81AF2AC2B82A006FC66C /* KMPageSizeTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPageSizeTool.swift; sourceTree = "<group>"; };
 		BB3AAB8E29878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkAdjectivePropertyMainController.swift; sourceTree = "<group>"; };
 		BB3AAB8F29878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMWatermarkAdjectivePropertyMainController.xib; sourceTree = "<group>"; };
 		BB3AAB972987BEA900992A5A /* KMWatermarkPDFView_OC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMWatermarkPDFView_OC.m; sourceTree = "<group>"; };
@@ -4596,8 +4597,6 @@
 		BB52372629C313CA00663BD7 /* KMAnnotationPropertyBaseController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMAnnotationPropertyBaseController.xib; sourceTree = "<group>"; };
 		BB52372E29C3427400663BD7 /* KMCoverButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMCoverButton.m; sourceTree = "<group>"; };
 		BB52372F29C3427500663BD7 /* KMCoverButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMCoverButton.h; sourceTree = "<group>"; };
-		BB5CA7D329D2AF540095A743 /* KMTools_OC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMTools_OC.m; sourceTree = "<group>"; };
-		BB5CA7D429D2AF540095A743 /* KMTools_OC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMTools_OC.h; sourceTree = "<group>"; };
 		BB5DF1E72959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHeaderFooterPreviewController.swift; sourceTree = "<group>"; };
 		BB5DF1E82959C5CB0025CDA1 /* KMHeaderFooterPreviewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHeaderFooterPreviewController.xib; sourceTree = "<group>"; };
 		BB5DF1EF2959C9F00025CDA1 /* KMHeaderFooterPropertyMainController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHeaderFooterPropertyMainController.swift; sourceTree = "<group>"; };
@@ -7773,6 +7772,7 @@
 			isa = PBXGroup;
 			children = (
 				BB135C2929B6CD9A00FD5965 /* KMTools.swift */,
+				BB3A81AF2AC2B82A006FC66C /* KMPageSizeTool.swift */,
 				BBBF687F2A3BF17F0058E14E /* KMFilePromiseProvider.swift */,
 			);
 			path = Tools;
@@ -8336,15 +8336,6 @@
 			path = Control;
 			sourceTree = "<group>";
 		};
-		BB5CA7D229D2AF540095A743 /* Tools */ = {
-			isa = PBXGroup;
-			children = (
-				BB5CA7D329D2AF540095A743 /* KMTools_OC.m */,
-				BB5CA7D429D2AF540095A743 /* KMTools_OC.h */,
-			);
-			path = Tools;
-			sourceTree = "<group>";
-		};
 		BB5DF1E52959C5760025CDA1 /* HeaderFooter */ = {
 			isa = PBXGroup;
 			children = (
@@ -8379,7 +8370,6 @@
 		BB5F8A0329BB04EF00365ADB /* OC */ = {
 			isa = PBXGroup;
 			children = (
-				BB5CA7D229D2AF540095A743 /* Tools */,
 				BB52372D29C3424200663BD7 /* Control */,
 				BBA93D3029BF0ECD0044E0DD /* KeyChain */,
 				BB9695A529BDA3A800FD68D3 /* Property */,
@@ -10780,7 +10770,6 @@
 				BB147029299DC0D100784A6A /* OIDAuthorizationService.m in Sources */,
 				9FF94F1129A7476000B1EF69 /* KMDesignPropertySelector.swift in Sources */,
 				ADBC2D0C299CAA65006280C8 /* KMBaseXibView.swift in Sources */,
-				BB5CA7D529D2AF550095A743 /* KMTools_OC.m in Sources */,
 				BB003021298CEBED002DD1A0 /* KMPreferenceStepper.swift in Sources */,
 				9FDD0FA629533494000C4DAD /* KMJSONParser.swift in Sources */,
 				BBFE6E7F2930EBD400142C01 /* KMCompressWindowController.swift in Sources */,
@@ -11189,6 +11178,7 @@
 				9F1F82CA292F6CF90092C4B4 /* KMPDFInsertPageWindow.swift in Sources */,
 				8931683D296E436B0073EA59 /* KMPDFSignatureTextView.m in Sources */,
 				9FBA0EE128FEC253001117AF /* KMProductPromotionViewController.swift in Sources */,
+				BB3A81B32AC2BCBC006FC66C /* KMPageSizeTool.swift in Sources */,
 				AD9527BE295294E20039D2BC /* KMPrintPageModel.swift in Sources */,
 				BBC348022955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
 				AD0FA4F029A8580D00EDEB50 /* KMComparativeTableView.swift in Sources */,
@@ -11602,7 +11592,6 @@
 				BB14702A299DC0D100784A6A /* OIDAuthorizationService.m in Sources */,
 				9FF94F1229A7476000B1EF69 /* KMDesignPropertySelector.swift in Sources */,
 				ADBC2D0D299CAA65006280C8 /* KMBaseXibView.swift in Sources */,
-				BB5CA7D629D2AF550095A743 /* KMTools_OC.m in Sources */,
 				BB003022298CEBED002DD1A0 /* KMPreferenceStepper.swift in Sources */,
 				BB89725F294C5DDA0045787C /* KMWatermarkPropertyInfoController.swift in Sources */,
 				F37322EB292DF9410013862C /* CPDFStampAnnotation+PDFListView.m in Sources */,
@@ -12259,6 +12248,7 @@
 				BB00302F298D315E002DD1A0 /* KMPreferenceMarkupController.swift in Sources */,
 				9F1FE49D29406E4700E952CA /* HoverCloseButton.m in Sources */,
 				9F1F82C4292F113A0092C4B4 /* KMHomeDragView.swift in Sources */,
+				BB3A81B12AC2B82A006FC66C /* KMPageSizeTool.swift in Sources */,
 				9F1F82CB292F6CF90092C4B4 /* KMPDFInsertPageWindow.swift in Sources */,
 				BB6CA4CD298BB0D000A13864 /* KMPreferenceWindowController.swift in Sources */,
 				ADB5E51A2A3711CB007110A8 /* KMSubscribeWaterMarkView.swift in Sources */,
@@ -12492,7 +12482,6 @@
 				BB6B4C0A292F53CE0071CA06 /* KMMergeFileModel.swift in Sources */,
 				9F0CB4B72977BC1000007028 /* KMPropertiesPanelPreviewSubVC.swift in Sources */,
 				BB9E2F752A495BCD000DC68D /* KMConvertSettingLimitTipView.swift in Sources */,
-				BB5CA7D729D2AF550095A743 /* KMTools_OC.m in Sources */,
 				BB6DD80E29347F77001F0544 /* KMSecureEncryptWindowController.swift in Sources */,
 				AD53B70029AC5FCD00D61E81 /* KMLightMemberToken.swift in Sources */,
 				9F1FE4A129406E4700E952CA /* HoverButton.m in Sources */,
@@ -13086,6 +13075,7 @@
 				9FA693AA2987C0590055488A /* KMStepperView.swift in Sources */,
 				9F1FE4F829406E4700E952CA /* CTFloatingBarBackingView.m in Sources */,
 				9F1FE49E29406E4700E952CA /* HoverCloseButton.m in Sources */,
+				BB3A81B22AC2B82A006FC66C /* KMPageSizeTool.swift in Sources */,
 				ADCB98C3292472F200B51A03 /* KMBatchProcessingTableViewPresenter.swift in Sources */,
 				AD8F06192999DB5900D93CBC /* KMPrintDrawPage.swift in Sources */,
 				9FF94F1B29A770B500B1EF69 /* KMFillSignShapePanel.swift in Sources */,

File diff suppressed because it is too large
+ 21 - 32
PDF Office/PDF Master/AppDelegate.swift


+ 0 - 40
PDF Office/PDF Master/Class/Common/OC/Tools/KMTools_OC.h

@@ -1,40 +0,0 @@
-//
-//  KMTools_OC.h
-//  PDF Master
-//
-//  Created by tangchao on 2023/3/27.
-//
-
-#import <Foundation/Foundation.h>
-
-typedef NS_ENUM(NSUInteger, KMAppTarget) {
-    KMAppTargetFree = 0,
-    KMAppTargetPro = 1,
-    KMAppTargetDMG = 2
-};
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface KMTools_OC : NSObject
-
-+ (BOOL)isDefaultRoleHandlerForContentType:(NSString*)fileExtension;
-+ (BOOL) setPreviewAsDefaultApplicationForFileExtension:(NSString *) fileExtension;
-+ (BOOL)setMyselfAsDefaultApplicationForFileExtension:(NSString *) fileExtension;
-
-+ (KMAppTarget)getAppTarget;
-
-@end
-
-@interface KMTools_OC (Testing)
-
-+ (NSData *)getPDFData;
-
-@end
-
-@interface KMPageSizeTool : NSObject
-
-+ (NSString *)conversionWithUnit:(NSString *)unit value:(CGFloat)value;
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 119
PDF Office/PDF Master/Class/Common/OC/Tools/KMTools_OC.m

@@ -1,119 +0,0 @@
-//
-//  KMTools_OC.m
-//  PDF Master
-//
-//  Created by tangchao on 2023/3/27.
-//
-
-#import "KMTools_OC.h"
-#import <AppKit/AppKit.h>
-
-@implementation KMTools_OC
-
-+ (BOOL)isDefaultRoleHandlerForContentType:(NSString*)fileExtension {
-    NSString *app = (NSString*)CFBridgingRelease(LSCopyDefaultRoleHandlerForContentType((CFStringRef)CFBridgingRetain([self UTIforFileExtension:fileExtension]),
-                                                                                        kLSRolesAll));
-    if ([app isEqualToString:[[NSBundle mainBundle] bundleIdentifier]]) {
-        return YES;
-    }
-    return NO;
-}
-
-+ (BOOL)setMyselfAsDefaultApplicationForFileExtension:(NSString *) fileExtension {
-    OSStatus returnStatus = LSSetDefaultRoleHandlerForContentType ((CFStringRef)CFBridgingRetain([self UTIforFileExtension:fileExtension]),
-                                                                   kLSRolesAll,
-                                                                   (CFStringRef) CFBridgingRetain([[NSBundle mainBundle] bundleIdentifier]));
-    if (returnStatus != 0) {
-        return NO;
-    }
-
-    return YES;
-}
-
-+ (BOOL) setPreviewAsDefaultApplicationForFileExtension:(NSString *) fileExtension {
-    OSStatus returnStatus = LSSetDefaultRoleHandlerForContentType ((CFStringRef)CFBridgingRetain([self UTIforFileExtension:fileExtension]),
-                                                                   kLSRolesAll,
-                                                                   (CFStringRef)@"com.apple.Preview");
-    if (returnStatus != 0) {
-        return NO;
-    }
-
-    return YES;
-}
-
-#pragma mark --SetDefaultRoleHandlerForContentType
-+ (NSString *)UTIforFileExtension:(NSString *) extension {
-    NSString * UTIString = (NSString *)CFBridgingRelease(UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
-                                                                                               (CFStringRef)CFBridgingRetain(extension),
-                                                                                               NULL));
-    
-    return UTIString;
-}
-
-+ (KMAppTarget)getAppTarget {
-    // VERSION_DMG=1
-    // VERSION_FREE=1
-    // VERSION_PRO=1
-#if VERSION_FREE
-    return KMAppTargetFree;
-#endif
-#if VERSION_PRO
-    return KMAppTargetPro;
-#endif
-#if VERSION_DMG
-    return KMAppTargetDMG;
-#endif
-    return KMAppTargetFree;
-}
-
-@end
-
-@implementation KMTools_OC (Testing)
-
-+ (NSData *)getPDFData {
-    NSMutableData *pdfData = [[NSMutableData alloc] init];
-    CGDataConsumerRef consumer = CGDataConsumerCreateWithCFData((CFMutableDataRef)pdfData);
-    CFMutableDictionaryRef myDictionary = CFDictionaryCreateMutable(NULL,
-                                                                    0,
-                                                                    &kCFTypeDictionaryKeyCallBacks,
-                                                                    &kCFTypeDictionaryValueCallBacks);
-    CFDictionarySetValue(myDictionary, kCGPDFContextCreator, CFSTR("PDF Master"));
-    CGRect mediaBox = CGRectMake(0, 0, 595, 842);
-    CGContextRef pdfContext = CGPDFContextCreate(consumer, &mediaBox, myDictionary);
-    CGContextSetRGBFillColor(pdfContext, 1.0, 0.0, 0.0, 0.0);
-    CGContextSetTextDrawingMode(pdfContext, kCGTextFill);
-    CFRelease(myDictionary);
-    CGContextBeginPage(pdfContext, &mediaBox);
-    CGContextEndPage(pdfContext);
-    CGPDFContextClose(pdfContext);
-    CGContextRelease (pdfContext);
-    CGDataConsumerRelease(consumer);
-    
-    return pdfData;
-}
-
-@end
-
-@implementation KMPageSizeTool
-
-+ (NSString *)conversionWithUnit:(NSString *)unit value:(CGFloat)value
-{
-    CGFloat f = value;
-    if ([unit isEqualToString:@"cm"]) {
-        f =  value/10.0;
-    } else if([unit isEqualToString:@"in"]){
-        f = value/25.4;
-    } else {
-        f = value;
-    }
-
-    if (fmodf(f, 1)==0) {//如果有一位小数点
-        return [NSString stringWithFormat:@"%.0f",f];
-    } else if (fmodf(value*10, 1)==0) {//如果有两位小数点
-        return [NSString stringWithFormat:@"%.1f",f];
-    } else {
-        return [NSString stringWithFormat:@"%.2f",f];
-    }
-}
-
-@end

+ 51 - 0
PDF Office/PDF Master/Class/Common/Tools/KMPageSizeTool.swift

@@ -0,0 +1,51 @@
+//
+//  KMPageSizeTool.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/9/26.
+//
+
+import Cocoa
+
+/**
+ + (NSString *)conversionWithUnit:(NSString *)unit value:(CGFloat)value
+ {
+     CGFloat f = value;
+     if ([unit isEqualToString:@"cm"]) {
+         f =  value/10.0;
+     } else if([unit isEqualToString:@"in"]){
+         f = value/25.4;
+     } else {
+         f = value;
+     }
+
+     if (fmodf(f, 1)==0) {//如果有一位小数点
+         return [NSString stringWithFormat:@"%.0f",f];
+     } else if (fmodf(value*10, 1)==0) {//如果有两位小数点
+         return [NSString stringWithFormat:@"%.1f",f];
+     } else {
+         return [NSString stringWithFormat:@"%.2f",f];
+     }
+ }
+ */
+//
+class KMPageSizeTool: NSObject {
+    class func conversion(withUnit: String, value: CGFloat) -> String {
+        var f = value
+        if (withUnit == "cm") {
+            f = value / 10.0
+        } else if (withUnit == "in") {
+            f = value / 25.4
+        } else {
+            f = value
+        }
+        
+        if (fmod(f, 1) == 0) { //如果有一位小数点
+            return String(format: "%.0f", f)
+        } else if (fmod(value * 10, 1) == 0) { //如果有两位小数点
+            return String(format: "%.1f", f)
+        } else {
+            return String(format: "%.2f", f)
+        }
+    }
+}

+ 3 - 9
PDF Office/PDF Master/Class/Common/Tools/KMTools.swift

@@ -343,15 +343,9 @@ extension KMTools {
     }
     
     @objc class func getAppName() -> String {
-        let appTarget = KMTools_OC.getAppTarget()
-        if (appTarget == .free) {
-            return "PDF Master"
-        } else if (appTarget == .pro) {
-            return "PDF Master Pro"
-        } else if (appTarget == .DMG) {
-//            return "PDF Master DMG"
-            return "PDF Master"
-        }
+        #if VERSION_PRO
+        return "PDF Master Pro"
+        #endif
         return "PDF Master"
     }
     

+ 0 - 1
PDF Office/PDF Master/PDF_Master DMG-Bridging-Header.h

@@ -77,7 +77,6 @@
 #import "CSelfSignAnnotationFreeText.h"
 #import "CSelfSignAnnotation.h"
 #import "WelcomeWindowController.h"
-#import "KMTools_OC.h"
 //广告
 #import "KMRecommondManager.h"
 #import "KMCoverButton.h"

+ 0 - 1
PDF Office/PDF Master/PDF_Master Pro-Bridging-Header.h

@@ -52,7 +52,6 @@
 #import "SKInfoWindowController.h"
 #import "SKKeychain.h"
 #import "WelcomeWindowController.h"
-#import "KMTools_OC.h"
 //广告
 #import "KMRecommondManager.h"
 #import "KMCoverButton.h"

+ 0 - 1
PDF Office/PDF Master/PDF_Master-Bridging-Header.h

@@ -75,7 +75,6 @@
 #import "CSelfSignAnnotationFreeText.h"
 #import "CSelfSignAnnotation.h"
 #import "WelcomeWindowController.h"
-#import "KMTools_OC.h"
 //广告
 #import "KMRecommondManager.h"
 #import "KMCoverButton.h"