Revision: 22417
          http://sourceforge.net/p/bibdesk/svn/22417
Author:   hofman
Date:     2018-07-14 09:42:26 +0000 (Sat, 14 Jul 2018)
Log Message:
-----------
enforce Local-Url and Url as special fields when using them instead of linked 
files

Modified Paths:
--------------
    trunk/bibdesk/BDSKAppController.m

Modified: trunk/bibdesk/BDSKAppController.m
===================================================================
--- trunk/bibdesk/BDSKAppController.m   2018-07-14 06:30:26 UTC (rev 22416)
+++ trunk/bibdesk/BDSKAppController.m   2018-07-14 09:42:26 UTC (rev 22417)
@@ -245,6 +245,41 @@
 
 }
 
+- (void)checkFieldTypes {
+    NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+    
+    // enforce Author and Editor as person fields
+    NSArray *fields = [sud stringArrayForKey:BDSKPersonFieldsKey];
+    NSInteger idx = 0;
+    if ([fields containsObject:BDSKAuthorString] == NO || [fields 
containsObject:BDSKEditorString] == NO) {
+        fields  = [fields mutableCopy];
+        if ([fields containsObject:BDSKAuthorString] == NO)
+            [(NSMutableArray *)fields insertObject:BDSKAuthorString 
atIndex:idx++];
+        if ([fields containsObject:BDSKEditorString] == NO)
+            [(NSMutableArray *)fields insertObject:BDSKEditorString 
atIndex:idx];
+        [sud setObject:fields forKey:BDSKPersonFieldsKey];
+        [fields release];
+        [[BDSKTypeManager sharedManager] updateCustomFields];
+    }
+    if ([[NSUserDefaults standardUserDefaults] 
boolForKey:BDSKUseLocalUrlAndUrlKey]) {
+        // enforce Local-Url as local file field and Url as remote URL field
+        fields = [sud stringArrayForKey:BDSKLocalFileFieldsKey];
+        if ([fields containsObject:BDSKLocalUrlString] == NO) {
+            fields  = [fields mutableCopy];
+            [(NSMutableArray *)fields insertObject:BDSKLocalUrlString 
atIndex:0];
+            [sud setObject:fields forKey:BDSKUseLocalUrlAndUrlKey];
+            [fields release];
+        }
+        fields = [sud stringArrayForKey:BDSKRemoteURLFieldsKey];
+        if ([fields containsObject:BDSKUrlString] == NO) {
+            fields  = [fields mutableCopy];
+            [(NSMutableArray *)fields insertObject:BDSKUrlString atIndex:0];
+            [sud setObject:fields forKey:BDSKRemoteURLFieldsKey];
+            [fields release];
+        }
+    }
+}
+
 #pragma mark Application delegate
 
 - (void)applicationWillFinishLaunching:(NSNotification *)aNotification{
@@ -279,19 +314,7 @@
         [sud removeObjectForKey:@"Default Bib File"];
     }
     
-    // enforce Author and Editor as person fields
-    NSArray *personFields = [sud stringArrayForKey:BDSKPersonFieldsKey];
-    NSInteger idx = 0;
-    if ([personFields containsObject:BDSKAuthorString] == NO || [personFields 
containsObject:BDSKEditorString] == NO) {
-        personFields  = [personFields mutableCopy];
-        if ([personFields containsObject:BDSKAuthorString] == NO)
-            [(NSMutableArray *)personFields insertObject:BDSKAuthorString 
atIndex:idx++];
-        if ([personFields containsObject:BDSKEditorString] == NO)
-            [(NSMutableArray *)personFields insertObject:BDSKEditorString 
atIndex:idx];
-        [sud setObject:personFields forKey:BDSKPersonFieldsKey];
-        [personFields release];
-        [[BDSKTypeManager sharedManager] updateCustomFields];
-    }
+    [self checkFieldTypes];
     
     // name image to make it available app wide, also in IB
     [NSImage cautionImage];

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to