Procházet zdrojové kódy

【编辑工具】对比结果,页面框可以输入中文,点击enter键中文仍在 -- 修复

lizhe před 10 měsíci
rodič
revize
1d7edd9e48

+ 13 - 4
PDF Office/PDF Master/Class/PDFTools/Compare/ViewController/ContentComplete/View/KMCompareToolbar.swift

@@ -114,16 +114,25 @@ class KMCompareToolbar: KMBaseXibView {
 }
 
 extension KMCompareToolbar: NSTextFieldDelegate{
+
+    func controlTextDidBeginEditing(_ obj: Notification) {
+        
+    }
+    
+    func controlTextDidChange(_ obj: Notification) {
+        
+    }
+    
     func controlTextDidEndEditing(_ obj: Notification) {
         if obj.object as AnyObject === currentPageTF {
             var index = currentPageTF.integerValue
             if index >= totalPage {
                 index = totalPage
                 currentPage = index
-            } 
-//            else if index == 0 {
-//                self.currentPage = currentPage
-//            }
+            }  else if index == 0 {
+                let tempIndex = currentPage
+                currentPage = tempIndex
+            }
             delegate?.compareToolbar(self, didGotoPage: index - 1)
         }
     }

+ 16 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.h

@@ -0,0 +1,16 @@
+//
+//  TextFieldFormatter.h
+//  PDF Connect Suite
+//
+//  Created by wangshuai on 13-10-9.
+//
+//
+
+#import <Foundation/Foundation.h>
+
+@interface TextFieldFormatter : NSFormatter{
+    int maxLength;
+}
+- (void)setMaximumLength:(int)len;
+- (int)maximumLength;
+@end

+ 73 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.m

@@ -0,0 +1,73 @@
+//
+//  TextFieldFormatter.m
+//  PDF Connect Suite
+//
+//  Created by wangshuai on 13-10-9.
+//
+//
+
+#import "TextFieldFormatter.h"
+
+@implementation TextFieldFormatter
+
+- (id)init {
+    if(self = [super init]){
+        maxLength=INT_MAX;
+    }
+    return self;
+}
+
+- (void)setMaximumLength:(int)len {
+    maxLength= len;
+}
+
+- (int)maximumLength {
+    return maxLength;
+}
+
+- (NSString*)stringForObjectValue:(id)object
+{
+    return (NSString*)object;
+}
+
+- (BOOL)getObjectValue:(id*)object forString:(NSString*)string errorDescription:(NSString**)error {
+    *object = string;
+    return YES;
+}
+
+//下面的方法是在输入框中输入时自动调用的
+- (BOOL)isPartialStringValid:(NSString**)partialStringPtr
+       proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
+              originalString:(NSString*)origString
+       originalSelectedRange:(NSRange)origSelRange
+            errorDescription:(NSString**)error
+{
+    NSCharacterSet *nonDigits;
+    NSRange newStuff;
+    NSString *newStuffString;
+    
+    nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
+    newStuff =NSMakeRange(origSelRange.location,
+                          proposedSelRangePtr->location
+                          - origSelRange.location);
+    newStuffString = [*partialStringPtr substringWithRange: newStuff];
+    
+    if([newStuffString rangeOfCharacterFromSet: nonDigits
+                                      options:NSLiteralSearch].location!=NSNotFound) {
+        *error =@"不是数字";
+        return NO;
+    }else{
+        NSString *string = *partialStringPtr ;
+        if (string.length > maxLength) {
+            *error =@"超出数字范围";
+            return NO;
+        }
+        *error =nil;
+        return YES;
+    }
+}
+
+- (NSAttributedString*)attributedStringForObjectValue:(id)anObject withDefaultAttributes:(NSDictionary*)attributes {
+    return nil;
+}
+@end

+ 0 - 61
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/NSObject/TextFieldFormatter.swift

