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