Revision: 12991
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=12991&view=rev
Author:   hofman
Date:     2008-03-06 17:09:54 -0800 (Thu, 06 Mar 2008)

Log Message:
-----------
Save preview settings in EAs and preferences.

Modified Paths:
--------------
    trunk/bibdesk/BDSKStringConstants.h
    trunk/bibdesk/BDSKStringConstants.m
    trunk/bibdesk/BibDocument.m
    trunk/bibdesk/BibDocument_Actions.m
    trunk/bibdesk/Info.plist

Modified: trunk/bibdesk/BDSKStringConstants.h
===================================================================
--- trunk/bibdesk/BDSKStringConstants.h 2008-03-06 22:29:01 UTC (rev 12990)
+++ trunk/bibdesk/BDSKStringConstants.h 2008-03-07 01:09:54 UTC (rev 12991)
@@ -98,6 +98,10 @@
 extern NSString *BDSKPreviewDisplayKey;
 extern NSString *BDSKPreviewMaxNumberKey;
 extern NSString *BDSKPreviewTemplateStyleKey;
+extern NSString *BDSKBottomPreviewDisplayKey;
+extern NSString *BDSKBottomPreviewDisplayTemplateKey;
+extern NSString *BDSKSidePreviewDisplayKey;
+extern NSString *BDSKSidePreviewDisplayTemplateKey;
 extern NSString *BDSKPreviewPDFScaleFactorKey;
 extern NSString *BDSKPreviewRTFScaleFactorKey;
 extern NSString *BDSKPreviewLinkedFileScaleFactorKey;
@@ -198,7 +202,8 @@
 extern NSString *BDSKShouldShowWebGroupPrefKey;
 extern NSString *BDSKDefaultArrayJoinStringKey;
 
-extern NSString *BDSKMainFileViewIconScaleKey;
+extern NSString *BDSKBottomFileViewIconScaleKey;
+extern NSString *BDSKSideFileViewIconScaleKey;
 extern NSString *BDSKEditorFileViewIconScaleKey;
 
 #pragma mark Field name strings

Modified: trunk/bibdesk/BDSKStringConstants.m
===================================================================
--- trunk/bibdesk/BDSKStringConstants.m 2008-03-06 22:29:01 UTC (rev 12990)
+++ trunk/bibdesk/BDSKStringConstants.m 2008-03-07 01:09:54 UTC (rev 12991)
@@ -123,12 +123,17 @@
 NSString *BDSKPreviewDisplayKey = @"Preview Pane Displays What?";
 NSString *BDSKPreviewMaxNumberKey = @"Maximum Number of Items in Preview Pane";
 NSString *BDSKPreviewTemplateStyleKey = @"BDSKPreviewTemplateStyleKey";
+NSString *BDSKBottomPreviewDisplayKey = @"BDSKBottomPreviewDisplayKey";
+NSString *BDSKBottomPreviewDisplayTemplateKey = 
@"BDSKBottomPreviewDisplayTemplateKey";
+NSString *BDSKSidePreviewDisplayKey = @"BDSKSidePreviewDisplayKey";
+NSString *BDSKSidePreviewDisplayTemplateKey = 
@"BDSKSidePreviewDisplayTemplateKey";
 
 NSString *BDSKPreviewPDFScaleFactorKey = @"Preview PDF Scale Factor";
 NSString *BDSKPreviewRTFScaleFactorKey = @"Preview RTF Scale Factor";
 NSString *BDSKPreviewLinkedFileScaleFactorKey = @"Preview Linked File Scale 
Factor";
 
-NSString *BDSKMainFileViewIconScaleKey = @"BDSKMainFileViewIconScaleKey";
+NSString *BDSKBottomFileViewIconScaleKey = @"BDSKBottomFileViewIconScaleKey";
+NSString *BDSKSideFileViewIconScaleKey = @"BDSKSideFileViewIconScaleKey";
 NSString *BDSKEditorFileViewIconScaleKey = @"BDSKEditorFileViewIconScaleKey";
 
 NSString *BDSKDefaultFieldsKey = @"Default Fields";

Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2008-03-06 22:29:01 UTC (rev 12990)
+++ trunk/bibdesk/BibDocument.m 2008-03-07 01:09:54 UTC (rev 12991)
@@ -209,6 +209,8 @@
 
 - (id)init{
     if(self = [super init]){
+        OFPreferenceWrapper *pw = [OFPreferenceWrapper 
sharedPreferenceWrapper];
+        
         publications = [[BDSKPublicationsArray alloc] initWithCapacity:1];
         shownPublications = [[NSMutableArray alloc] initWithCapacity:1];
         groupedPublications = [[NSMutableArray alloc] initWithCapacity:1];
@@ -225,17 +227,16 @@
         pboardHelper = [[BDSKItemPasteboardHelper alloc] init];
         [pboardHelper setDelegate:self];
         
-        bottomPreviewDisplay = BDSKPreviewDisplayText;
-        bottomPreviewDisplayTemplate = [[[OFPreferenceWrapper 
sharedPreferenceWrapper] stringForKey:BDSKPreviewTemplateStyleKey] retain];
-        sidePreviewDisplay = BDSKPreviewDisplayFiles;
-        sidePreviewDisplayTemplate = [[[OFPreferenceWrapper 
sharedPreferenceWrapper] stringForKey:BDSKPreviewTemplateStyleKey] retain];
-        
         docState.isDocumentClosed = NO;
         
         // need to set this for new documents
         [self setDocumentStringEncoding:[BDSKStringEncodingManager 
defaultEncoding]]; 
         
         // these are set in windowControllerDidLoadNib: from the xattr 
defaults if available
+        bottomPreviewDisplay = BDSKPreviewDisplayText;
+        bottomPreviewDisplayTemplate = nil;
+        sidePreviewDisplay = BDSKPreviewDisplayFiles;
+        sidePreviewDisplayTemplate = nil;
         tableColumnWidths = nil;
         sortKey = nil;
         previousSortKey = nil;
@@ -436,6 +437,11 @@
        [statusBar 
setProgressIndicatorStyle:BDSKProgressIndicatorSpinningStyle];
     [statusBar setTextOffset:NSMaxX([bottomPreviewButton frame]) - 2.0];
     
+    bottomPreviewDisplay = [xattrDefaults 
intForKey:BDSKBottomPreviewDisplayKey defaultValue:[pw 
integerForKey:BDSKBottomPreviewDisplayKey]];
+    bottomPreviewDisplayTemplate = [[xattrDefaults 
objectForKey:BDSKBottomPreviewDisplayTemplateKey defaultObject:[pw 
stringForKey:BDSKBottomPreviewDisplayTemplateKey]] retain];
+    sidePreviewDisplay = [xattrDefaults intForKey:BDSKSidePreviewDisplayKey 
defaultValue:[pw integerForKey:BDSKSidePreviewDisplayKey]];
+    sidePreviewDisplayTemplate = [[xattrDefaults 
objectForKey:BDSKSidePreviewDisplayTemplateKey defaultObject:[pw 
stringForKey:BDSKSidePreviewDisplayTemplateKey]] retain];
+        
     bottomTemplatePreviewMenu = [[[NSMenu allocWithZone:[NSMenu menuZone]] 
init] autorelease];
     [bottomTemplatePreviewMenu setDelegate:self];
     [bottomPreviewButton setMenu:bottomTemplatePreviewMenu forSegment:0];
@@ -522,9 +528,23 @@
     [fileGradientView setUpperColor:[NSColor colorWithCalibratedWhite:0.9 
alpha:1.0]];
     [fileGradientView setLowerColor:[NSColor colorWithCalibratedWhite:0.75 
alpha:1.0]];
     
-    [sideFileView setIconScale:[[OFPreferenceWrapper sharedPreferenceWrapper] 
floatForKey:BDSKMainFileViewIconScaleKey]];
+    float iconScale = [xattrDefaults floatForKey:BDSKSideFileViewIconScaleKey 
defaultValue:[pw floatForKey:BDSKSideFileViewIconScaleKey]];
+    if (iconScale < 0.00001) {
+        [sideFileView setAutoScales:YES];
+    } else {
+        [sideFileView setAutoScales:NO];
+        [sideFileView setIconScale:iconScale];
+    }
     [sideFileView setAutoScales:YES];
     [sideFileView addObserver:self forKeyPath:@"iconScale" options:0 
context:NULL];
+
+    iconScale = [xattrDefaults floatForKey:BDSKBottomFileViewIconScaleKey 
defaultValue:[pw floatForKey:BDSKBottomFileViewIconScaleKey]];
+    if (iconScale < 0.00001) {
+        [bottomFileView setAutoScales:YES];
+    } else {
+        [bottomFileView setAutoScales:NO];
+        [bottomFileView setIconScale:iconScale];
+    }
     
        // ImagePopUpButtons setup
        [actionMenuButton setShowsMenuWhenIconClicked:YES];
@@ -694,6 +714,14 @@
         [dictionary setObject:selectedKeys forKey:BDSKSelectedPublicationsKey];
         [dictionary setPointValue:[[tableView enclosingScrollView] 
scrollPositionAsPercentage] forKey:BDSKDocumentScrollPercentageKey];
         
+        [dictionary setIntValue:bottomPreviewDisplay 
forKey:BDSKBottomPreviewDisplayKey];
+        [dictionary setObject:bottomPreviewDisplayTemplate 
forKey:BDSKBottomPreviewDisplayTemplateKey];
+        [dictionary setIntValue:sidePreviewDisplay 
forKey:BDSKSidePreviewDisplayKey];
+        [dictionary setObject:sidePreviewDisplayTemplate 
forKey:BDSKSidePreviewDisplayTemplateKey];
+        
+        [dictionary setFloatValue:[bottomFileView autoScales] ? 0.0 : 
[bottomFileView iconScale] forKey:BDSKBottomFileViewIconScaleKey];
+        [dictionary setFloatValue:[sideFileView autoScales] ? 0.0 : 
[sideFileView iconScale] forKey:BDSKSideFileViewIconScaleKey];
+        
         if(previewer){
             [dictionary setFloatValue:[previewer PDFScaleFactor] 
forKey:BDSKPreviewPDFScaleFactorKey];
             [dictionary setFloatValue:[previewer RTFScaleFactor] 
forKey:BDSKPreviewRTFScaleFactorKey];
@@ -3001,7 +3029,11 @@
 
 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context {
     if (object == sideFileView && [keyPath isEqualToString:@"iconScale"]) {
-        [[OFPreferenceWrapper sharedPreferenceWrapper] setFloat:[sideFileView 
iconScale] forKey:BDSKMainFileViewIconScaleKey];
+        float iconScale = [sideFileView autoScales] ? 0.0 : [sideFileView 
iconScale];
+        [[OFPreferenceWrapper sharedPreferenceWrapper] setFloat:iconScale 
forKey:BDSKSideFileViewIconScaleKey];
+    } else if (object == bottomFileView && [keyPath 
isEqualToString:@"iconScale"]) {
+        float iconScale = [bottomFileView autoScales] ? 0.0 : [bottomFileView 
iconScale];
+        [[OFPreferenceWrapper sharedPreferenceWrapper] setFloat:iconScale 
forKey:BDSKBottomFileViewIconScaleKey];
     } else {
         [super observeValueForKeyPath:keyPath ofObject:object change:change 
context:context];
     }

Modified: trunk/bibdesk/BibDocument_Actions.m
===================================================================
--- trunk/bibdesk/BibDocument_Actions.m 2008-03-06 22:29:01 UTC (rev 12990)
+++ trunk/bibdesk/BibDocument_Actions.m 2008-03-07 01:09:54 UTC (rev 12991)
@@ -1100,6 +1100,8 @@
         [self updatePreviewPane];
         if ([sender isEqual:bottomPreviewButton] == NO)
             [bottomPreviewButton selectSegmentWithTag:bottomPreviewDisplay];
+        [[OFPreferenceWrapper sharedPreferenceWrapper] 
setInteger:bottomPreviewDisplay forKey:BDSKBottomPreviewDisplayKey];
+        [[OFPreferenceWrapper sharedPreferenceWrapper] 
setObject:bottomPreviewDisplayTemplate 
forKey:BDSKBottomPreviewDisplayTemplateKey];
     }
 }
 
@@ -1121,6 +1123,8 @@
         [self updateSidePreviewPane];
         if ([sender isEqual:sidePreviewButton] == NO)
             [sidePreviewButton selectSegmentWithTag:sidePreviewDisplay];
+        [[OFPreferenceWrapper sharedPreferenceWrapper] 
setInteger:sidePreviewDisplay forKey:BDSKSidePreviewDisplayKey];
+        [[OFPreferenceWrapper sharedPreferenceWrapper] 
setObject:sidePreviewDisplayTemplate forKey:BDSKSidePreviewDisplayTemplateKey];
     }
 }
 

Modified: trunk/bibdesk/Info.plist
===================================================================
--- trunk/bibdesk/Info.plist    2008-03-06 22:29:01 UTC (rev 12990)
+++ trunk/bibdesk/Info.plist    2008-03-07 01:09:54 UTC (rev 12991)
@@ -734,6 +734,14 @@
                                        <real>0.0</real>
                                        <key>BDSKPreviewTemplateStyleKey</key>
                                        <string>Default RSS template</string>
+                                       <key>BDSKBottomPreviewDisplayKey</key>
+                                       <integer>0</integer>
+                                       
<key>BDSKBottomPreviewDisplayTemplateKey</key>
+                                       <string>Default RSS template</string>
+                                       <key>BDSKSidePreviewDisplayKey</key>
+                                       <integer>1</integer>
+                                       
<key>BDSKSidePreviewDisplayTemplateKey</key>
+                                       <string>Default RSS template</string>
                                        <key>BDSKSortGroupsDescendingKey</key>
                                        <false/>
                                        <key>BDSKSortGroupsKey</key>


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: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to