Revision: 3026
http://skim-app.svn.sourceforge.net/skim-app/?rev=3026&view=rev
Author: hofman
Date: 2007-10-07 06:05:51 -0700 (Sun, 07 Oct 2007)
Log Message:
-----------
Interpret snapshot setup dictionary only within snapshot controller.
Modified Paths:
--------------
trunk/SKMainWindowController.h
trunk/SKMainWindowController.m
trunk/SKPDFView.m
trunk/SKSnapshotWindowController.h
trunk/SKSnapshotWindowController.m
Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h 2007-10-07 12:48:49 UTC (rev 3025)
+++ trunk/SKMainWindowController.h 2007-10-07 13:05:51 UTC (rev 3026)
@@ -254,7 +254,8 @@
- (IBAction)savePDFSettingToDefaults:(id)sender;
- (IBAction)chooseTransition:(id)sender;
-- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect
scaleFactor:(int)scaleFactor autoFits:(BOOL)autoFits display:(BOOL)display;
+- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect
scaleFactor:(int)scaleFactor autoFits:(BOOL)autoFits;
+- (void)showSnapshotWithSetup:(NSDictionary *)setup;
- (void)toggleSnapshots:(NSArray *)snapshotArray;
- (void)showNote:(PDFAnnotation *)annotation;
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2007-10-07 12:48:49 UTC (rev 3025)
+++ trunk/SKMainWindowController.m 2007-10-07 13:05:51 UTC (rev 3026)
@@ -100,10 +100,6 @@
#define HAS_VERTICAL_SCROLLER_KEY @"hasVerticalScroller"
#define AUTO_HIDES_SCROLLERS_KEY @"autoHidesScrollers"
#define PAGE_INDEX_KEY @"pageIndex"
-#define PAGE_KEY @"page"
-#define RECT_KEY @"rect"
-#define AUTO_FITS_KEY @"autoFits"
-#define HAS_WINDOW_KEY @"hasWindow"
static NSString *SKMainWindowFrameAutosaveName = @"SKMainWindow";
@@ -444,7 +440,7 @@
NSEnumerator *setupEnum = [[[SKBookmarkController
sharedBookmarkController] snapshotsAtPath:[[[self document] fileURL] path]]
objectEnumerator];
NSDictionary *setup;
while (setup = [setupEnum nextObject])
- [self showSnapshotAtPageNumber:[[setup objectForKey:PAGE_KEY]
unsignedIntValue] forRect:NSRectFromString([setup objectForKey:RECT_KEY])
scaleFactor:[[setup objectForKey:SCALE_FACTOR_KEY] floatValue] autoFits:[[setup
objectForKey:AUTO_FITS_KEY] boolValue] display:[[setup
objectForKey:HAS_WINDOW_KEY] boolValue]];
+ [self showSnapshotWithSetup:setup];
}
// typeSelectHelpers
@@ -953,7 +949,7 @@
NSEnumerator *setupEnum = [snapshotDicts objectEnumerator];
NSDictionary *setup;
while (setup = [setupEnum nextObject])
- [self showSnapshotAtPageNumber:[[setup objectForKey:PAGE_KEY]
unsignedIntValue] forRect:NSRectFromString([setup objectForKey:RECT_KEY])
scaleFactor:[[setup objectForKey:SCALE_FACTOR_KEY] floatValue] autoFits:[[setup
objectForKey:AUTO_FITS_KEY] boolValue] display:[[setup
objectForKey:HAS_WINDOW_KEY] boolValue]];
+ [self showSnapshotWithSetup:setup];
if (pageIndex != NSNotFound && [document pageCount]) {
PDFPage *page = [document pageAtIndex:MIN(pageIndex, [document
pageCount] - 1)];
@@ -2695,15 +2691,13 @@
#pragma mark Sub- and note- windows
-- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect
scaleFactor:(int)scaleFactor autoFits:(BOOL)autoFits display:(BOOL)display{
-
+- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect
scaleFactor:(int)scaleFactor autoFits:(BOOL)autoFits {
SKSnapshotWindowController *swc = [[SKSnapshotWindowController alloc]
init];
BOOL snapshotsOnTop = [[NSUserDefaults standardUserDefaults]
boolForKey:SKSnapshotsOnTopKey];
[swc setDelegate:self];
- PDFDocument *doc = [pdfView document];
- [swc setPdfDocument:doc
+ [swc setPdfDocument:[pdfView document]
scaleFactor:scaleFactor
goToPageNumber:pageNum
rect:rect
@@ -2715,10 +2709,24 @@
[[self document] addWindowController:swc];
[swc release];
- if (display)
- [swc showWindow:self];
+ [swc showWindow:self];
}
+- (void)showSnapshotWithSetup:(NSDictionary *)setup {
+ SKSnapshotWindowController *swc = [[SKSnapshotWindowController alloc]
init];
+ BOOL snapshotsOnTop = [[NSUserDefaults standardUserDefaults]
boolForKey:SKSnapshotsOnTopKey];
+
+ [swc setDelegate:self];
+
+ [swc setPdfDocument:[pdfView document] setup:setup];
+
+ [swc setForceOnTop:[self isFullScreen] || [self isPresentation]];
+ [[swc window] setHidesOnDeactivate:snapshotsOnTop];
+
+ [[self document] addWindowController:swc];
+ [swc release];
+}
+
- (void)toggleSnapshots:(NSArray *)snapshotArray {
// there should only be a single snapshot
SKSnapshotWindowController *controller = [snapshotArray lastObject];
@@ -3653,7 +3661,7 @@
rect.origin.y = NSMidY(rect) - 100.0;
rect.size.height = 200.0;
- [self showSnapshotAtPageNumber:row forRect:rect scaleFactor:[pdfView
scaleFactor] autoFits:NO display:YES];
+ [self showSnapshotAtPageNumber:row forRect:rect scaleFactor:[pdfView
scaleFactor] autoFits:NO];
return YES;
}
return NO;
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2007-10-07 12:48:49 UTC (rev 3025)
+++ trunk/SKPDFView.m 2007-10-07 13:05:51 UTC (rev 3026)
@@ -2119,7 +2119,7 @@
SKMainWindowController *controller = [[self window] windowController];
- [controller showSnapshotAtPageNumber:[page pageIndex] forRect:rect
scaleFactor:[self scaleFactor] autoFits:autoFits display:YES];
+ [controller showSnapshotAtPageNumber:[page pageIndex] forRect:rect
scaleFactor:[self scaleFactor] autoFits:autoFits];
}
#pragma mark Notification handling
@@ -3493,7 +3493,7 @@
SKMainWindowController *controller = [[self window] windowController];
- [controller showSnapshotAtPageNumber:[page pageIndex] forRect:[self
convertRect:rect toPage:page] scaleFactor:[self scaleFactor] * factor
autoFits:autoFits display:YES];
+ [controller showSnapshotAtPageNumber:[page pageIndex] forRect:[self
convertRect:rect toPage:page] scaleFactor:[self scaleFactor] * factor
autoFits:autoFits];
}
- (void)magnifyWithEvent:(NSEvent *)theEvent {
Modified: trunk/SKSnapshotWindowController.h
===================================================================
--- trunk/SKSnapshotWindowController.h 2007-10-07 12:48:49 UTC (rev 3025)
+++ trunk/SKSnapshotWindowController.h 2007-10-07 13:05:51 UTC (rev 3026)
@@ -50,6 +50,7 @@
}
- (void)setPdfDocument:(PDFDocument *)pdfDocument scaleFactor:(float)factor
goToPageNumber:(int)pageNum rect:(NSRect)rect autoFits:(BOOL)autoFits;
+- (void)setPdfDocument:(PDFDocument *)pdfDocument setup:(NSDictionary *)setup;
- (BOOL)isPageVisible:(PDFPage *)page;
Modified: trunk/SKSnapshotWindowController.m
===================================================================
--- trunk/SKSnapshotWindowController.m 2007-10-07 12:48:49 UTC (rev 3025)
+++ trunk/SKSnapshotWindowController.m 2007-10-07 13:05:51 UTC (rev 3026)
@@ -231,6 +231,17 @@
[self performSelector:@selector(goToDestination:) withObject:dest
afterDelay:0.1];
}
+- (void)setPdfDocument:(PDFDocument *)pdfDocument setup:(NSDictionary *)setup {
+ [self setPdfDocument:pdfDocument
+ scaleFactor:[[setup objectForKey:SCALE_FACTOR_KEY] floatValue]
+ goToPageNumber:[[setup objectForKey:PAGE_KEY] unsignedIntValue]
+ rect:NSRectFromString([setup objectForKey:RECT_KEY])
+ autoFits:[[setup objectForKey:AUTO_FITS_KEY] boolValue]];
+
+ if ([[setup objectForKey:HAS_WINDOW_KEY] boolValue])
+ [self performSelector:@selector(showWindow:) withObject:self
afterDelay:0.0];
+}
+
- (BOOL)isPageVisible:(PDFPage *)page {
if ([[page document] isEqual:[pdfView document]] == NO)
return NO;
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: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit