Revision: 29396
          http://sourceforge.net/p/bibdesk/svn/29396
Author:   hofman
Date:     2025-07-29 14:54:00 +0000 (Tue, 29 Jul 2025)
Log Message:
-----------
KVO observe NSUserDefaults directly rather than through controller

Modified Paths:
--------------
    trunk/bibdesk/BDSKEditorTextView.m
    trunk/bibdesk/BDSKMacroResolver.m
    trunk/bibdesk/BDSKOutlineView.m
    trunk/bibdesk/BDSKPersistentSearch.m
    trunk/bibdesk/BDSKPreferencePane.m
    trunk/bibdesk/BDSKPublicationsArray.m
    trunk/bibdesk/BDSKScriptMenu.m
    trunk/bibdesk/BDSKSharingBrowser.m
    trunk/bibdesk/BDSKSharingServer.m
    trunk/bibdesk/BDSKTableView.m
    trunk/bibdesk/BibDocument_UI.m

Modified: trunk/bibdesk/BDSKEditorTextView.m
===================================================================
--- trunk/bibdesk/BDSKEditorTextView.m  2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKEditorTextView.m  2025-07-29 14:54:00 UTC (rev 29396)
@@ -82,8 +82,8 @@
     if (usesDefaultFont)
         BDSKENSURE_MAIN_THREAD(
             @try {
-                [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKEditorFontSizeKey] 
context:&BDSKEditorTextViewDefaultsObservationContext];
-                [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKEditorFontNameKey] 
context:&BDSKEditorTextViewDefaultsObservationContext];
+                [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:BDSKEditorFontSizeKey 
context:&BDSKEditorTextViewDefaultsObservationContext];
+                [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:BDSKEditorFontNameKey 
context:&BDSKEditorTextViewDefaultsObservationContext];
             }
             @catch (id e) {}
         );
@@ -94,18 +94,18 @@
         usesDefaultFont = flag;
         if (usesDefaultFont) {
             [self updateFontFromPreferences];
-            [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self
-                forKeyPath:[@"values." 
stringByAppendingString:BDSKEditorFontSizeKey]
+            [[NSUserDefaults standardUserDefaults] addObserver:self
+                forKeyPath:BDSKEditorFontSizeKey
                    options:0
                    context:&BDSKEditorTextViewDefaultsObservationContext];
-            [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self
-                forKeyPath:[@"values." 
stringByAppendingString:BDSKEditorFontNameKey]
+            [[NSUserDefaults standardUserDefaults] addObserver:self
+                forKeyPath:BDSKEditorFontNameKey
                    options:0
                    context:&BDSKEditorTextViewDefaultsObservationContext];
         } else {
             @try {
-                [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKEditorFontSizeKey] 
context:&BDSKEditorTextViewDefaultsObservationContext];
-                [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKEditorFontNameKey] 
context:&BDSKEditorTextViewDefaultsObservationContext];
+                [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:BDSKEditorFontSizeKey 
context:&BDSKEditorTextViewDefaultsObservationContext];
+                [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:BDSKEditorFontNameKey 
context:&BDSKEditorTextViewDefaultsObservationContext];
             }
             @catch (id e) {}
         }

Modified: trunk/bibdesk/BDSKMacroResolver.m
===================================================================
--- trunk/bibdesk/BDSKMacroResolver.m   2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKMacroResolver.m   2025-07-29 14:54:00 UTC (rev 29396)
@@ -314,8 +314,8 @@
         fileMacroDefinitions = nil; 
                
         
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self
-            forKeyPath:[@"values." 
stringByAppendingString:BDSKGlobalMacroFilesKey]
+        [[NSUserDefaults standardUserDefaults] addObserver:self
+            forKeyPath:BDSKGlobalMacroFilesKey
                options:0
                context:&BDSKMacroResolverDefaultsObservationContext];
     }
