Revision: 14688 http://sourceforge.net/p/skim-app/code/14688 Author: hofman Date: 2024-11-15 16:52:58 +0000 (Fri, 15 Nov 2024) Log Message: ----------- Always reset custom template types when getting them externally, never when getting them internally. Use different method to check for custom template type when we don't want to reset.
Modified Paths: -------------- trunk/SKMainDocument.m trunk/SKNotesDocument.m trunk/SKTemplateManager.h trunk/SKTemplateManager.m Modified: trunk/SKMainDocument.m =================================================================== --- trunk/SKMainDocument.m 2024-11-15 16:06:53 UTC (rev 14687) +++ trunk/SKMainDocument.m 2024-11-15 16:52:58 UTC (rev 14688) @@ -279,7 +279,6 @@ if ([ws type:type conformsToType:SKXDVDocumentType] == NO) [writableTypes removeObject:SKXDVDocumentType]; if (saveOperation == NSSaveToOperation) { - [[SKTemplateManager sharedManager] resetCustomTemplateTypes]; [writableTypes addObjectsFromArray:[[SKTemplateManager sharedManager] customTemplateTypes]]; } return writableTypes; @@ -1971,7 +1970,7 @@ } else if ([writableTypes containsObject:fileType] == NO) { normalizedType = [tm templateTypeForDisplayName:fileType]; } - if ([writableTypes containsObject:normalizedType] || [[tm customTemplateTypes] containsObject:fileType]) { + if ([writableTypes containsObject:normalizedType] || [tm fileNameExtensionForTemplateType:fileType]) { mdFlags.exportOption = option; NSMutableDictionary *arguments = [args mutableCopy]; if (normalizedType) { Modified: trunk/SKNotesDocument.m =================================================================== --- trunk/SKNotesDocument.m 2024-11-15 16:06:53 UTC (rev 14687) +++ trunk/SKNotesDocument.m 2024-11-15 16:52:58 UTC (rev 14688) @@ -211,7 +211,6 @@ NSArray *writableTypes = [super writableTypesForSaveOperation:saveOperation]; if (saveOperation == NSSaveToOperation) { NSMutableArray *tmpArray = [writableTypes mutableCopy]; - [[SKTemplateManager sharedManager] resetCustomTemplateTypes]; [tmpArray addObjectsFromArray:[[SKTemplateManager sharedManager] customTemplateTypes]]; writableTypes = tmpArray; } @@ -989,7 +988,7 @@ normalizedType = SKNotesFDFDocumentType; else if ([writableTypes containsObject:fileType] == NO) normalizedType = [tm templateTypeForDisplayName:fileType]; - if ([writableTypes containsObject:normalizedType] || [[tm customTemplateTypes] containsObject:fileType]) { + if ([writableTypes containsObject:normalizedType] || [tm fileNameExtensionForTemplateType:fileType]) { NSMutableDictionary *arguments = [args mutableCopy]; if (normalizedType) { fileType = normalizedType; Modified: trunk/SKTemplateManager.h =================================================================== --- trunk/SKTemplateManager.h 2024-11-15 16:06:53 UTC (rev 14687) +++ trunk/SKTemplateManager.h 2024-11-15 16:52:58 UTC (rev 14688) @@ -49,8 +49,6 @@ @property (nonatomic, readonly) NSArray<NSString *> *customTemplateTypes; -- (void)resetCustomTemplateTypes; - - (nullable NSURL *)URLForTemplateType:(NSString *)typeName; - (nullable NSString *)fileNameExtensionForTemplateType:(NSString *)typeName; Modified: trunk/SKTemplateManager.m =================================================================== --- trunk/SKTemplateManager.m 2024-11-15 16:06:53 UTC (rev 14687) +++ trunk/SKTemplateManager.m 2024-11-15 16:52:58 UTC (rev 14688) @@ -63,7 +63,7 @@ return self; } -- (NSArray *)customTemplateTypes { +- (NSArray *)_customTemplateTypes { if (customTemplateTypes == nil) { NSFileManager *fm = [NSFileManager defaultManager]; NSMutableArray *templates = [NSMutableArray array]; @@ -104,8 +104,9 @@ return customTemplateTypes; } -- (void)resetCustomTemplateTypes { +- (NSArray *)customTemplateTypes { customTemplateTypes = nil; + return [self _customTemplateTypes]; } - (NSURL *)URLForTemplateType:(NSString *)typeName { @@ -127,15 +128,15 @@ } - (NSString *)fileNameExtensionForTemplateType:(NSString *)typeName { - return [[self customTemplateTypes] containsObject:typeName] ? [[templateFileNames objectForKey:typeName] pathExtension] : nil; + return [[self _customTemplateTypes] containsObject:typeName] ? [[templateFileNames objectForKey:typeName] pathExtension] : nil; } - (NSString *)displayNameForTemplateType:(NSString *)typeName { - return [[self customTemplateTypes] containsObject:typeName] ? [[templateFileNames objectForKey:typeName] stringByDeletingPathExtension] : nil; + return [[self _customTemplateTypes] containsObject:typeName] ? [[templateFileNames objectForKey:typeName] stringByDeletingPathExtension] : nil; } - (NSString *)templateTypeForDisplayName:(NSString *)name { - for (NSString *typeName in [self customTemplateTypes]) { + for (NSString *typeName in [self _customTemplateTypes]) { NSString *fileName = [templateFileNames objectForKey:typeName]; if ([fileName isEqualToString:name] || [[fileName stringByDeletingPathExtension] isEqualToString:name]) return typeName; 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