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

Reply via email to