@@ -323,7 +323,7 @@
 }
 
 - (void)dealloc {
-    [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKGlobalMacroFilesKey] 
context:&BDSKMacroResolverDefaultsObservationContext];
+    [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:BDSKGlobalMacroFilesKey 
context:&BDSKMacroResolverDefaultsObservationContext];
 }
 
 - (void)loadMacroDefinitions{

Modified: trunk/bibdesk/BDSKOutlineView.m
===================================================================
--- trunk/bibdesk/BDSKOutlineView.m     2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKOutlineView.m     2025-07-29 14:54:00 UTC (rev 29396)
@@ -116,8 +116,8 @@
 
 - (void)addObserverForFontPreferences {
     if (fontNamePreferenceKey && fontSizePreferenceKey) {
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontSizePreferenceKey] options:0 
context:&BDSKOutlineViewFontDefaultsObservationContext];
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontNamePreferenceKey] options:0 
context:&BDSKOutlineViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:fontSizePreferenceKey options:0 
context:&BDSKOutlineViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:fontNamePreferenceKey options:0 
context:&BDSKOutlineViewFontDefaultsObservationContext];
         [[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(updateFontPanel:) name:NSWindowDidBecomeKeyNotification 
object:[self window]];
     }
 }
@@ -124,8 +124,8 @@
 
 - (void)removeObserverForFontPreferences {
     if (fontNamePreferenceKey && fontSizePreferenceKey) {
-        [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontSizePreferenceKey] 
context:&BDSKOutlineViewFontDefaultsObservationContext];
-        [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontNamePreferenceKey] 
context:&BDSKOutlineViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:fontSizePreferenceKey 
context:&BDSKOutlineViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:fontNamePreferenceKey 
context:&BDSKOutlineViewFontDefaultsObservationContext];
         [[NSNotificationCenter defaultCenter] removeObserver:self 
name:NSWindowDidBecomeKeyNotification object:[self window]];
     }
 }

Modified: trunk/bibdesk/BDSKPersistentSearch.m
===================================================================
--- trunk/bibdesk/BDSKPersistentSearch.m        2025-07-29 14:26:29 UTC (rev 
29395)
+++ trunk/bibdesk/BDSKPersistentSearch.m        2025-07-29 14:54:00 UTC (rev 
29396)
@@ -61,9 +61,9 @@
 {    
     if(self = [super init]) {
         queries = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0, 
&kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
-        [[NSUserDefaultsController sharedUserDefaultsController]
+        [[NSUserDefaults standardUserDefaults]
             addObserver:self
-             forKeyPath:[@"values." 
stringByAppendingString:BDSKDownloadsDirectoryKey]
+             forKeyPath:BDSKDownloadsDirectoryKey
                 options:0
                 context:&BDSKPersistentSearchDefaultsObservationContext];
     }
@@ -73,9 +73,9 @@
 - (void)dealloc
 {
     @try {
-        [[NSUserDefaultsController sharedUserDefaultsController]
+        [[NSUserDefaults standardUserDefaults]
             removeObserver:self
-                forKeyPath:[@"values." 
stringByAppendingString:BDSKDownloadsDirectoryKey]
+                forKeyPath:BDSKDownloadsDirectoryKey
                    context:&BDSKPersistentSearchDefaultsObservationContext];
     }
     @catch (id e) {}

Modified: trunk/bibdesk/BDSKPreferencePane.m
===================================================================
--- trunk/bibdesk/BDSKPreferencePane.m  2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKPreferencePane.m  2025-07-29 14:54:00 UTC (rev 29396)
@@ -61,12 +61,10 @@
 
 - (void)dealloc {
     if (observedKeys) {
-        NSUserDefaultsController *sudc = [NSUserDefaultsController 
sharedUserDefaultsController];
-        @try {
-            for (NSString *key in observedKeys)
-                [sudc removeObserver:self forKeyPath:[@"values" 
stringByAppendingString:key] 
context:&BDSKPreferencePaneDefaultsObservationContext];
+        for (NSString *key in observedKeys) {
+            @try { [sud removeObserver:self forKeyPath:key 
context:&BDSKPreferencePaneDefaultsObservationContext]; }
+            @catch(id e) {}
         }
-        @catch(id e) {}
         observedKeys = nil;
     }
 }
@@ -145,7 +143,7 @@
 - (void)addObserverForUserDefaultsKey:(NSString *)key dependentKey:(NSString 
*)dependentKey{
     if ([observedKeys containsObject:key])
         return;
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKeyPath:[@"values." stringByAppendingString:key] options:dependentKey ? 
NSKeyValueObservingOptionPrior : 0 
context:&BDSKPreferencePaneDefaultsObservationContext];
+    [sud addObserver:self forKeyPath:key options:dependentKey ? 
NSKeyValueObservingOptionPrior : 0 
context:&BDSKPreferencePaneDefaultsObservationContext];
     if (observedKeys == nil)
         observedKeys = [[NSMutableArray alloc] init];
     [observedKeys addObject:key];
@@ -164,8 +162,7 @@
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
     if (context == &BDSKPreferencePaneDefaultsObservationContext) {
-        NSString *key = [keyPath substringFromIndex:7];
-        NSString *dependentKey = [dependentKeys objectForKey:key];
+        NSString *dependentKey = [dependentKeys objectForKey:keyPath];
         BOOL isPrior = [[change 
objectForKey:NSKeyValueChangeNotificationIsPriorKey] boolValue];
         if (dependentKey) {
             if (isPrior)
@@ -174,7 +171,7 @@
                 [self didChangeValueForKey:dependentKey];
         }
         if (isPrior == NO)
-            [self observeValueForUserDefaultsKey:key];
+            [self observeValueForUserDefaultsKey:keyPath];
     } else {
         [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
     }

Modified: trunk/bibdesk/BDSKPublicationsArray.m
===================================================================
--- trunk/bibdesk/BDSKPublicationsArray.m       2025-07-29 14:26:29 UTC (rev 
29395)
+++ trunk/bibdesk/BDSKPublicationsArray.m       2025-07-29 14:54:00 UTC (rev 
29396)
@@ -101,9 +101,9 @@
             [self addItems:publications];
             [self updateFileOrderFromIndex:0];
         }
-        [[NSUserDefaultsController sharedUserDefaultsController]
+        [[NSUserDefaults standardUserDefaults]
             addObserver:self
-             forKeyPath:[@"values." 
stringByAppendingString:BDSKQuickSearchFieldsKey]
+             forKeyPath:BDSKQuickSearchFieldsKey
                 options:0
                 context:&BDSKPublicationArrayDefaultsObservationContext];
     }
@@ -130,9 +130,9 @@
 - (void)dealloc{
     if (searchIndexes) {
         @try {
-            [[NSUserDefaultsController sharedUserDefaultsController]
+            [[NSUserDefaults standardUserDefaults]
                 removeObserver:self
-                    forKeyPath:[@"values." 
stringByAppendingString:BDSKQuickSearchFieldsKey]
+                    forKeyPath:BDSKQuickSearchFieldsKey
                        
context:&BDSKPublicationArrayDefaultsObservationContext];
         }
         @catch (id e) {}

Modified: trunk/bibdesk/BDSKScriptMenu.m
===================================================================
--- trunk/bibdesk/BDSKScriptMenu.m      2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKScriptMenu.m      2025-07-29 14:54:00 UTC (rev 29396)
@@ -156,7 +156,7 @@
             
             [scriptMenu setDelegate:self];
             
-            [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:@"values.NSUserKeyEquivalents" options:0 
context:&BDSKScriptMenuDefaultsObservationContext];
+            [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:@"NSUserKeyEquivalents" options:0 
context:&BDSKScriptMenuDefaultsObservationContext];
         }
     }
     return self;

Modified: trunk/bibdesk/BDSKSharingBrowser.m
===================================================================
--- trunk/bibdesk/BDSKSharingBrowser.m  2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKSharingBrowser.m  2025-07-29 14:54:00 UTC (rev 29396)
@@ -76,7 +76,7 @@
         browser = nil;
         unresolvedNetServices = nil;
         undecidedNetServices = nil;
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKShouldLookForSharedFilesKey] options:0 
context:&BDSKSharingBrowserDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:BDSKShouldLookForSharedFilesKey options:0 
context:&BDSKSharingBrowserDefaultsObservationContext];
     }
     return self;
 }

Modified: trunk/bibdesk/BDSKSharingServer.m
===================================================================
--- trunk/bibdesk/BDSKSharingServer.m   2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKSharingServer.m   2025-07-29 14:54:00 UTC (rev 29396)
@@ -234,7 +234,7 @@
 - (instancetype)init {
     self = [super init];
     if (self) {
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKShouldShareFilesKey] options:0 
context:&BDSKSharingServerDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:BDSKShouldShareFilesKey options:0 
context:&BDSKSharingServerDefaultsObservationContext];
     }
     return self;
 }
@@ -393,9 +393,9 @@
         [nc removeObserver:self name:BDSKDocumentDidRemoveItemNotification 
object:nil];
         [nc removeObserver:self name:NSApplicationWillTerminateNotification 
object:nil];
         
-        NSUserDefaultsController *sudc = [NSUserDefaultsController 
sharedUserDefaultsController];
-        [sudc removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKSharingNameKey] 
context:&BDSKSharingServerDefaultsObservationContext];
-        [sudc removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKSharingRequiresPasswordKey] 
context:&BDSKSharingServerDefaultsObservationContext];
+        NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+        [sud removeObserver:self forKeyPath:BDSKSharingNameKey 
context:&BDSKSharingServerDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKSharingRequiresPasswordKey 
context:&BDSKSharingServerDefaultsObservationContext];
         
         [self setStatus:BDSKSharingStatusOff];
     }
@@ -465,10 +465,10 @@
                        name:NSApplicationWillTerminateNotification
                      object:nil];
             
-            NSUserDefaultsController *sudc = [NSUserDefaultsController 
sharedUserDefaultsController];
-            [sudc addObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKSharingNameKey] options:0 
context:&BDSKSharingServerDefaultsObservationContext];
+            NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+            [sud addObserver:self forKeyPath:BDSKSharingNameKey options:0 
context:&BDSKSharingServerDefaultsObservationContext];
             
-            [sudc addObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKSharingRequiresPasswordKey] options:0 
context:&BDSKSharingServerDefaultsObservationContext];
+            [sud addObserver:self forKeyPath:BDSKSharingRequiresPasswordKey 
options:0 context:&BDSKSharingServerDefaultsObservationContext];
             
         } else {
             [self disableSharing];

Modified: trunk/bibdesk/BDSKTableView.m
===================================================================
--- trunk/bibdesk/BDSKTableView.m       2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BDSKTableView.m       2025-07-29 14:54:00 UTC (rev 29396)
@@ -91,8 +91,8 @@
 
 - (void)addObserverForFontPreferences {
     if (fontNamePreferenceKey && fontSizePreferenceKey) {
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontSizePreferenceKey] options:0 
context:&BDSKTableViewFontDefaultsObservationContext];
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontNamePreferenceKey] options:0 
context:&BDSKTableViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:fontSizePreferenceKey options:0 
context:&BDSKTableViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] addObserver:self 
forKeyPath:fontNamePreferenceKey options:0 
context:&BDSKTableViewFontDefaultsObservationContext];
         [[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(updateFontPanel:) name:NSWindowDidBecomeKeyNotification 
object:[self window]];
     }
 }
@@ -99,8 +99,8 @@
 
 - (void)removeObserverForFontPreferences {
     if (fontNamePreferenceKey && fontSizePreferenceKey) {
-        [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontSizePreferenceKey] 
context:&BDSKTableViewFontDefaultsObservationContext];
-        [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:fontNamePreferenceKey] 
context:&BDSKTableViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:fontSizePreferenceKey 
context:&BDSKTableViewFontDefaultsObservationContext];
+        [[NSUserDefaults standardUserDefaults] removeObserver:self 
forKeyPath:fontNamePreferenceKey 
context:&BDSKTableViewFontDefaultsObservationContext];
         [[NSNotificationCenter defaultCenter] removeObserver:self 
name:NSWindowDidBecomeKeyNotification object:[self window]];
     }
 }

Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m      2025-07-29 14:26:29 UTC (rev 29395)
+++ trunk/bibdesk/BibDocument_UI.m      2025-07-29 14:54:00 UTC (rev 29396)
@@ -1719,38 +1719,38 @@
 #pragma mark KVO
 
 - (void)startObserving {
-    NSUserDefaultsController *sud = [NSUserDefaultsController 
sharedUserDefaultsController];
+    NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
     
     [sud addObserver:self
-          forKeyPath:[@"values." 
stringByAppendingString:BDSKIgnoredSortTermsKey]
+          forKeyPath:BDSKIgnoredSortTermsKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." 
stringByAppendingString:BDSKAuthorNameDisplayKey]
+          forKeyPath:BDSKAuthorNameDisplayKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." stringByAppendingString:BDSKBibTeXStyleKey]
+          forKeyPath:BDSKBibTeXStyleKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." stringByAppendingString:BDSKUsesTeXKey]
+          forKeyPath:BDSKUsesTeXKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." stringByAppendingString:BDSKHideGroupCountKey]
+          forKeyPath:BDSKHideGroupCountKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." 
stringByAppendingString:BDSKHideGroupHighlightsKey]
+          forKeyPath:BDSKHideGroupHighlightsKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." 
stringByAppendingString:BDSKQuickSearchFieldsKey]
+          forKeyPath:BDSKQuickSearchFieldsKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     [sud addObserver:self
-          forKeyPath:[@"values." 
stringByAppendingString:BDSKUseLocalUrlAndUrlKey]
+          forKeyPath:BDSKUseLocalUrlAndUrlKey
              options:0
              context:&BDSKDocumentDefaultsObservationContext];
     