@@ -1,61 +0,0 @@
-//
-//  TextFieldFormatter.swift
-//  PDF Reader Pro
-//
-//  Created by lizhe on 2023/10/12.
-//
-
-import Cocoa
-
-class TextFieldFormatter: Formatter {
-    private var maxLength = Int.max
-
-    override init() {
-        super.init()
-        maxLength = Int.max
-    }
-    
-    required init?(coder: NSCoder) {
-        fatalError("init(coder:) has not been implemented")
-    }
-    
-    func setMaximumLength(_ len: Int) {
-        maxLength = len
-    }
-
-    func maximumLength() -> Int {
-        return maxLength
-    }
-
-    override func string(for obj: Any?) -> String? {
-        return obj as? String
-    }
-
-    override func getObjectValue(_ obj: AutoreleasingUnsafeMutablePointer<AnyObject?>?, for string: String, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
-        obj?.pointee = string as NSString
-        return true
-    }
-
-    func isPartialStringValid(_ partialStringPtr: AutoreleasingUnsafeMutablePointer<NSString?>, proposedSelectedRange proposedSelRangePtr: NSRangePointer?, originalString origString: String, originalSelectedRange origSelRange: NSRange, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>) -> Bool {
-        let nonDigits = CharacterSet.decimalDigits.inverted
-        let newStuff = NSRange(location: origSelRange.location, length: proposedSelRangePtr!.pointee.location - origSelRange.location)
-        let newStuffString = (partialStringPtr.pointee as NSString?)?.substring(with: newStuff)
-
-        if newStuffString?.rangeOfCharacter(from: nonDigits) != nil {
-            error.pointee = "不是数字"
-            return false
-        } else {
-            let string = partialStringPtr.pointee ?? ""
-            if string.length > maxLength {
-                error.pointee = "超出数字范围"
-                return false
-            }
-            error.pointee = nil
-            return true
-        }
-    }
-    
-    override func attributedString(for obj: Any, withDefaultAttributes attrs: [NSAttributedString.Key: Any]?) -> NSAttributedString? {
-        return nil
-    }
-}

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

@@ -106,6 +106,7 @@
 #import "SKBookmark.h"
 //文字
 #import "KMFreeTextStylesViewController.h"
+#import "TextFieldFormatter.h"
 
 #import "AutoSavePopController.h"
 #import "SKFileUpdateChecker.h"

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

@@ -102,6 +102,7 @@
 #import "SKBookmark.h"
 //文字
 #import "KMFreeTextStylesViewController.h"
+#import "TextFieldFormatter.h"
 
 #import "AutoSavePopController.h"
 #import "SKFileUpdateChecker.h"

+ 3 - 0
PDF Office/PDF Master/PDF_Reader_Pro-Bridging-Header.h

@@ -102,6 +102,7 @@
 #import "SKBookmark.h"
 //文字
 #import "KMFreeTextStylesViewController.h"
+#import "TextFieldFormatter.h"
 
 #import "AutoSavePopController.h"
 #import "SKFileUpdateChecker.h"
@@ -124,3 +125,5 @@
 #import "KMPDFBookletWindowController.h"
 #import "KMPDFMultiplePrintWindowController.h"
 #import "KMPDFPosterPrintWindowController.h"
+
+

+ 10 - 8
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -1450,6 +1450,9 @@
 		AD1FE8472BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD1FE8132BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib */; };
 		AD1FE8482BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD1FE8132BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib */; };
 		AD1FE8492BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD1FE8132BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib */; };
+		AD1FE84C2BD920C300AA4A9B /* TextFieldFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = AD1FE84A2BD920C200AA4A9B /* TextFieldFormatter.m */; };
+		AD1FE84D2BD920C300AA4A9B /* TextFieldFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = AD1FE84A2BD920C200AA4A9B /* TextFieldFormatter.m */; };
+		AD1FE84E2BD920C300AA4A9B /* TextFieldFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = AD1FE84A2BD920C200AA4A9B /* TextFieldFormatter.m */; };
 		AD2432CF2B89DFED00A119A9 /* KMFormAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2432CE2B89DFED00A119A9 /* KMFormAlertView.swift */; };
 		AD2432D02B89DFED00A119A9 /* KMFormAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2432CE2B89DFED00A119A9 /* KMFormAlertView.swift */; };
 		AD2432D12B89DFED00A119A9 /* KMFormAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2432CE2B89DFED00A119A9 /* KMFormAlertView.swift */; };
@@ -2245,9 +2248,6 @@
 		ADDEEA922AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */; };
 		ADDEEA932AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */; };
 		ADDEEA942AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */; };
-		ADDEEA962AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */; };
-		ADDEEA972AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */; };
-		ADDEEA982AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */; };
 		ADDEEA9A2AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA992AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift */; };
 		ADDEEA9B2AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA992AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift */; };
 		ADDEEA9C2AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADDEEA992AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift */; };
@@ -5821,6 +5821,8 @@
 		AD1FE8112BD7C98300AA4A9B /* KMPosterPrintManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMPosterPrintManager.h; sourceTree = "<group>"; };
 		AD1FE8122BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMPDFPosterPrintWindowController.h; sourceTree = "<group>"; };
 		AD1FE8132BD7C98300AA4A9B /* KMPDFPosterPrintWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPDFPosterPrintWindowController.xib; sourceTree = "<group>"; };
+		AD1FE84A2BD920C200AA4A9B /* TextFieldFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TextFieldFormatter.m; sourceTree = "<group>"; };
+		AD1FE84B2BD920C200AA4A9B /* TextFieldFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextFieldFormatter.h; sourceTree = "<group>"; };
 		AD2432CE2B89DFED00A119A9 /* KMFormAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMFormAlertView.swift; sourceTree = "<group>"; };
 		AD2432D22B89DFF800A119A9 /* KMFormAlertView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMFormAlertView.xib; sourceTree = "<group>"; };
 		AD2BEC002B5548DF0029F03F /* PDF_Reaer_Pro_EditionApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PDF_Reaer_Pro_EditionApp.swift; sourceTree = "<group>"; };
@@ -6099,7 +6101,6 @@
 		ADDEEA852AD7805200EF675D /* KMGeneralButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMGeneralButton.swift; sourceTree = "<group>"; };
 		ADDEEA8D2AD78E4400EF675D /* KMSelfSignAnnotation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSelfSignAnnotation.swift; sourceTree = "<group>"; };
 		ADDEEA912AD796FF00EF675D /* KMSelfSignAnnotationFreeText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSelfSignAnnotationFreeText.swift; sourceTree = "<group>"; };
-		ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldFormatter.swift; sourceTree = "<group>"; };
 		ADDEEA992AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAnnotationPropertiesColorManager.swift; sourceTree = "<group>"; };
 		ADDF82E22B391A5C00A81A4E /* KMPDFDigitalSignViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPDFDigitalSignViewController.swift; sourceTree = "<group>"; };
 		ADDF82E32B391A5C00A81A4E /* CPDFDigtalView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CPDFDigtalView.h; sourceTree = "<group>"; };
@@ -7799,7 +7800,8 @@
 		89E4E6F22963D1E9002DBA6F /* NSObject */ = {
 			isa = PBXGroup;
 			children = (
-				ADDEEA952AD7A0F300EF675D /* TextFieldFormatter.swift */,
+				AD1FE84B2BD920C200AA4A9B /* TextFieldFormatter.h */,
+				AD1FE84A2BD920C200AA4A9B /* TextFieldFormatter.m */,
 				ADDEEA992AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift */,
 			);
 			path = NSObject;
@@ -15705,6 +15707,7 @@
 				BB1B0AC52B4FC6E900889528 /* KMGuideInfoWindow.swift in Sources */,
 				AD199DF82B26A36500D56FEE /* KMPrintPosterPreviewView.swift in Sources */,
 				BB3AD6F929935483004FC1AE /* Reachability.m in Sources */,
+				AD1FE84C2BD920C300AA4A9B /* TextFieldFormatter.m in Sources */,
 				ADAFDA762AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */,
 				BBEC00BF295C306400A26C98 /* KMBatesPropertyController.swift in Sources */,
 				BB93CDE52AE757A000B29C57 /* KMToolbarItemView.swift in Sources */,
@@ -16235,7 +16238,6 @@
 				AD3AAD5C2B0DA3D400DE5FE7 /* KMCompareTextViewItem.swift in Sources */,
 				ADDF83352B391A5C00A81A4E /* CPDFListViewConfig.m in Sources */,
 				BBB9B32B299A5D6D004F3235 /* GTMOAuth2KeychainCompatibility.m in Sources */,
-				ADDEEA962AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */,
 				AD3AAD752B0DCEAA00DE5FE7 /* KMCompareSaveView.swift in Sources */,
 				9FAAA32A290BD01D0046FFCE /* KMHomeHistoryFileViewController.swift in Sources */,
 				BB146FB7299DC0D100784A6A /* GTLRRuntimeCommon.m in Sources */,
@@ -16756,7 +16758,6 @@
 				BB65A0552AF8B90F003A27A0 /* KMDisplayPreferences.swift in Sources */,
 				BB74DA7C2AC41DE9006EDFE7 /* NSString+KMExtension.swift in Sources */,
 				BB0FE0382B734DD1001E0F88 /* AIConfigWindowController.swift in Sources */,
-				ADDEEA972AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */,
 				BB3198172AC55E6D00107371 /* CPDFDocument+KMExtension.swift in Sources */,
 				BB1B0A9E2B4FB88100889528 /* IAPProductsManager.m in Sources */,
 				BB328B642B55512F00B382C6 /* KMVerificationMessageViewController.m in Sources */,
@@ -16978,6 +16979,7 @@
 				9F1FE4B829406E4700E952CA /* CTBrowserFrameView.m in Sources */,
 				9F0CB5062986561E00007028 /* KMDesignToken+BorderRight.swift in Sources */,
 				AD0FA50B29A9E74200EDEB50 /* KMLoginInputPasswordView.swift in Sources */,
+				AD1FE84D2BD920C300AA4A9B /* TextFieldFormatter.m in Sources */,
 				BB65A07D2AF8E5A4003A27A0 /* KMLineWell.swift in Sources */,
 				9F1FE4D629406E4700E952CA /* NSPasteboard+Utils.m in Sources */,
 				BB147015299DC0D100784A6A /* OIDAuthState.m in Sources */,
@@ -18067,6 +18069,7 @@
 				BB2F615A2966B69D001CB369 /* KMWatermarkPropertyHomeController.swift in Sources */,
 				89752E1F2942CB04003FF08E /* KMSearchMode.swift in Sources */,
 				BB147049299DC0D200784A6A /* OIDServiceConfiguration.m in Sources */,
+				AD1FE84E2BD920C300AA4A9B /* TextFieldFormatter.m in Sources */,
 				ADE3C1C329A4C13700793B13 /* KMPrintAccessoryController_OC.m in Sources */,
 				BB5DF1EB2959C5CB0025CDA1 /* KMHeaderFooterPreviewController.swift in Sources */,
 				AD3AAD3A2B0B7B1900DE5FE7 /* KMCompareToolbar.swift in Sources */,
@@ -18183,7 +18186,6 @@
 				ADEC7A80299397F8009A8256 /* NSFont+SFProText.swift in Sources */,
 				9F72D2052994A3B800DCACF1 /* KMDesignToken+Notification.swift in Sources */,
 				ADC63E392A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */,
-				ADDEEA982AD7A0F300EF675D /* TextFieldFormatter.swift in Sources */,
 				BBC348042955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
 				AD9527DD2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,
 				9FDD0FB9295D5230000C4DAD /* KMToolbarController.swift in Sources */,