Revision: 4994
          http://skim-app.svn.sourceforge.net/skim-app/?rev=4994&view=rev
Author:   hofman
Date:     2008-11-25 17:31:24 +0000 (Tue, 25 Nov 2008)

Log Message:
-----------
Update font in tableview/outlineview classes

Modified Paths:
--------------
    trunk/SKBookmarkOutlineView.m
    trunk/SKFindTableView.m
    trunk/SKMainWindowController.m
    trunk/SKNoteOutlineView.m
    trunk/SKNotesDocument.m
    trunk/SKOutlineView.h
    trunk/SKOutlineView.m
    trunk/SKTableView.h
    trunk/SKTableView.m
    trunk/SKTocOutlineView.m

Modified: trunk/SKBookmarkOutlineView.m
===================================================================
--- trunk/SKBookmarkOutlineView.m       2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKBookmarkOutlineView.m       2008-11-25 17:31:24 UTC (rev 4994)
@@ -37,23 +37,15 @@
  */
 
 #import "SKBookmarkOutlineView.h"
-#import "NSUserDefaultsController_SKExtensions.h"
-#import "SKStringConstants.h"
 
-static void *SKBookmarkOutlineViewDefaultsObservationContext = (void 
*)@"SKBookmarkOutlineViewDefaultsObservationContext";
 
-
 @implementation SKBookmarkOutlineView
 
++ (BOOL)usesDefaultFontSize { return YES; }
+
 #define SEPARATOR_LEFT_INDENT 20.0
 #define SEPARATOR_RIGHT_INDENT 2.0
 
-- (void)dealloc {
-    @try { [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKey:SKTableFontSizeKey]; }
-    @catch (id e) {}
-    [super dealloc];
-}
-
 - (void)drawRow:(int)rowIndex clipRect:(NSRect)clipRect {
     if ([[self delegate] 
respondsToSelector:@selector(outlineView:drawSeparatorRowForItem:)] &&
         [[self delegate] outlineView:self drawSeparatorRowForItem:[self 
itemAtRow:rowIndex]]) {
@@ -67,23 +59,4 @@
     }
 }
 
-- (void)awakeFromNib {
-    NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
-    if (fontSize)
-        [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKTableFontSizeKey 
context:SKBookmarkOutlineViewDefaultsObservationContext];
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (context == SKBookmarkOutlineViewDefaultsObservationContext) {
-        NSString *key = [keyPath substringFromIndex:7];
-        if ([key isEqualToString:SKTableFontSizeKey]) {
-            NSFont *font = [NSFont systemFontOfSize:[[NSUserDefaults 
standardUserDefaults] floatForKey:SKTableFontSizeKey]];
-            [self setFont:font];
-        }
-    } else {
-        [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
-    }
-}
-
 @end

Modified: trunk/SKFindTableView.m
===================================================================
--- trunk/SKFindTableView.m     2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKFindTableView.m     2008-11-25 17:31:24 UTC (rev 4994)
@@ -37,23 +37,18 @@
  */
 
 #import "SKFindTableView.h"
-#import "SKStringConstants.h"
 
 
 @implementation SKFindTableView
 
++ (BOOL)usesDefaultFontSize { return YES; }
+
 - (void)dealloc{
     if (trackingRects != NULL)
         CFRelease(trackingRects);
     [super dealloc];
 }
 
-- (void)awakeFromNib {
-    NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
-    if (fontSize)
-        [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
-}
-
 - (void)removeTrackingRects {
     if (trackingRects) {
         CFIndex idx = CFArrayGetCount(trackingRects);

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKMainWindowController.m      2008-11-25 17:31:24 UTC (rev 4994)
@@ -3415,9 +3415,6 @@
         } else if ([key isEqualToString:SKTableFontSizeKey]) {
             NSFont *font = [NSFont systemFontOfSize:[[NSUserDefaults 
standardUserDefaults] floatForKey:SKTableFontSizeKey]];
             [outlineView setFont:font];
-            [noteOutlineView setFont:font];
-            [findTableView setFont:font];
-            [groupedFindTableView setFont:font];
             [self updatePageColumnWidthForTableView:outlineView];
         }
         

Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m   2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKNoteOutlineView.m   2008-11-25 17:31:24 UTC (rev 4994)
@@ -40,7 +40,6 @@
 #import "NSString_SKExtensions.h"
 #import "SKTypeSelectHelper.h"
 #import <SkimNotes/SkimNotes.h>
-#import "SKStringConstants.h"
 #import "NSEvent_SKExtensions.h"
 #import "NSMenu_SKExtensions.h"
 
@@ -48,6 +47,8 @@
 
 @implementation SKNoteOutlineView
 
++ (BOOL)usesDefaultFontSize { return YES; }
+
 - (void)dealloc {
     [noteTypeSheet release];
     [super dealloc];
@@ -56,9 +57,7 @@
 - (void)awakeFromNib {
     if (noteTypeMatrix == nil) {
         [self noteTypeMenu]; // this sets the menu for the header view
-        NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
-        if (fontSize)
-            [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
+        [super awakeFromNib];
     }
 }
 

Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m     2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKNotesDocument.m     2008-11-25 17:31:24 UTC (rev 4994)
@@ -61,7 +61,6 @@
 #import "SKAnnotationTypeImageCell.h"
 #import "SKPrintableView.h"
 #import "SKPDFView.h"
-#import "NSUserDefaultsController_SKExtensions.h"
 
 static NSString *SKNotesDocumentWindowFrameAutosaveName = 
@"SKNotesDocumentWindow";
 
@@ -77,8 +76,6 @@
 static NSString *SKNotesDocumentTypeColumnIdentifier = @"type";
 static NSString *SKNotesDocumentPageColumnIdentifier = @"page";
 
-static void *SKNotesDocumentDefaultsObservationContext = (void 
*)@"SKNotesDocumentDefaultsObservationContext";
-
 @implementation SKNotesDocument
 
 - (id)init {
@@ -91,8 +88,6 @@
 }
 
 - (void)dealloc {
-    @try { [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKey:SKTableFontSizeKey]; }
-    @catch (id e) {}
     [notes release];
        CFRelease(rowHeights);
     [toolbarItems release];
@@ -136,8 +131,6 @@
     [outlineView reloadData];
     
     [outlineView setTypeSelectHelper:[SKTypeSelectHelper 
typeSelectHelperWithMatchOption:SKSubstringMatch]];
-
-    [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self 
forKey:SKTableFontSizeKey context:SKNotesDocumentDefaultsObservationContext];
 }
 
 - (NSArray *)writableTypesForSaveOperation:(NSSaveOperationType)saveOperation {
@@ -683,18 +676,4 @@
     return YES;
 }
 
-#pragma mark KVO
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
-    if (context == SKNotesDocumentDefaultsObservationContext) {
-        NSString *key = [keyPath substringFromIndex:7];
-        if ([key isEqualToString:SKTableFontSizeKey]) {
-            NSFont *font = [NSFont systemFontOfSize:[[NSUserDefaults 
standardUserDefaults] floatForKey:SKTableFontSizeKey]];
-            [outlineView setFont:font];
-        }
-    } else {
-        [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
-    }
-}
-
 @end

Modified: trunk/SKOutlineView.h
===================================================================
--- trunk/SKOutlineView.h       2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKOutlineView.h       2008-11-25 17:31:24 UTC (rev 4994)
@@ -44,6 +44,8 @@
     SKTypeSelectHelper *typeSelectHelper;
 }
 
++ (BOOL)usesDefaultFontSize;
+
 - (NSArray *)selectedItems;
 
 - (SKTypeSelectHelper *)typeSelectHelper;

Modified: trunk/SKOutlineView.m
===================================================================
--- trunk/SKOutlineView.m       2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKOutlineView.m       2008-11-25 17:31:24 UTC (rev 4994)
@@ -40,16 +40,48 @@
 #import "SKTypeSelectHelper.h"
 #import "NSEvent_SKExtensions.h"
 #import "NSLayoutManager_SKExtensions.h"
+#import "NSUserDefaultsController_SKExtensions.h"
+#import "SKStringConstants.h"
 
+static void *SKOutlineViewDefaultsObservationContext = (void 
*)@"SKOutlineViewDefaultsObservationContext";
 
+
 @implementation SKOutlineView
 
++ (BOOL)usesDefaultFontSize { return NO; }
+
 - (void)dealloc {
+    if ([[self class] usesDefaultFontSize]) {
+        @try { [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKey:SKTableFontSizeKey]; }
+        @catch (id e) {}
+    }
     [typeSelectHelper setDataSource:nil];
     [typeSelectHelper release];
     [super dealloc];
 }
 
+- (void)awakeFromNib {
+    if ([[self class] usesDefaultFontSize]) {
+        NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
+        if (fontSize)
+            [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
+        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKey:SKTableFontSizeKey 
context:SKOutlineViewDefaultsObservationContext];
+    }
+    if ([[SKOutlineView superclass] instancesRespondToSelector:_cmd])
+        [super awakeFromNib];
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
+    if (context == SKOutlineViewDefaultsObservationContext) {
+        NSString *key = [keyPath substringFromIndex:7];
+        if ([key isEqualToString:SKTableFontSizeKey]) {
+            [self setFont:[NSFont systemFontOfSize:[[NSUserDefaults 
standardUserDefaults] floatForKey:SKTableFontSizeKey]]];
+        }
+    } else {
+        [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
+    }
+}
+
 - (NSArray *)selectedItems {
     NSMutableArray *items = [NSMutableArray array];
     NSIndexSet *indexes = [self selectedRowIndexes];

Modified: trunk/SKTableView.h
===================================================================
--- trunk/SKTableView.h 2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKTableView.h 2008-11-25 17:31:24 UTC (rev 4994)
@@ -44,6 +44,8 @@
     SKTypeSelectHelper *typeSelectHelper;
 }
 
++ (BOOL)usesDefaultFontSize;
+
 - (SKTypeSelectHelper *)typeSelectHelper;
 - (void)setTypeSelectHelper:(SKTypeSelectHelper *)newTypeSelectHelper;
 

Modified: trunk/SKTableView.m
===================================================================
--- trunk/SKTableView.m 2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKTableView.m 2008-11-25 17:31:24 UTC (rev 4994)
@@ -40,16 +40,48 @@
 #import "SKTypeSelectHelper.h"
 #import "NSEvent_SKExtensions.h"
 #import "NSLayoutManager_SKExtensions.h"
+#import "NSUserDefaultsController_SKExtensions.h"
+#import "SKStringConstants.h"
 
+static void *SKTableViewDefaultsObservationContext = (void 
*)@"SKTableViewDefaultsObservationContext";
 
+
 @implementation SKTableView
 
++ (BOOL)usesDefaultFontSize { return NO; }
+
 - (void)dealloc {
+    if ([[self class] usesDefaultFontSize]) {
+        @try { [[NSUserDefaultsController sharedUserDefaultsController] 
removeObserver:self forKey:SKTableFontSizeKey]; }
+        @catch (id e) {}
+    }
     [typeSelectHelper setDataSource:nil];
     [typeSelectHelper release];
     [super dealloc];
 }
 
+- (void)awakeFromNib {
+    if ([[self class] usesDefaultFontSize]) {
+        NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
+        if (fontSize)
+            [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
+        [[NSUserDefaultsController sharedUserDefaultsController] 
addObserver:self forKey:SKTableFontSizeKey 
context:SKTableViewDefaultsObservationContext];
+    }
+    if ([[SKTableView superclass] instancesRespondToSelector:_cmd])
+        [super awakeFromNib];
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
+    if (context == SKTableViewDefaultsObservationContext) {
+        NSString *key = [keyPath substringFromIndex:7];
+        if ([key isEqualToString:SKTableFontSizeKey]) {
+            [self setFont:[NSFont systemFontOfSize:[[NSUserDefaults 
standardUserDefaults] floatForKey:SKTableFontSizeKey]]];
+        }
+    } else {
+        [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
+    }
+}
+
 - (SKTypeSelectHelper *)typeSelectHelper {
     return typeSelectHelper;
 }

Modified: trunk/SKTocOutlineView.m
===================================================================
--- trunk/SKTocOutlineView.m    2008-11-25 16:10:33 UTC (rev 4993)
+++ trunk/SKTocOutlineView.m    2008-11-25 17:31:24 UTC (rev 4994)
@@ -39,23 +39,18 @@
 #import "SKTocOutlineView.h"
 #import "SKTypeSelectHelper.h"
 #import "NSColor_SKExtensions.h"
-#import "SKStringConstants.h"
 
 
 @implementation SKTocOutlineView
 
++ (BOOL)usesDefaultFontSize { return YES; }
+
 - (void)dealloc {
     if (trackingRects != NULL)
         CFRelease(trackingRects);
     [super dealloc];
 }
 
-- (void)awakeFromNib {
-    NSNumber *fontSize = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKTableFontSizeKey];
-    if (fontSize)
-        [self setFont:[NSFont systemFontOfSize:[fontSize floatValue]]];
-}
-
 - (NSColor *)backgroundColor {
     return [NSColor tableBackgroundColor];
 }


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 Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to