@@ -1778,15 +1778,15 @@
     }
     @catch(id e) {}
     @try {
-        NSUserDefaultsController *sud = [NSUserDefaultsController 
sharedUserDefaultsController];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKIgnoredSortTermsKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKAuthorNameDisplayKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKBibTeXStyleKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKUsesTeXKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKHideGroupCountKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKHideGroupHighlightsKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKQuickSearchFieldsKey] 
context:&BDSKDocumentDefaultsObservationContext];
-        [sud removeObserver:self forKeyPath:[@"values." 
stringByAppendingString:BDSKUseLocalUrlAndUrlKey] 
context:&BDSKDocumentDefaultsObservationContext];
+        NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
+        [sud removeObserver:self forKeyPath:BDSKIgnoredSortTermsKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKAuthorNameDisplayKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKBibTeXStyleKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKUsesTeXKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKHideGroupCountKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKHideGroupHighlightsKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKQuickSearchFieldsKey 
context:&BDSKDocumentDefaultsObservationContext];
+        [sud removeObserver:self forKeyPath:BDSKUseLocalUrlAndUrlKey 
context:&BDSKDocumentDefaultsObservationContext];
     }
     @catch(id e) {}
 }
@@ -1808,10 +1808,9 @@
         for (BDSKGroup *group in [groups allChildren])
             [self updateCountBubbleForGroup:group inView:nil];
     } else if (context == &BDSKDocumentDefaultsObservationContext) {
-        NSString *key = [keyPath substringFromIndex:7];
-        if ([key isEqualToString:BDSKIgnoredSortTermsKey]) {
+        if ([keyPath isEqualToString:BDSKIgnoredSortTermsKey]) {
             [self sortPubsByKey:nil];
-        } else if ([key isEqualToString:BDSKAuthorNameDisplayKey]) {
+        } else if ([keyPath isEqualToString:BDSKAuthorNameDisplayKey]) {
             static NSSet *authorColumns = nil;
             if (authorColumns == nil)
                 authorColumns = [[NSSet alloc] 
initWithObjects:BDSKFirstAuthorString, BDSKSecondAuthorString, 
BDSKThirdAuthorString, BDSKLastAuthorString, BDSKAuthorEditorString, 
BDSKFirstAuthorEditorString, BDSKSecondAuthorEditorString, 
BDSKThirdAuthorEditorString, BDSKLastAuthorEditorString, nil];
@@ -1830,21 +1829,21 @@
                         [[[self viewForGroup:catGroup] nameField] 
setNeedsDisplay:YES];
                 }
             }
-        } else if ([key isEqualToString:BDSKBibTeXStyleKey]) {
+        } else if ([keyPath isEqualToString:BDSKBibTeXStyleKey]) {
             if ([previewer isVisible])
                 [self updatePreviews];
             else if ([self isPreviewSource])
                 [self updatePreviewer:[BDSKPreviewer sharedPreviewer]];
-        } else if ([key isEqualToString:BDSKUsesTeXKey]) {
+        } else if ([keyPath isEqualToString:BDSKUsesTeXKey]) {
             [bottomPreviewButton setEnabled:[[NSUserDefaults 
standardUserDefaults] boolForKey:BDSKUsesTeXKey] 
forSegment:BDSKPreviewDisplayTeX];
-        } else if ([key isEqualToString:BDSKHideGroupCountKey]) {
+        } else if ([keyPath isEqualToString:BDSKHideGroupCountKey]) {
             for (BDSKGroup *group in [groups allChildren])
                 [self updateCountBubbleForGroup:group inView:nil];
-        } else if ([key isEqualToString:BDSKHideGroupHighlightsKey]) {
+        } else if ([keyPath isEqualToString:BDSKHideGroupHighlightsKey]) {
             [self updateGroupHighlights];
-        } else if ([key isEqualToString:BDSKQuickSearchFieldsKey]) {
+        } else if ([keyPath isEqualToString:BDSKQuickSearchFieldsKey]) {
             [self searchFieldsChanged];
-        } else if ([key isEqualToString:BDSKUseLocalUrlAndUrlKey]) {
+        } else if ([keyPath isEqualToString:BDSKUseLocalUrlAndUrlKey]) {
             [self addOrRemoveNotesSearchIndex];
         }
     } else {

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



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to