Revision: 12390 http://sourceforge.net/p/skim-app/code/12390 Author: hofman Date: 2021-07-12 14:49:20 +0000 (Mon, 12 Jul 2021) Log Message: ----------- Complete NSEditor protocol
Modified Paths: -------------- trunk/NSError_SKExtensions.h trunk/NSError_SKExtensions.m trunk/SKMainWindowController_UI.m trunk/SKNoteWindowController.m trunk/de.lproj/Localizable.strings trunk/en.lproj/Localizable.strings trunk/es.lproj/Localizable.strings trunk/fr.lproj/Localizable.strings trunk/it.lproj/Localizable.strings trunk/ja.lproj/Localizable.strings trunk/nl.lproj/Localizable.strings trunk/pl.lproj/Localizable.strings trunk/ru.lproj/Localizable.strings trunk/zh_CN.lproj/Localizable.strings trunk/zh_TW.lproj/Localizable.strings Modified: trunk/NSError_SKExtensions.h =================================================================== --- trunk/NSError_SKExtensions.h 2021-07-10 23:26:39 UTC (rev 12389) +++ trunk/NSError_SKExtensions.h 2021-07-12 14:49:20 UTC (rev 12390) @@ -44,7 +44,8 @@ SKWriteFileError = 1, SKReadFileError = 2, SKReadPasteboardError = 3, - SKPrintDocumentError = 4 + SKPrintDocumentError = 4, + SKFailedToCommitError = 5 }; @interface NSError (SKExtensions) @@ -54,6 +55,7 @@ + (id)readPasteboardErrorWithLocalizedDescription:(NSString *)description; + (id)userCancelledErrorWithUnderlyingError:(NSError *)error; + (id)printDocumentErrorWithLocalizedDescription:(NSString *)description; ++ (id)failedToCommitErrorWithLocalizedDescription:(NSString *)description; + (NSError *)combineErrors:(NSArray *)errors maximum:(NSUInteger)max; Modified: trunk/NSError_SKExtensions.m =================================================================== --- trunk/NSError_SKExtensions.m 2021-07-10 23:26:39 UTC (rev 12389) +++ trunk/NSError_SKExtensions.m 2021-07-12 14:49:20 UTC (rev 12390) @@ -60,6 +60,10 @@ return [NSError errorWithDomain:SKDocumentErrorDomain code:SKPrintDocumentError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey, nil]]; } ++ (id)failedToCommitErrorWithLocalizedDescription:(NSString *)description { + return [NSError errorWithDomain:SKDocumentErrorDomain code:SKFailedToCommitError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey, nil]]; +} + + (id)userCancelledErrorWithUnderlyingError:(NSError *)error { return [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:error, NSUnderlyingErrorKey, nil]]; } Modified: trunk/SKMainWindowController_UI.m =================================================================== --- trunk/SKMainWindowController_UI.m 2021-07-10 23:26:39 UTC (rev 12389) +++ trunk/SKMainWindowController_UI.m 2021-07-12 14:49:20 UTC (rev 12390) @@ -1353,14 +1353,20 @@ } - (BOOL)commitEditing { + return [self commitEditingAndReturnError:NULL]; +} + +- (BOOL)commitEditingAndReturnError:(NSError **)error { BOOL rv = [pdfView commitEditing]; if ([rightSideController.noteOutlineView editedRow] != -1) rv = [[rightSideController.noteOutlineView window] makeFirstResponder:rightSideController.noteOutlineView] && rv; + if (rv == NO && error) + *error = [NSError failedToCommitErrorWithLocalizedDescription:NSLocalizedString(@"Failed to commit edits", @"Error description")]; return rv; } - (void)commitEditingWithDelegate:(id)delegate didCommitSelector:(SEL)didCommitSelector contextInfo:(void *)contextInfo { - BOOL didCommit = [self commitEditing]; + BOOL didCommit = [self commitEditingAndReturnError:NULL]; if (delegate && didCommitSelector) { // - (void)editor:(id)editor didCommit:(BOOL)didCommit contextInfo:(void *)contextInfo NSInvocation *invocation = [NSInvocation invocationWithTarget:delegate selector:didCommitSelector]; Modified: trunk/SKNoteWindowController.m =================================================================== --- trunk/SKNoteWindowController.m 2021-07-10 23:26:39 UTC (rev 12389) +++ trunk/SKNoteWindowController.m 2021-07-12 14:49:20 UTC (rev 12390) @@ -373,6 +373,10 @@ return [noteController commitEditing]; } +- (BOOL)commitEditingAndReturnError:(NSError **)error { + return [noteController commitEditingAndReturnError:error]; +} + - (void)commitEditingWithDelegate:(id)delegate didCommitSelector:(SEL)didCommitSelector contextInfo:(void *)contextInfo { return [noteController commitEditingWithDelegate:delegate didCommitSelector:didCommitSelector contextInfo:contextInfo]; } Modified: trunk/de.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/en.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/es.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/fr.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/it.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/ja.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/nl.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/pl.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/ru.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/zh_CN.lproj/Localizable.strings =================================================================== (Binary files differ) Modified: trunk/zh_TW.lproj/Localizable.strings =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit