Revision: 3851
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3851&view=rev
Author:   hofman
Date:     2008-05-05 12:50:12 -0700 (Mon, 05 May 2008)

Log Message:
-----------
Use context for user defaults controller observation.

Modified Paths:
--------------
    trunk/NSUserDefaultsController_SKExtensions.h
    trunk/NSUserDefaultsController_SKExtensions.m
    trunk/PDFAnnotation_SKExtensions.m
    trunk/SKBookmarkController.m
    trunk/SKMainWindowController.m
    trunk/SKNoteWindowController.m
    trunk/SKPDFDocument.m
    trunk/SKPDFView.m
    trunk/SKSnapshotWindowController.m

Modified: trunk/NSUserDefaultsController_SKExtensions.h
===================================================================
--- trunk/NSUserDefaultsController_SKExtensions.h       2008-05-05 19:29:32 UTC 
(rev 3850)
+++ trunk/NSUserDefaultsController_SKExtensions.h       2008-05-05 19:50:12 UTC 
(rev 3851)
@@ -41,9 +41,9 @@
 
 @interface NSUserDefaultsController (SKExtensions)
 
-- (void)addObserver:(NSObject *)anObserver forKey:(NSString *)key;
+- (void)addObserver:(NSObject *)anObserver forKey:(NSString *)key 
context:(void *)context;
 - (void)removeObserver:(NSObject *)anObserver forKey:(NSString *)key;
-- (void)addObserver:(NSObject *)anObserver forKeys:(NSArray *)keys;
+- (void)addObserver:(NSObject *)anObserver forKeys:(NSArray *)keys 
context:(void *)context;
 - (void)removeObserver:(NSObject *)anObserver forKeys:(NSArray *)keys;
 - (void)revertToInitialValueForKey:(NSString *)key;
 - (void)revertToInitialValuesForKeys:(NSArray *)keys;

Modified: trunk/NSUserDefaultsController_SKExtensions.m
===================================================================
--- trunk/NSUserDefaultsController_SKExtensions.m       2008-05-05 19:29:32 UTC 
(rev 3850)
+++ trunk/NSUserDefaultsController_SKExtensions.m       2008-05-05 19:50:12 UTC 
(rev 3851)
@@ -41,19 +41,19 @@
 
 @implementation NSUserDefaultsController (SKExtensions)
 
-- (void)addObserver:(NSObject *)anObserver forKey:(NSString *)key {
-    [self addObserver:anObserver forKeyPath:[NSString 
stringWithFormat:@"values.%@", key] options:0 context:NULL];
+- (void)addObserver:(NSObject *)anObserver forKey:(NSString *)key 
context:(void *)context {
+    [self addObserver:anObserver forKeyPath:[NSString 
stringWithFormat:@"values.%@", key] options:0 context:context];
 }
 
 - (void)removeObserver:(NSObject *)anObserver forKey:(NSString *)key {
     [self removeObserver:anObserver forKeyPath:[NSString 
stringWithFormat:@"values.%@", key]];
 }
 
-- (void)addObserver:(NSObject *)anObserver forKeys:(NSArray *)keys {
+- (void)addObserver:(NSObject *)anObserver forKeys:(NSArray *)keys 
context:(void *)context {
     int i, iMax = [keys count];
     for (i = 0; i < iMax; i++) {
         NSString *keyPath = [NSString stringWithFormat:@"values.%@", [keys 
objectAtIndex:i]];
-        [self addObserver:anObserver forKeyPath:keyPath options:0 
context:NULL];
+        [self addObserver:anObserver forKeyPath:keyPath options:0 
context:context];
     }
 }
 

Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m  2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/PDFAnnotation_SKExtensions.m  2008-05-05 19:50:12 UTC (rev 3851)
@@ -49,7 +49,6 @@
 #import "PDFPage_SKExtensions.h"
 #import "PDFSelection_SKExtensions.h"
 #import "SKPDFView.h"
-#import "NSUserDefaultsController_SKExtensions.h"
 #import "NSGeometry_SKExtensions.h"
 #import "NSString_SKExtensions.h"
 #import "OBUtilities.h"

Modified: trunk/SKBookmarkController.m
===================================================================
--- trunk/SKBookmarkController.m        2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/SKBookmarkController.m        2008-05-05 19:50:12 UTC (rev 3851)
@@ -71,6 +71,8 @@
 static NSString *SKRecentDocumentAliasDataKey = @"_BDAlias";
 static NSString *SKRecentDocumentSnapshotsKey = @"snapshots";
 
+static NSString *SKBookmarkDefaultsObservationContext = 
@"SKBookmarkDefaultsObservationContext";
+
 @implementation SKBookmarkController
 
 static unsigned int maxRecentDocumentsCount = 0;
@@ -776,11 +778,11 @@
     NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
     if (fontSize)
         [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKTableFontSizeKey];
+    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKTableFontSizeKey context:SKBookmarkDefaultsObservationContext];
 }
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (object == [NSUserDefaultsController sharedUserDefaultsController]) {
+    if (context == SKBookmarkDefaultsObservationContext) {
         if (NO == [keyPath hasPrefix:@"values."])
             return;
         NSString *key = [keyPath substringFromIndex:7];

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/SKMainWindowController.m      2008-05-05 19:50:12 UTC (rev 3851)
@@ -129,6 +129,7 @@
 static NSString *SKMainWindowFrameAutosaveName = @"SKMainWindow";
 
 static NSString *SKPDFAnnotationPropertiesObservationContext = 
@"SKPDFAnnotationPropertiesObservationContext";
+static NSString *SKMainWindowDefaultsObservationContext = 
@"SKMainWindowDefaultsObservationContext";
 
 NSString *SKLeftSidePaneWidthKey = @"SKLeftSidePaneWidth";
 NSString *SKRightSidePaneWidthKey = @"SKRightSidePaneWidth";
@@ -3237,7 +3238,8 @@
                                   SKSearchHighlightColorKey, 
SKShouldHighlightSearchResultsKey, 
                                   SKThumbnailSizeKey, 
SKSnapshotThumbnailSizeKey, 
                                   SKShouldAntiAliasKey, 
SKGreekingThresholdKey, 
-                                  SKTableFontSizeKey, nil]];
+                                  SKTableFontSizeKey, nil]
+        context:SKMainWindowDefaultsObservationContext];
 }
 
 - (void)unregisterAsObserver {
@@ -3300,7 +3302,7 @@
 #pragma mark KVO
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (object == [NSUserDefaultsController sharedUserDefaultsController] && 
[keyPath hasPrefix:@"values."]) {
+    if (context == SKMainWindowDefaultsObservationContext) {
         
         // A default value that we are observing has changed
         NSString *key = [keyPath substringFromIndex:7];

Modified: trunk/SKNoteWindowController.m
===================================================================
--- trunk/SKNoteWindowController.m      2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/SKNoteWindowController.m      2008-05-05 19:50:12 UTC (rev 3851)
@@ -53,8 +53,8 @@
 
 static NSString *SKNoteWindowPageObservationContext = 
@"SKNoteWindowPageObservationContext";
 static NSString *SKNoteWindowBoundsObservationContext = 
@"SKNoteWindowBoundsObservationContext";
+static NSString *SKNoteWindowDefaultsObservationContext = 
@"SKNoteWindowDefaultsObservationContext";
 
-
 @implementation SKNoteWindowController
 
 - (id)init {
@@ -71,7 +71,7 @@
         
         [note addObserver:self forKeyPath:SKPDFAnnotationPageKey options:0 
context:SKNoteWindowPageObservationContext];
         [note addObserver:self forKeyPath:SKPDFAnnotationBoundsKey options:0 
context:SKNoteWindowBoundsObservationContext];
-        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeys:[NSArray arrayWithObjects:SKAnchoredNoteFontNameKey, 
SKAnchoredNoteFontSizeKey, nil]];
+        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKeys:[NSArray arrayWithObjects:SKAnchoredNoteFontNameKey, 
SKAnchoredNoteFontSizeKey, nil] context:SKNoteWindowDefaultsObservationContext];
     }
     return self;
 }
@@ -79,7 +79,7 @@
 - (void)dealloc {
     [note removeObserver:self forKeyPath:SKPDFAnnotationPageKey];
     [note removeObserver:self forKeyPath:SKPDFAnnotationBoundsKey];
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKeys:[NSArray arrayWithObjects:SKAnchoredNoteFontNameKey, 
SKAnchoredNoteFontSizeKey, nil]];
+    [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKeys:[NSArray 
arrayWithObjects:SKAnchoredNoteFontNameKey, SKAnchoredNoteFontSizeKey, nil]];
     [[NSNotificationCenter defaultCenter] removeObserver:self];
     CFRelease(editors);
     [textViewUndoManager release];
@@ -257,7 +257,7 @@
 }
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (object == [NSUserDefaultsController sharedUserDefaultsController]) {
+    if (context == SKNoteWindowDefaultsObservationContext) {
         if (NO == [keyPath hasPrefix:@"values."])
             return;
         NSString *key = [keyPath substringFromIndex:7];

Modified: trunk/SKPDFDocument.m
===================================================================
--- trunk/SKPDFDocument.m       2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/SKPDFDocument.m       2008-05-05 19:50:12 UTC (rev 3851)
@@ -83,6 +83,8 @@
 static NSString *SKAutoRotatePrintedPagesKey = @"SKAutoRotatePrintedPages";
 static NSString *SKDisableReloadAlertKey = @"SKDisableReloadAlert";
 
+static NSString *SKPDFDocumentDefaultsObservationContext = 
@"SKPDFDocumentDefaultsObservationContext";
+
 @interface NSFileManager (SKPDFDocumentExtensions)
 - (NSString *)subfileWithExtension:(NSString *)extensions 
inPDFBundleAtPath:(NSString *)path;
 @end
@@ -164,7 +166,7 @@
     [mainController setAnnotationsFromDictionaries:noteDicts undoable:NO];
     [self setNoteDicts:nil];
     
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKAutoCheckFileUpdateKey];
+    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKAutoCheckFileUpdateKey 
context:SKPDFDocumentDefaultsObservationContext];
        [[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(handleWindowWillCloseNotification:) 
                                                  
name:NSWindowWillCloseNotification object:[mainController window]];
 }
@@ -1280,7 +1282,7 @@
 #pragma mark Notification observation
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (object == [NSUserDefaultsController sharedUserDefaultsController]) {
+    if (context == SKPDFDocumentDefaultsObservationContext) {
         if (NO == [keyPath hasPrefix:@"values."])
             return;
         NSString *key = [keyPath substringFromIndex:7];

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/SKPDFView.m   2008-05-05 19:50:12 UTC (rev 3851)
@@ -105,6 +105,8 @@
 static NSString *SKDefaultFreeTextNoteContentsKey = 
@"SKDefaultFreeTextNoteContents";
 static NSString *SKDefaultAnchoredNoteContentsKey = 
@"SKDefaultAnchoredNoteContents";
 
+static NSString *SKPDFViewDefaultsObservationContext = 
@"SKPDFViewDefaultsObservationContext";
+
 static unsigned int moveReadingBarModifiers = NSAlternateKeyMask;
 static unsigned int resizeReadingBarModifiers = NSAlternateKeyMask | 
NSShiftKeyMask;
 
@@ -247,7 +249,8 @@
     [[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(handleScaleChangedNotification:) 
                                                  
name:PDFViewScaleChangedNotification object:self];
     [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKeys:
-        [NSArray arrayWithObjects:SKReadingBarColorKey, SKReadingBarInvertKey, 
nil]];
+        [NSArray arrayWithObjects:SKReadingBarColorKey, SKReadingBarInvertKey, 
nil]
+        context:SKPDFViewDefaultsObservationContext];
 }
 
 - (id)initWithFrame:(NSRect)frameRect {
@@ -2309,7 +2312,7 @@
 #pragma mark KVO
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (object == [NSUserDefaultsController sharedUserDefaultsController] && 
[keyPath hasPrefix:@"values."]) {
+    if (context == SKPDFViewDefaultsObservationContext) {
         NSString *key = [keyPath substringFromIndex:7];
         if ([key isEqualToString:SKReadingBarColorKey] || [key 
isEqualToString:SKReadingBarInvertKey]) {
             if (readingBar) {

Modified: trunk/SKSnapshotWindowController.m
===================================================================
--- trunk/SKSnapshotWindowController.m  2008-05-05 19:29:32 UTC (rev 3850)
+++ trunk/SKSnapshotWindowController.m  2008-05-05 19:50:12 UTC (rev 3851)
@@ -66,6 +66,8 @@
 static NSString *SKSnapshotWindowFrameAutosaveName = @"SKSnapshotWindow";
 static NSString *SKSnapshotViewChangedNotification = 
@"SKSnapshotViewChangedNotification";
 
+static NSString *SKSnapshotWindowDefaultsObservationContext = 
@"SKSnapshotWindowDefaultsObservationContext";
+
 @implementation SKSnapshotWindowController
 
 - (void)dealloc {
@@ -83,7 +85,7 @@
     BOOL keepOnTop = [[NSUserDefaults standardUserDefaults] 
boolForKey:SKSnapshotsOnTopKey];
     [[self window] setLevel:keepOnTop || forceOnTop ? NSFloatingWindowLevel : 
NSNormalWindowLevel];
     [[self window] setHidesOnDeactivate:keepOnTop || forceOnTop];
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKSnapshotsOnTopKey];
+    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKSnapshotsOnTopKey context:SKSnapshotWindowDefaultsObservationContext];
 }
 
 - (NSString *)windowTitleForDocumentDisplayName:(NSString *)displayName {
@@ -531,7 +533,7 @@
 #pragma mark KVO
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (object == [NSUserDefaultsController sharedUserDefaultsController] && 
[keyPath hasPrefix:@"values."]) {
+    if (context == SKSnapshotWindowDefaultsObservationContext) {
         NSString *key = [keyPath substringFromIndex:7];
         if ([key isEqualToString:SKSnapshotsOnTopKey]) {
             BOOL keepOnTop = [[NSUserDefaults standardUserDefaults] 
boolForKey:SKSnapshotsOnTopKey];


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

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to