فهرست منبع

【添加与签名】KMProfileCellView,KMProfileTitleCellView OC转Swift

tangchao 1 سال پیش
والد
کامیت
ce51f05756

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

@@ -2234,6 +2234,12 @@
 		BB2F9AA62AFC8D5A00F9DD93 /* KMProfileInfoWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB2F9AA22AFC8D5900F9DD93 /* KMProfileInfoWindowController.xib */; };
 		BB2F9AA72AFC8D5A00F9DD93 /* KMProfileInfoWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB2F9AA22AFC8D5900F9DD93 /* KMProfileInfoWindowController.xib */; };
 		BB2F9AA82AFC8D5A00F9DD93 /* KMProfileInfoWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB2F9AA22AFC8D5900F9DD93 /* KMProfileInfoWindowController.xib */; };
+		BB2F9AAB2AFCADA900F9DD93 /* KMProfileCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9AAA2AFCADA900F9DD93 /* KMProfileCellView.swift */; };
+		BB2F9AAC2AFCADA900F9DD93 /* KMProfileCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9AAA2AFCADA900F9DD93 /* KMProfileCellView.swift */; };
+		BB2F9AAD2AFCADA900F9DD93 /* KMProfileCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9AAA2AFCADA900F9DD93 /* KMProfileCellView.swift */; };
+		BB2F9AAF2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9AAE2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift */; };
+		BB2F9AB02AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9AAE2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift */; };
+		BB2F9AB12AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9AAE2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift */; };
 		BB3198122AC5142900107371 /* NSMenu+KMExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3198112AC5142900107371 /* NSMenu+KMExtension.swift */; };
 		BB3198132AC5142900107371 /* NSMenu+KMExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3198112AC5142900107371 /* NSMenu+KMExtension.swift */; };
 		BB3198142AC5142900107371 /* NSMenu+KMExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3198112AC5142900107371 /* NSMenu+KMExtension.swift */; };
@@ -4470,6 +4476,8 @@
 		BB2F9AA02AFC8D5900F9DD93 /* KMProfileInfoWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMProfileInfoWindowController.m; sourceTree = "<group>"; };
 		BB2F9AA12AFC8D5900F9DD93 /* KMProfileInfoWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMProfileInfoWindowController.h; sourceTree = "<group>"; };
 		BB2F9AA22AFC8D5900F9DD93 /* KMProfileInfoWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMProfileInfoWindowController.xib; sourceTree = "<group>"; };
+		BB2F9AAA2AFCADA900F9DD93 /* KMProfileCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMProfileCellView.swift; sourceTree = "<group>"; };
+		BB2F9AAE2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMProfileTitleCellView.swift; sourceTree = "<group>"; };
 		BB3198112AC5142900107371 /* NSMenu+KMExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSMenu+KMExtension.swift"; sourceTree = "<group>"; };
 		BB3198152AC55E6D00107371 /* CPDFDocument+KMExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CPDFDocument+KMExtension.swift"; sourceTree = "<group>"; };
 		BB3198192AC567B500107371 /* CPDFSelection+PDFListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CPDFSelection+PDFListView.swift"; sourceTree = "<group>"; };
@@ -7710,6 +7718,7 @@
 		BB2F9A9E2AFC8D1100F9DD93 /* SelfSign */ = {
 			isa = PBXGroup;
 			children = (
+				BB2F9AA92AFCAB1A00F9DD93 /* View */,
 				BB2F9A9F2AFC8D1100F9DD93 /* Window */,
 			);
 			path = SelfSign;
@@ -7725,6 +7734,15 @@
 			path = Window;
 			sourceTree = "<group>";
 		};
+		BB2F9AA92AFCAB1A00F9DD93 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				BB2F9AAA2AFCADA900F9DD93 /* KMProfileCellView.swift */,
+				BB2F9AAE2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		BB32BF212A5EA02900D11348 /* Analytics */ = {
 			isa = PBXGroup;
 			children = (
@@ -10819,6 +10837,7 @@
 				BBEC00AF295C2AF300A26C98 /* KMBatesPreviewController.swift in Sources */,
 				9F0CB50D2986564500007028 /* KMDesignToken+BorderLeft.swift in Sources */,
 				9FBC489B2996500300CA39D7 /* KMDocumentController.swift in Sources */,
+				BB2F9AAF2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */,
 				BBC348332955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
 				BBFE6E87293210AB00142C01 /* KMCompressCellView.swift in Sources */,
 				BB146FE1299DC0D100784A6A /* GTLRDriveQuery.m in Sources */,
@@ -11057,6 +11076,7 @@
 				BBB612A92AF48952000F3724 /* KMBackgroundObject.swift in Sources */,
 				BB2EDF46296E4618003BCF58 /* KMPageEditTools.swift in Sources */,
 				BB162E8E294FFC0C0088E9D1 /* KMWatermarkPDFView.swift in Sources */,
+				BB2F9AAB2AFCADA900F9DD93 /* KMProfileCellView.swift in Sources */,
 				BB49ED15293F489500C82CA2 /* KMConvertImageSettingView.swift in Sources */,
 				ADBC375D29CC61E100D93208 /* KMReadModelView.swift in Sources */,
 				BB6013902AD3AFF000A76FB2 /* NSPopover+KMExtension.swift in Sources */,
@@ -11856,6 +11876,7 @@
 				BB3198132AC5142900107371 /* NSMenu+KMExtension.swift in Sources */,
 				ADB2D6FA294882AE0029D2B3 /* KMTextFieldStepperView.swift in Sources */,
 				BBC3483C2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */,
+				BB2F9AB02AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */,
 				AD88109329A7612000178CA1 /* KMRegisterModel.swift in Sources */,
 				ADBC2D20299CDA29006280C8 /* NSView+Layer.swift in Sources */,
 				AD1CA3F82A05FCB60070541F /* KMAnnotationScreenViewController.swift in Sources */,
@@ -11940,6 +11961,7 @@
 				BB49ECFF293F459500C82CA2 /* KMConvertPPTsWindowController.swift in Sources */,
 				9F1F82EB2935D02E0092C4B4 /* KMComboBox.swift in Sources */,
 				AD9527EB2955520C0039D2BC /* KMBaseTextFieldModel.swift in Sources */,
+				BB2F9AAC2AFCADA900F9DD93 /* KMProfileCellView.swift in Sources */,
 				BB146FEB299DC0D100784A6A /* GTLRDuration.m in Sources */,
 				BB89726E294DB67D0045787C /* KMWatermarkAdjectiveBaseView.swift in Sources */,
 				BB853C9A2AF8E39D009C20C1 /* KMRemovePasswordOperationQueue.swift in Sources */,
@@ -12353,6 +12375,7 @@
 				AD867FB529DFBB2700F00440 /* KMAnnotationOutlineSectionView.swift in Sources */,
 				ADBC373E29CA9AE100D93208 /* KMComparativeManager.swift in Sources */,
 				BB5F8A1329BB04F000365ADB /* GBDeviceInfo_Common.m in Sources */,
+				BB2F9AB12AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */,
 				BB2F615A2966B69D001CB369 /* KMWatermarkPropertyHomeController.swift in Sources */,
 				89752E1F2942CB04003FF08E /* KMSearchMode.swift in Sources */,
 				BBD1F785296F9DB500343885 /* KMPageEditExtractWindowController.swift in Sources */,
@@ -12495,6 +12518,7 @@
 				BB897277294DC04F0045787C /* KMWatermartAdjectivePageRangeView.swift in Sources */,
 				BBEC00D3295C33D600A26C98 /* KMCreateBatesController.swift in Sources */,
 				BB6719FB2AD2CC05003D44D5 /* CPDFSignatureWidgetAnnotation+PDFListView.swift in Sources */,
+				BB2F9AAD2AFCADA900F9DD93 /* KMProfileCellView.swift in Sources */,
 				9F221ED129A85D3700978A59 /* KMDesignBase.swift in Sources */,
 				ADB5E51B2A3711CB007110A8 /* KMSubscribeWaterMarkView.swift in Sources */,
 				89D9896028FD21E6003A3E87 /* KMAnnotationCollectionView.swift in Sources */,

+ 1 - 1
PDF Office/PDF Master/Class/Appearance/KMAppearance.swift

@@ -563,7 +563,7 @@ let KMImageNameElse1 = "KMImageNameElse1";
 let KMImageNameElse2 = "KMImageNameElse2";
 let KMImageNameElsei = "KMImageNameElsei";
 
-@objc class KMAppearance: NSObject {
+@objcMembers class KMAppearance: NSObject {
     
     class func isDarkMode() -> Bool {
         let result = false

+ 19 - 0
PDF Office/PDF Master/Class/PDFTools/SelfSign/View/KMProfileCellView.swift

@@ -0,0 +1,19 @@
+//
+//  KMProfileCellView.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/11/9.
+//
+
+import Cocoa
+
+@objcMembers class KMProfileCellView: NSTableCellView {
+    @IBOutlet var detailtextField: NSTextField!
+    @IBOutlet var addButton: NSButton!
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+}

+ 18 - 0
PDF Office/PDF Master/Class/PDFTools/SelfSign/View/KMProfileTitleCellView.swift

@@ -0,0 +1,18 @@
+//
+//  KMProfileTitleCellView.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/11/9.
+//
+
+import Cocoa
+
+@objcMembers class KMProfileTitleCellView: NSTableCellView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 253 - 255
PDF Office/PDF Master/Class/PDFTools/SelfSign/Window/KMProfileInfoWindowController.m

@@ -8,7 +8,6 @@
 #import "KMProfileInfoWindowController.h"
 //#import "NSWindowController_SKExtensions.h"
 //#import "KMProfileCellView.h"
-//#import "KMProfileTitleCellView.h"
 //#import "NSButton+TitleColor.h"
 #import <PDF_Master-Swift.h>
 
@@ -403,75 +402,75 @@ static NSString  *NormalCellIdentifier = @"Normal";
     }
 }
 
-//- (void)configuTextField:(KMProfileCellView *)cellView {
-//    NSTextField * textField = cellView.detailtextField;
-//    NSInteger tag = textField.tag;
-//    NSString *placeHoldString = @"";
-//    NSString *nameString = @"";
-//
-//    if (tag == 1) {
-//        placeHoldString = NSLocalizedString(@"Add Full Name", nil);
-//        nameString = [KMProfileInfo sharedInstance].fullName;
-//    } else if (tag == 2) {
-//        placeHoldString = NSLocalizedString(@"Add First Name", nil);
-//        nameString = [KMProfileInfo sharedInstance].firstName;
-//    } else if (tag == 3) {
-//        placeHoldString = NSLocalizedString(@"Add Middle Name", nil);
-//        nameString = [KMProfileInfo sharedInstance].middleName;
-//    } else if (tag == 4) {
-//        placeHoldString = NSLocalizedString(@"Add Last Name", nil);
-//        nameString = [KMProfileInfo sharedInstance].lastName;
-//    } else if (tag == 6) {
-//        placeHoldString = NSLocalizedString(@"Add Street 1", nil);
-//        nameString = [KMProfileInfo sharedInstance].street1;
-//    } else if (tag == 7) {
-//        placeHoldString = NSLocalizedString(@"Add Street 2", nil);
-//        nameString = [KMProfileInfo sharedInstance].street2;
-//    } else if (tag == 8) {
-//
-//        placeHoldString = NSLocalizedString(@"Add City", nil);
-//        nameString = [KMProfileInfo sharedInstance].city;
-//    } else if (tag == 9) {
-//        placeHoldString = NSLocalizedString(@"Add State", nil);
-//        nameString = [KMProfileInfo sharedInstance].state;
-//    } else if (tag == 10) {
-//        placeHoldString = NSLocalizedString(@"Add Zip", nil);
-//        nameString = [KMProfileInfo sharedInstance].zip;
-//    } else if (tag == 11) {
-//        placeHoldString = NSLocalizedString(@"Add Country", nil);
-//        nameString = [KMProfileInfo sharedInstance].country;
-//    } else if (tag == 13) {
-//        placeHoldString = NSLocalizedString(@"Add Email", nil);
-//        nameString = [KMProfileInfo sharedInstance].email;
-//    } else if (tag == 14) {
-//        placeHoldString = NSLocalizedString(@"Add Tel", nil);
-//        nameString = [KMProfileInfo sharedInstance].tel;
-//    } else if (tag == 16) {
-//        placeHoldString = NSLocalizedString(@"Add Date", nil);
-//        NSDate *date = [NSDate date];
-//        NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
-//        [formatter setDateFormat:@"YYYY/MM/dd"];
-//        nameString = [formatter stringFromDate:date];
-//    } else if (tag == 17) {
-//        placeHoldString = NSLocalizedString(@"Add Birth Date", nil);
-//        nameString = [KMProfileInfo sharedInstance].birthDate;
-//    }
-//    textField.stringValue = nameString;
-//    if (nameString.length > 0) {
-//        textField.hidden = NO;
-//        cellView.addButton.hidden = YES;
-//    } else {
-//        cellView.addButton.title = placeHoldString;
-//        textField.placeholderString = placeHoldString;
-//        textField.hidden = YES;
-//        cellView.addButton.tag = tag;
-//        cellView.addButton.target = self;
-//        [cellView.addButton setAction:@selector(addFileName_Add:)];
-//        [cellView.addButton setTitleColor:[NSColor systemBlueColor]];
-//        cellView.addButton.hidden = NO;
-//
-//    }
-//}
+- (void)configuTextField:(KMProfileCellView *)cellView {
+    NSTextField * textField = cellView.detailtextField;
+    NSInteger tag = textField.tag;
+    NSString *placeHoldString = @"";
+    NSString *nameString = @"";
+
+    if (tag == 1) {
+        placeHoldString = NSLocalizedString(@"Add Full Name", nil);
+        nameString = [KMProfileInfo sharedInstance].fullName;
+    } else if (tag == 2) {
+        placeHoldString = NSLocalizedString(@"Add First Name", nil);
+        nameString = [KMProfileInfo sharedInstance].firstName;
+    } else if (tag == 3) {
+        placeHoldString = NSLocalizedString(@"Add Middle Name", nil);
+        nameString = [KMProfileInfo sharedInstance].middleName;
+    } else if (tag == 4) {
+        placeHoldString = NSLocalizedString(@"Add Last Name", nil);
+        nameString = [KMProfileInfo sharedInstance].lastName;
+    } else if (tag == 6) {
+        placeHoldString = NSLocalizedString(@"Add Street 1", nil);
+        nameString = [KMProfileInfo sharedInstance].street1;
+    } else if (tag == 7) {
+        placeHoldString = NSLocalizedString(@"Add Street 2", nil);
+        nameString = [KMProfileInfo sharedInstance].street2;
+    } else if (tag == 8) {
+
+        placeHoldString = NSLocalizedString(@"Add City", nil);
+        nameString = [KMProfileInfo sharedInstance].city;
+    } else if (tag == 9) {
+        placeHoldString = NSLocalizedString(@"Add State", nil);
+        nameString = [KMProfileInfo sharedInstance].state;
+    } else if (tag == 10) {
+        placeHoldString = NSLocalizedString(@"Add Zip", nil);
+        nameString = [KMProfileInfo sharedInstance].zip;
+    } else if (tag == 11) {
+        placeHoldString = NSLocalizedString(@"Add Country", nil);
+        nameString = [KMProfileInfo sharedInstance].country;
+    } else if (tag == 13) {
+        placeHoldString = NSLocalizedString(@"Add Email", nil);
+        nameString = [KMProfileInfo sharedInstance].email;
+    } else if (tag == 14) {
+        placeHoldString = NSLocalizedString(@"Add Tel", nil);
+        nameString = [KMProfileInfo sharedInstance].tel;
+    } else if (tag == 16) {
+        placeHoldString = NSLocalizedString(@"Add Date", nil);
+        NSDate *date = [NSDate date];
+        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
+        [formatter setDateFormat:@"YYYY/MM/dd"];
+        nameString = [formatter stringFromDate:date];
+    } else if (tag == 17) {
+        placeHoldString = NSLocalizedString(@"Add Birth Date", nil);
+        nameString = [KMProfileInfo sharedInstance].birthDate;
+    }
+    textField.stringValue = nameString;
+    if (nameString.length > 0) {
+        textField.hidden = NO;
+        cellView.addButton.hidden = YES;
+    } else {
+        cellView.addButton.title = placeHoldString;
+        textField.placeholderString = placeHoldString;
+        textField.hidden = YES;
+        cellView.addButton.tag = tag;
+        cellView.addButton.target = self;
+        [cellView.addButton setAction:@selector(addFileName_Add:)];
+        [cellView.addButton setTitleColor:[NSColor systemBlueColor]];
+        cellView.addButton.hidden = NO;
+
+    }
+}
 
 #pragma mark - NSTableViewDelegate / NSTableViewDataSources
 
@@ -505,54 +504,54 @@ static NSString  *NormalCellIdentifier = @"Normal";
         [addingString isEqualToString:NSLocalizedString(@"Custom", nil)])
         && row <= customIndex) {
         tableCellView = [tableView makeViewWithIdentifier:TitleCellIdentifier owner:tableColumn];
-//        KMProfileTitleCellView *cellView = (KMProfileTitleCellView *)tableCellView;
-//        cellView.textField.stringValue = addingString;
-//        cellView.textField.editable = NO;
-//        cellView.wantsLayer = YES;
-//        if (@available(macOS 10.14, *)) {
-//            if ([KMAppearance isDarkMode]) {
-//                cellView.layer.backgroundColor = [NSColor colorWithRed:73/255.0 green:75/255.0 blue:77/255.0 alpha:1.0].CGColor;
-//            } else {
-//                cellView.layer.backgroundColor = [NSColor colorWithRed:219/255.0 green:219/255.0 blue:219/255.0 alpha:1.0].CGColor;
-//            }
-//        } else {
-//            cellView.layer.backgroundColor = [NSColor colorWithRed:235.0/255.0 green:235.0/255.0 blue:235.0/255.0 alpha:1.0].CGColor;
-//        }
+        KMProfileTitleCellView *cellView = (KMProfileTitleCellView *)tableCellView;
+        cellView.textField.stringValue = addingString;
+        cellView.textField.editable = NO;
+        cellView.wantsLayer = YES;
+        if ([KMAppearance isSupportNewColor]) {
+            if ([KMAppearance isDarkMode]) {
+                cellView.layer.backgroundColor = [NSColor colorWithRed:73/255.0 green:75/255.0 blue:77/255.0 alpha:1.0].CGColor;
+            } else {
+                cellView.layer.backgroundColor = [NSColor colorWithRed:219/255.0 green:219/255.0 blue:219/255.0 alpha:1.0].CGColor;
+            }
+        } else {
+            cellView.layer.backgroundColor = [NSColor colorWithRed:235.0/255.0 green:235.0/255.0 blue:235.0/255.0 alpha:1.0].CGColor;
+        }
         
     } else {
         tableCellView = [tableView makeViewWithIdentifier:NormalCellIdentifier owner:tableColumn];
-//        KMProfileCellView *cellView = (KMProfileCellView *)tableCellView;
-//        cellView.textField.stringValue = addingString;
-//        if([cellView isKindOfClass:[KMProfileCellView class]]){
-//            cellView.detailtextField.hidden = NO;
-//        }
-//        cellView.textField.textColor = [KMAppearance KMColor_Layout_H0];
-//        if (customIndex > row) {
-//            cellView.detailtextField.tag = row;
-//            [self configuTextField:cellView];
-//            cellView.textField.editable = NO;
-//            cellView.textField.selectable = NO;
-//            if ([addingString isEqualToString:NSLocalizedString(@"Date", nil)]) {
-//                cellView.detailtextField.editable = NO;
-//                cellView.detailtextField.selectable = NO;
-//            }
-//
-//            cellView.detailtextField.delegate = self;
-//        } else {
-//            NSInteger index = row - customIndex - 1;
-//            NSDictionary *dict = [[KMProfileInfo sharedInstance].customInfoArray objectAtIndex:index];
-//            cellView.addButton.hidden = YES;
-//            cellView.detailtextField.stringValue = dict.allValues.firstObject;
-//            cellView.detailtextField.placeholderString = NSLocalizedString(@"Type Value Here", nil);
-//            cellView.textField.placeholderString = NSLocalizedString(@"Type Label Here", nil);
-//            cellView.textField.editable = YES;
-//            cellView.textField.selectable = YES;
-//            cellView.detailtextField.editable = YES;
-//            cellView.detailtextField.selectable = YES;
-//            cellView.textField.delegate = self;
-//            cellView.detailtextField.delegate = self;
-//
-//        }
+        KMProfileCellView *cellView = (KMProfileCellView *)tableCellView;
+        cellView.textField.stringValue = addingString;
+        if([cellView isKindOfClass:[KMProfileCellView class]]){
+            cellView.detailtextField.hidden = NO;
+        }
+        cellView.textField.textColor = [KMAppearance KMColor_Layout_H0];
+        if (customIndex > row) {
+            cellView.detailtextField.tag = row;
+            [self configuTextField:cellView];
+            cellView.textField.editable = NO;
+            cellView.textField.selectable = NO;
+            if ([addingString isEqualToString:NSLocalizedString(@"Date", nil)]) {
+                cellView.detailtextField.editable = NO;
+                cellView.detailtextField.selectable = NO;
+            }
+
+            cellView.detailtextField.delegate = self;
+        } else {
+            NSInteger index = row - customIndex - 1;
+            NSDictionary *dict = [[KMProfileInfo sharedInstance].customInfoArray objectAtIndex:index];
+            cellView.addButton.hidden = YES;
+            cellView.detailtextField.stringValue = dict.allValues.firstObject;
+            cellView.detailtextField.placeholderString = NSLocalizedString(@"Type Value Here", nil);
+            cellView.textField.placeholderString = NSLocalizedString(@"Type Label Here", nil);
+            cellView.textField.editable = YES;
+            cellView.textField.selectable = YES;
+            cellView.detailtextField.editable = YES;
+            cellView.detailtextField.selectable = YES;
+            cellView.textField.delegate = self;
+            cellView.detailtextField.delegate = self;
+
+        }
     }
     return tableCellView;
 }
@@ -582,7 +581,7 @@ static NSString  *NormalCellIdentifier = @"Normal";
         return;
     }
     NSTextField *textField = (NSTextField *)obj.object;
-//    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:currentRow makeIfNecessary:NO];
+    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:currentRow makeIfNecessary:NO];
     if (currentRow == 1) {
         [KMProfileInfo sharedInstance].fullName = textField.stringValue;
     } else if (currentRow == 2) {
@@ -613,25 +612,25 @@ static NSString  *NormalCellIdentifier = @"Normal";
         [KMProfileInfo sharedInstance].birthDate = textField.stringValue;
     } else if (currentRow >= 19 ) {
         NSInteger customIndex = currentRow - 19;
-//        if (cellView) {
-//            NSDictionary *dict = [[KMProfileInfo sharedInstance].customInfoArray objectAtIndex:customIndex];
-//            NSString *originalKey = dict.allKeys.firstObject;
-//            NSString *originalValue = dict.allValues.firstObject;
-//            if ([textField isEqual:cellView.textField]) {
-//                NSDictionary *newDict = @{textField.stringValue : originalValue};
-//                [[KMProfileInfo sharedInstance] replaceObjectInCustomInfoArrayAtIndex:customIndex withObject:newDict];
-//            } else if ([textField isEqual:cellView.detailtextField]){
-//                NSDictionary *newDict = @{originalKey:textField.stringValue};
-//                [[KMProfileInfo sharedInstance] replaceObjectInCustomInfoArrayAtIndex:customIndex withObject:newDict];
-//            }
-//        }
+        if (cellView) {
+            NSDictionary *dict = [[KMProfileInfo sharedInstance].customInfoArray objectAtIndex:customIndex];
+            NSString *originalKey = dict.allKeys.firstObject;
+            NSString *originalValue = dict.allValues.firstObject;
+            if ([textField isEqual:cellView.textField]) {
+                NSDictionary *newDict = @{textField.stringValue : originalValue};
+                [[KMProfileInfo sharedInstance] replaceObjectInCustomInfoArrayAtIndex:customIndex withObject:newDict];
+            } else if ([textField isEqual:cellView.detailtextField]){
+                NSDictionary *newDict = @{originalKey:textField.stringValue};
+                [[KMProfileInfo sharedInstance] replaceObjectInCustomInfoArrayAtIndex:customIndex withObject:newDict];
+            }
+        }
     }
     
-//    if (cellView.detailtextField.stringValue.length > 0 ) {
-//        self.addButton.enabled = YES;
-//    } else {
-//        self.addButton.enabled = NO;
-//    }
+    if (cellView.detailtextField.stringValue.length > 0 ) {
+        self.addButton.enabled = YES;
+    } else {
+        self.addButton.enabled = NO;
+    }
 }
 
 - (void)controlTextDidBeginEditing:(NSNotification *)obj {
@@ -650,56 +649,56 @@ static NSString  *NormalCellIdentifier = @"Normal";
 {
     NSTextField *textField = obj.object;
     NSInteger tag = textField.tag;
-//    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:textField.tag makeIfNecessary:NO];
+    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:textField.tag makeIfNecessary:NO];
+
+    if ([cellView isKindOfClass:[KMProfileCellView class]] && tag > 0) {
+        NSString *placeHoldString = @"";
+
+        if (tag == 1) {
+            placeHoldString = NSLocalizedString(@"Add Full Name", nil);
+        } else if (tag == 2) {
+            placeHoldString = NSLocalizedString(@"Add First Name", nil);
+        } else if (tag == 3) {
+            placeHoldString = NSLocalizedString(@"Add Middle Name", nil);
+        } else if (tag == 4) {
+            placeHoldString = NSLocalizedString(@"Add Last Name", nil);
+        } else if (tag == 6) {
+            placeHoldString = NSLocalizedString(@"Add Street 1", nil);
+        } else if (tag == 7) {
+            placeHoldString = NSLocalizedString(@"Add Street 2", nil);
+        } else if (tag == 8) {
+            placeHoldString = NSLocalizedString(@"Add City", nil);
+        } else if (tag == 9) {
+            placeHoldString = NSLocalizedString(@"Add State", nil);
+        } else if (tag == 10) {
+            placeHoldString = NSLocalizedString(@"Add Zip", nil);
+        } else if (tag == 11) {
+            placeHoldString = NSLocalizedString(@"Add Country", nil);
+        } else if (tag == 13) {
+            placeHoldString = NSLocalizedString(@"Add Email", nil);
+        } else if (tag == 14) {
+            placeHoldString = NSLocalizedString(@"Add Tel", nil);
+        } else if (tag == 16) {
+            placeHoldString = NSLocalizedString(@"Add Date", nil);
+        } else if (tag == 17) {
+            placeHoldString = NSLocalizedString(@"Add Birth Date", nil);
+        }
 
-//    if ([cellView isKindOfClass:[KMProfileCellView class]] && tag > 0) {
-//        NSString *placeHoldString = @"";
-//
-//        if (tag == 1) {
-//            placeHoldString = NSLocalizedString(@"Add Full Name", nil);
-//        } else if (tag == 2) {
-//            placeHoldString = NSLocalizedString(@"Add First Name", nil);
-//        } else if (tag == 3) {
-//            placeHoldString = NSLocalizedString(@"Add Middle Name", nil);
-//        } else if (tag == 4) {
-//            placeHoldString = NSLocalizedString(@"Add Last Name", nil);
-//        } else if (tag == 6) {
-//            placeHoldString = NSLocalizedString(@"Add Street 1", nil);
-//        } else if (tag == 7) {
-//            placeHoldString = NSLocalizedString(@"Add Street 2", nil);
-//        } else if (tag == 8) {
-//            placeHoldString = NSLocalizedString(@"Add City", nil);
-//        } else if (tag == 9) {
-//            placeHoldString = NSLocalizedString(@"Add State", nil);
-//        } else if (tag == 10) {
-//            placeHoldString = NSLocalizedString(@"Add Zip", nil);
-//        } else if (tag == 11) {
-//            placeHoldString = NSLocalizedString(@"Add Country", nil);
-//        } else if (tag == 13) {
-//            placeHoldString = NSLocalizedString(@"Add Email", nil);
-//        } else if (tag == 14) {
-//            placeHoldString = NSLocalizedString(@"Add Tel", nil);
-//        } else if (tag == 16) {
-//            placeHoldString = NSLocalizedString(@"Add Date", nil);
-//        } else if (tag == 17) {
-//            placeHoldString = NSLocalizedString(@"Add Birth Date", nil);
-//        }
-//
-//        if (textField.stringValue.length > 0) {
-//            textField.textColor = [NSColor secondaryLabelColor];
-//            textField.hidden = NO;
-//            cellView.addButton.hidden = YES;
-//        } else {
-////            textField.hidden = YES; //自定义新增,输入Label后,value为空时推出编辑,就无法填写了
-//            textField.placeholderString = @"";
-//            cellView.addButton.hidden = NO;
-//            cellView.addButton.tag = tag;
-//            cellView.addButton.target = self;
-//            [cellView.addButton setAction:@selector(addFileName_Add:)];
-//            cellView.addButton.title = placeHoldString;
-//            [cellView.addButton setTitleColor:[NSColor systemBlueColor]];
-//        }
-//    }
+        if (textField.stringValue.length > 0) {
+            textField.textColor = [NSColor secondaryLabelColor];
+            textField.hidden = NO;
+            cellView.addButton.hidden = YES;
+        } else {
+//            textField.hidden = YES; //自定义新增,输入Label后,value为空时推出编辑,就无法填写了
+            textField.placeholderString = @"";
+            cellView.addButton.hidden = NO;
+            cellView.addButton.tag = tag;
+            cellView.addButton.target = self;
+            [cellView.addButton setAction:@selector(addFileName_Add:)];
+            cellView.addButton.title = placeHoldString;
+            [cellView.addButton setTitleColor:[NSColor systemBlueColor]];
+        }
+    }
     
 }
 
@@ -707,22 +706,22 @@ static NSString  *NormalCellIdentifier = @"Normal";
     if (self.tableView.selectedRow == NSNotFound || self.tableView.selectedRow == -1) {
         return;
     }
-//    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.selectedRow makeIfNecessary:NO];
-//    self.addButton.enabled = cellView.detailtextField.stringValue.length > 0;
-//
-//    for (NSInteger i = 0; i < self.tableView.numberOfRows; i++) {
-//        NSTableCellView *cellView =  [self.tableView viewAtColumn:0 row:i makeIfNecessary:NO];
-//        if ([cellView isKindOfClass:[KMProfileCellView class]]) {
-//            KMProfileCellView *cellView1 = (KMProfileCellView *)cellView;
-//            if (i == self.tableView.selectedRow) {
-//                cellView1.detailtextField.textColor = [NSColor whiteColor];
-//                [cellView1.addButton setTitleColor:[NSColor whiteColor]];
-//            } else {
-//                cellView1.detailtextField.textColor = [NSColor secondaryLabelColor];
-//                [cellView1.addButton setTitleColor:[NSColor systemBlueColor]];
-//            }
-//        }
-//    }
+    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.selectedRow makeIfNecessary:NO];
+    self.addButton.enabled = cellView.detailtextField.stringValue.length > 0;
+
+    for (NSInteger i = 0; i < self.tableView.numberOfRows; i++) {
+        NSTableCellView *cellView =  [self.tableView viewAtColumn:0 row:i makeIfNecessary:NO];
+        if ([cellView isKindOfClass:[KMProfileCellView class]]) {
+            KMProfileCellView *cellView1 = (KMProfileCellView *)cellView;
+            if (i == self.tableView.selectedRow) {
+                cellView1.detailtextField.textColor = [NSColor whiteColor];
+                [cellView1.addButton setTitleColor:[NSColor whiteColor]];
+            } else {
+                cellView1.detailtextField.textColor = [NSColor secondaryLabelColor];
+                [cellView1.addButton setTitleColor:[NSColor systemBlueColor]];
+            }
+        }
+    }
     NSInteger customIndex = [self.tableContents indexOfObject:NSLocalizedString(@"Custom", nil)];
     if (self.tableView.selectedRow > customIndex) {
         self.removeNewInfoButton.enabled = YES;
@@ -741,8 +740,8 @@ static NSString  *NormalCellIdentifier = @"Normal";
     NSInteger selectRow =self.tableView.selectedRow;
     if (selectRow >= 0) {
         if (self.callBack) {
-//            KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.selectedRow makeIfNecessary:NO];
-//            self.callBack(cellView.detailtextField.stringValue);
+            KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.selectedRow makeIfNecessary:NO];
+            self.callBack(cellView.detailtextField.stringValue);
 //            [self dismissSheet:sender];
         }
     }
@@ -757,9 +756,9 @@ static NSString  *NormalCellIdentifier = @"Normal";
         [self.tableView scrollRowToVisible:self.tableView.numberOfRows - 1];
         NSIndexSet *set = [NSIndexSet indexSetWithIndex:self.tableView.numberOfRows - 1];
         [self.tableView selectRowIndexes:set byExtendingSelection:NO];
-//        KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.selectedRow makeIfNecessary:NO];
-//        cellView.addButton.hidden = YES;
-//        [cellView.textField becomeFirstResponder];
+        KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.selectedRow makeIfNecessary:NO];
+        cellView.addButton.hidden = YES;
+        [cellView.textField becomeFirstResponder];
     };
 }
 
@@ -779,37 +778,37 @@ static NSString  *NormalCellIdentifier = @"Normal";
 {
     [self.window makeFirstResponder:nil];
     NSInteger tag = sender.tag;
-//    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:tag makeIfNecessary:NO];
-//    if ([cellView isKindOfClass:[KMProfileCellView class]]) {
-//        cellView.addButton.hidden = YES;
-//        cellView.detailtextField.hidden = NO;
-//        [cellView.detailtextField becomeFirstResponder];
-//    }
+    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:tag makeIfNecessary:NO];
+    if ([cellView isKindOfClass:[KMProfileCellView class]]) {
+        cellView.addButton.hidden = YES;
+        cellView.detailtextField.hidden = NO;
+        [cellView.detailtextField becomeFirstResponder];
+    }
 }
 
 #pragma mark - NSMenu Action
 
 - (IBAction)menuItemClicked_Edit:(id)sender {
-//    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.clickedRow makeIfNecessary:NO];
-//    NSIndexSet *set = [NSIndexSet indexSetWithIndex:self.tableView.clickedRow];
-//    [self.tableView selectRowIndexes:set byExtendingSelection:NO];
-//    if (cellView.textField.editable) {
-//        if (cellView.textField.stringValue.length == 0) {
-//            [cellView.textField becomeFirstResponder];
-//        }else {
-//            [cellView.detailtextField becomeFirstResponder];
-//        }
-//    } else {
-//        [cellView.detailtextField becomeFirstResponder];
-//    }
+    KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.clickedRow makeIfNecessary:NO];
+    NSIndexSet *set = [NSIndexSet indexSetWithIndex:self.tableView.clickedRow];
+    [self.tableView selectRowIndexes:set byExtendingSelection:NO];
+    if (cellView.textField.editable) {
+        if (cellView.textField.stringValue.length == 0) {
+            [cellView.textField becomeFirstResponder];
+        }else {
+            [cellView.detailtextField becomeFirstResponder];
+        }
+    } else {
+        [cellView.detailtextField becomeFirstResponder];
+    }
 }
 
 - (IBAction)menuItemClicked_Add:(id)sender {
-//     KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.clickedRow makeIfNecessary:NO];
-//    if (self.callBack) {
-//        self.callBack(cellView.detailtextField.stringValue);
+     KMProfileCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.clickedRow makeIfNecessary:NO];
+    if (self.callBack) {
+        self.callBack(cellView.detailtextField.stringValue);
 //        [self dismissSheet:sender];
-//    }
+    }
 }
 
 - (IBAction)menuItemClicked_Delete:(id)sender {
@@ -873,36 +872,35 @@ static NSString  *NormalCellIdentifier = @"Normal";
 
 - (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
     
-//    NSTableCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.clickedRow makeIfNecessary:NO];
-//    if (menuItem.action == @selector(menuItemClicked_Edit:)) {
-//        if ([cellView isKindOfClass:[KMProfileTitleCellView class]]) {
-//            return NO;
-//        } else {
-//            KMProfileCellView *cellView1 = (KMProfileCellView *)cellView;
-//            if ([cellView1.textField.stringValue isEqualToString:NSLocalizedString(@"Date", nil)]) {
-//                return NO;
-//            }
-//            return YES;
-//        }
-//        
-//    } else if (menuItem.action == @selector(menuItemClicked_Add:)) {
-//        if ([cellView isKindOfClass:[KMProfileTitleCellView class]]) {
-//            return NO;
-//        } else {
-//            KMProfileCellView *cell = (KMProfileCellView *)cellView;
-//            return cell.detailtextField.stringValue.length > 0;
-//        }
-//    } else if (menuItem.action == @selector(menuItemClicked_Delete:)) {
-//        if ([cellView isKindOfClass:[KMProfileTitleCellView class]]) {
-//            return NO;
-//        } else {
-//            KMProfileCellView *cellView1 = (KMProfileCellView *)cellView;
-//            if ([cellView1.textField.stringValue isEqualToString:NSLocalizedString(@"Date", nil)]) {
-//                return NO;
-//            }
-//            return YES;
-//        }
-//    }
+    NSTableCellView *cellView = [self.tableView viewAtColumn:0 row:self.tableView.clickedRow makeIfNecessary:NO];
+    if (menuItem.action == @selector(menuItemClicked_Edit:)) {
+        if ([cellView isKindOfClass:[KMProfileTitleCellView class]]) {
+            return NO;
+        } else {
+            KMProfileCellView *cellView1 = (KMProfileCellView *)cellView;
+            if ([cellView1.textField.stringValue isEqualToString:NSLocalizedString(@"Date", nil)]) {
+                return NO;
+            }
+            return YES;
+        }
+    } else if (menuItem.action == @selector(menuItemClicked_Add:)) {
+        if ([cellView isKindOfClass:[KMProfileTitleCellView class]]) {
+            return NO;
+        } else {
+            KMProfileCellView *cell = (KMProfileCellView *)cellView;
+            return cell.detailtextField.stringValue.length > 0;
+        }
+    } else if (menuItem.action == @selector(menuItemClicked_Delete:)) {
+        if ([cellView isKindOfClass:[KMProfileTitleCellView class]]) {
+            return NO;
+        } else {
+            KMProfileCellView *cellView1 = (KMProfileCellView *)cellView;
+            if ([cellView1.textField.stringValue isEqualToString:NSLocalizedString(@"Date", nil)]) {
+                return NO;
+            }
+            return YES;
+        }
+    }
     return NO;
 }
 

+ 4 - 4
PDF Office/PDF Master/Class/PDFTools/SelfSign/Window/KMProfileInfoWindowController.xib

@@ -139,7 +139,7 @@ DQ
                         <rect key="frame" x="40" y="74" width="584" height="325"/>
                         <clipView key="contentView" id="Txz-Kp-TvA">
                             <rect key="frame" x="1" y="1" width="582" height="323"/>
-                            <autoresizingMask key="autoresizingMask"/>
+                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
                                 <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="ldR-2V-TXt">
                                     <rect key="frame" x="0.0" y="0.0" width="582" height="323"/>
@@ -159,8 +159,8 @@ DQ
                                             </textFieldCell>
                                             <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
                                             <prototypeCellViews>
-                                                <tableCellView identifier="Normal" misplaced="YES" id="VL0-rw-bVq" customClass="KMProfileCellView">
-                                                    <rect key="frame" x="10" y="0.0" width="518" height="17"/>
+                                                <tableCellView identifier="Normal" misplaced="YES" id="VL0-rw-bVq" customClass="KMProfileCellView" customModule="PDF_Master" customModuleProvider="target">
+                                                    <rect key="frame" x="0.0" y="0.0" width="518" height="17"/>
                                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                     <subviews>
                                                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZQO-rE-tFu">
@@ -205,7 +205,7 @@ DQ
                                                     </connections>
                                                 </tableCellView>
                                                 <tableCellView identifier="TitleCell" id="FUh-ze-Iiz" customClass="KMProfileTitleCellView">
-                                                    <rect key="frame" x="10" y="17" width="518" height="17"/>
+                                                    <rect key="frame" x="0.0" y="17" width="518" height="17"/>
                                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                     <subviews>
                                                         <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="o1d-Zx-TaD">