Revision: 2634 http://skim-app.svn.sourceforge.net/skim-app/?rev=2634&view=rev Author: hofman Date: 2007-08-09 11:31:27 -0700 (Thu, 09 Aug 2007)
Log Message: ----------- Remove Fit popup item from zoomable PDF view, and instead redefine the Auto item to automatically fit the content. Rename flag. Modified Paths: -------------- trunk/BDSKZoomablePDFView.h trunk/BDSKZoomablePDFView.m trunk/SKMainWindowController.h trunk/SKMainWindowController.m trunk/SKPDFView.m trunk/SKSnapshotWindowController.h trunk/SKSnapshotWindowController.m Modified: trunk/BDSKZoomablePDFView.h =================================================================== --- trunk/BDSKZoomablePDFView.h 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/BDSKZoomablePDFView.h 2007-08-09 18:31:27 UTC (rev 2634) @@ -42,15 +42,14 @@ @interface BDSKZoomablePDFView : PDFView { NSPopUpButton *scalePopUpButton; - PDFPage *page; - NSRect fitRect; - BOOL fits; + PDFPage *autoFitPage; + NSRect autoFitRect; + BOOL autoFits; } -- (BOOL)fits; -- (void)setFits:(BOOL)newFits; -- (void)setFits:(BOOL)newFits adjustPopup:(BOOL)flag; -- (void)setAutoScales:(BOOL)newAuto adjustPopup:(BOOL)flag; +- (BOOL)autoFits; +- (void)setAutoFits:(BOOL)newAuto; +- (void)setAutoFits:(BOOL)newAuto adjustPopup:(BOOL)flag; - (void)setScaleFactor:(float)factor adjustPopup:(BOOL)flag; - (void)scalePopUpAction:(id)sender; - (NSScrollView *)scrollView; @@ -58,6 +57,6 @@ - (void)setScrollerSize:(NSControlSize)controlSize; - (void)dragWithEvent:(NSEvent *)theEvent; - (void)handlePDFViewFrameChangedNotification:(NSNotification *)notification; -- (void)resetFitRectIfNeeded; +- (void)resetAutoFitRectIfNeeded; @end Modified: trunk/BDSKZoomablePDFView.m =================================================================== --- trunk/BDSKZoomablePDFView.m 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/BDSKZoomablePDFView.m 2007-08-09 18:31:27 UTC (rev 2634) @@ -48,7 +48,6 @@ @implementation BDSKZoomablePDFView /* For genstrings: - NSLocalizedStringFromTable(@"Fit", @"ZoomValues", @"Zoom popup entry") NSLocalizedStringFromTable(@"Auto", @"ZoomValues", @"Zoom popup entry") NSLocalizedStringFromTable(@"10%", @"ZoomValues", @"Zoom popup entry") NSLocalizedStringFromTable(@"25%", @"ZoomValues", @"Zoom popup entry") @@ -60,8 +59,8 @@ NSLocalizedStringFromTable(@"400%", @"ZoomValues", @"Zoom popup entry") NSLocalizedStringFromTable(@"800%", @"ZoomValues", @"Zoom popup entry") */ -static NSString *BDSKDefaultScaleMenuLabels[] = {/* @"Set...", */ @"Fit", @"Auto", @"10%", @"25%", @"50%", @"75%", @"100%", @"128%", @"150%", @"200%", @"400%", @"800%"}; -static float BDSKDefaultScaleMenuFactors[] = {/* 0.0, */ -1, 0, 0.1, 0.25, 0.5, 0.75, 1.0, 1.28, 1.5, 2.0, 4.0, 8.0}; +static NSString *BDSKDefaultScaleMenuLabels[] = {/* @"Set...", */ @"Auto", @"10%", @"25%", @"50%", @"75%", @"100%", @"128%", @"150%", @"200%", @"400%", @"800%"}; +static float BDSKDefaultScaleMenuFactors[] = {/* 0.0, */ 0, 0.1, 0.25, 0.5, 0.75, 1.0, 1.28, 1.5, 2.0, 4.0, 8.0}; static float BDSKScaleMenuFontSize = 11.0; #pragma mark Popup button @@ -69,8 +68,8 @@ - (id)initWithFrame:(NSRect)frameRect { if (self = [super initWithFrame:frameRect]) { scalePopUpButton = nil; - page = nil; - fitRect = NSZeroRect; + autoFitPage = nil; + autoFitRect = NSZeroRect; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handlePDFViewFrameChangedNotification:) name:NSViewFrameDidChangeNotification object:self]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handlePDFViewFrameChangedNotification:) @@ -82,8 +81,8 @@ - (id)initWithCoder:(NSCoder *)decoder { if (self = [super initWithCoder:decoder]) { scalePopUpButton = nil; - page = nil; - fitRect = NSZeroRect; + autoFitPage = nil; + autoFitRect = NSZeroRect; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handlePDFViewFrameChangedNotification:) name:NSViewFrameDidChangeNotification object:self]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handlePDFViewFrameChangedNotification:) @@ -163,56 +162,55 @@ } - (void)handlePDFViewFrameChangedNotification:(NSNotification *)notification { - if (fits) { + if ([self autoFits]) { NSView *clipView = [[[self documentView] enclosingScrollView] contentView]; NSRect rect = [self convertRect:[clipView visibleRect] fromView:clipView]; - BOOL scaleWidth = NSWidth(rect) / NSHeight(rect) < NSWidth(fitRect) / NSHeight(fitRect); - float factor = scaleWidth ? NSWidth(rect) / NSWidth(fitRect) : NSHeight(rect) / NSHeight(fitRect); - NSRect viewRect = scaleWidth ? NSInsetRect(fitRect, 0.0, 0.5 * (NSHeight(fitRect) - NSHeight(rect) / factor)) : NSInsetRect(fitRect, 0.5 * (NSWidth(fitRect) - NSWidth(rect) / factor), 0.0); + BOOL scaleWidth = NSWidth(rect) / NSHeight(rect) < NSWidth(autoFitRect) / NSHeight(autoFitRect); + float factor = scaleWidth ? NSWidth(rect) / NSWidth(autoFitRect) : NSHeight(rect) / NSHeight(autoFitRect); + NSRect viewRect = scaleWidth ? NSInsetRect(autoFitRect, 0.0, 0.5 * (NSHeight(autoFitRect) - NSHeight(rect) / factor)) : NSInsetRect(autoFitRect, 0.5 * (NSWidth(autoFitRect) - NSWidth(rect) / factor), 0.0); [super setScaleFactor:factor]; - viewRect = [self convertRect:[self convertRect:viewRect fromPage:page] toView:[self documentView]]; + viewRect = [self convertRect:[self convertRect:viewRect fromPage:autoFitPage] toView:[self documentView]]; [[self documentView] scrollRectToVisible:viewRect]; } } -- (void)resetFitRectIfNeeded { - if ([self fits]) { +- (void)resetAutoFitRectIfNeeded { + if ([self autoFits]) { NSView *clipView = [[[self documentView] enclosingScrollView] contentView]; - page = [self currentPage]; - fitRect = [self convertRect:[self convertRect:[clipView visibleRect] fromView:clipView] toPage:page]; + autoFitPage = [self currentPage]; + autoFitRect = [self convertRect:[self convertRect:[clipView visibleRect] fromView:clipView] toPage:autoFitPage]; } } - (void)scalePopUpAction:(id)sender { - int index = [sender indexOfSelectedItem]; - NSNumber *selectedFactorObject = [[sender selectedCell] representedObject]; - if(index == 0) - [self setFits:YES adjustPopup:NO]; - else if(index == 1) - [self setAutoScales:YES adjustPopup:NO]; - else if(selectedFactorObject) + NSNumber *selectedFactorObject = [[sender selectedItem] representedObject]; + if(selectedFactorObject) [self setScaleFactor:[selectedFactorObject floatValue] adjustPopup:NO]; + else + [self setAutoFits:YES adjustPopup:NO]; } -- (BOOL)fits { - return fits; +- (BOOL)autoFits { + return autoFits; } -- (void)setFits:(BOOL)newFits { - [self setFits:newFits adjustPopup:YES]; +- (void)setAutoFits:(BOOL)newAuto { + [self setAutoFits:newAuto adjustPopup:YES]; } -- (void)setFits:(BOOL)newFits adjustPopup:(BOOL)flag { - if (fits != newFits) { - fits = newFits; - if (fits) { - [self setAutoScales:NO adjustPopup:NO]; - [self resetFitRectIfNeeded]; +- (void)setAutoFits:(BOOL)newAuto adjustPopup:(BOOL)flag { + if (autoFits != newAuto) { + autoFits = newAuto; + if (autoFits) { + [super setAutoScales:NO]; + [self resetAutoFitRectIfNeeded]; if (flag) [scalePopUpButton selectItemAtIndex:0]; } else { - page = nil; - fitRect = NSZeroRect; + autoFitPage = nil; + autoFitRect = NSZeroRect; + if (flag) + [self setScaleFactor:[self scaleFactor] adjustPopup:flag]; } } } @@ -224,12 +222,10 @@ - (void)setScaleFactor:(float)newScaleFactor adjustPopup:(BOOL)flag { if (flag) { - if (newScaleFactor < -0.01) { - newScaleFactor = -1.0; - } else if (newScaleFactor < 0.01) { + if (newScaleFactor < 0.01) { newScaleFactor = 0.0; } else { - unsigned cnt = 2, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); + unsigned cnt = 1, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); // We only work with some preset zoom values, so choose one of the appropriate values while (cnt < numberOfDefaultItems - 1 && newScaleFactor > 0.5 * (BDSKDefaultScaleMenuFactors[cnt] + BDSKDefaultScaleMenuFactors[cnt + 1])) cnt++; @@ -238,38 +234,22 @@ } } - if(newScaleFactor < -0.01) - [self setFits:YES]; - if(newScaleFactor < 0.01) - [self setAutoScales:YES]; - else{ - [self setFits:NO adjustPopup:NO]; + if(newScaleFactor < 0.01){ + [self setAutoFits:YES]; + }else{ + [self setAutoFits:NO adjustPopup:NO]; [super setScaleFactor:newScaleFactor]; } } -- (void)setAutoScales:(BOOL)newAuto { - [self setAutoScales:newAuto adjustPopup:YES]; -} +- (void)setAutoScales:(BOOL)newAuto {} -- (void)setAutoScales:(BOOL)newAuto adjustPopup:(BOOL)flag { - if (newAuto) - [self setFits:NO adjustPopup:NO]; - - [super setAutoScales:newAuto]; - - if(newAuto && flag) - [scalePopUpButton selectItemAtIndex:1]; -} - - (IBAction)zoomIn:(id)sender{ - if([self fits]){ + if([self autoFits]){ [super zoomIn:sender]; - [self resetFitRectIfNeeded]; - }else if([self autoScales]){ - [super zoomIn:sender]; + [self setAutoFits:NO adjustPopup:YES]; }else{ - int cnt = 1, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); + int cnt = 0, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); float scaleFactor = [self scaleFactor]; // We only work with some preset zoom values, so choose one of the appropriate values (Fudge a little for floating point == to work) @@ -281,19 +261,17 @@ } - (IBAction)zoomOut:(id)sender{ - if([self fits]){ + if([self autoFits]){ [super zoomOut:sender]; - [self resetFitRectIfNeeded]; - }else if([self autoScales]){ - [super zoomOut:sender]; + [self setAutoFits:NO adjustPopup:YES]; }else{ - int cnt = 1, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); + int cnt = 0, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); float scaleFactor = [self scaleFactor]; // We only work with some preset zoom values, so choose one of the appropriate values (Fudge a little for floating point == to work) while (cnt < numberOfDefaultItems && scaleFactor * .99 > BDSKDefaultScaleMenuFactors[cnt]) cnt++; cnt--; - if (cnt < 1) cnt++; + if (cnt < 0) cnt++; [self setScaleFactor:BDSKDefaultScaleMenuFactors[cnt]]; } } @@ -301,9 +279,7 @@ - (BOOL)canZoomIn{ if ([super canZoomIn] == NO) return NO; - if([self autoScales]) - return YES; - unsigned cnt = 1, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); + unsigned cnt = 0, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); float scaleFactor = [self scaleFactor]; // We only work with some preset zoom values, so choose one of the appropriate values (Fudge a little for floating point == to work) while (cnt < numberOfDefaultItems && scaleFactor * .99 > BDSKDefaultScaleMenuFactors[cnt]) cnt++; @@ -313,8 +289,6 @@ - (BOOL)canZoomOut{ if ([super canZoomOut] == NO) return NO; - if([self autoScales]) - return YES; unsigned cnt = 0, numberOfDefaultItems = (sizeof(BDSKDefaultScaleMenuFactors) / sizeof(float)); float scaleFactor = [self scaleFactor]; // We only work with some preset zoom values, so choose one of the appropriate values (Fudge a little for floating point == to work) @@ -324,14 +298,43 @@ - (void)goToPage:(PDFPage *)aPage { [super goToPage:aPage]; - [self resetFitRectIfNeeded]; + [self resetAutoFitRectIfNeeded]; } - (void)goToDestination:(PDFDestination *)destination { [super goToDestination:destination]; - [self resetFitRectIfNeeded]; + [self resetAutoFitRectIfNeeded]; } +- (void)doAutoFit:(id)sender { + [self setAutoFits:YES]; +} + +- (NSMenu *)menuForEvent:(NSEvent *)theEvent { + NSMenu *menu = [super menuForEvent:theEvent]; + int i, count = [menu numberOfItems]; + + for (i = 0; i < count; i++) { + NSMenuItem *item = [menu itemAtIndex:i]; + if ([item action] == NSSelectorFromString(@"_setAutoSize:")) { + [item setAction:@selector(doAutoFit:)]; + break; + } + } + + return menu; +} + +- (BOOL)validateMenuItem:(NSMenuItem *)menuItem { + if ([menuItem action] == @selector(doAutoFit:)) { + [menuItem setState:[self autoFits] ? NSOnState : NSOffState]; + return YES; + } else if ([PDFView instancesRespondToSelector:_cmd]) { + return [super validateMenuItem:menuItem]; + } + return YES; +} + #pragma mark Scrollview - (NSScrollView *)scrollView; @@ -464,10 +467,10 @@ } // end of switch (event type) } // end of mouse-tracking loop - if ([self fits]) { + if ([self autoFits]) { NSView *clipView = [[[self documentView] enclosingScrollView] contentView]; - page = [self currentPage]; - fitRect = [self convertRect:[self convertRect:[clipView visibleRect] fromView:clipView] toPage:page]; + autoFitPage = [self currentPage]; + autoFitRect = [self convertRect:[self convertRect:[clipView visibleRect] fromView:clipView] toPage:autoFitPage]; } } Modified: trunk/SKMainWindowController.h =================================================================== --- trunk/SKMainWindowController.h 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/SKMainWindowController.h 2007-08-09 18:31:27 UTC (rev 2634) @@ -264,7 +264,7 @@ - (IBAction)chooseTransition:(id)sender; - (IBAction)dismissTransitionSheet:(id)sender; -- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect factor:(int)factor fits:(BOOL)fits display:(BOOL)display; +- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect factor:(int)factor autoFits:(BOOL)autoFits display:(BOOL)display; - (void)toggleSnapshots:(NSArray *)snapshotArray; - (void)showNote:(PDFAnnotation *)annotation; Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/SKMainWindowController.m 2007-08-09 18:31:27 UTC (rev 2634) @@ -368,7 +368,7 @@ NSEnumerator *setupEnum = [[[SKBookmarkController sharedBookmarkController] snapshotsAtPath:[[[self document] fileURL] path]] objectEnumerator]; NSDictionary *setup; if (setup = [setupEnum nextObject]) - [self showSnapshotAtPageNumber:[[setup objectForKey:@"page"] unsignedIntValue] forRect:NSRectFromString([setup objectForKey:@"rect"]) factor:[[setup objectForKey:@"scaleFactor"] floatValue] fits:[[setup objectForKey:@"fits"] boolValue] display:[[setup objectForKey:@"hasWindow"] boolValue]]; + [self showSnapshotAtPageNumber:[[setup objectForKey:@"page"] unsignedIntValue] forRect:NSRectFromString([setup objectForKey:@"rect"]) factor:[[setup objectForKey:@"scaleFactor"] floatValue] autoFits:[[setup objectForKey:@"autoFits"] boolValue] display:[[setup objectForKey:@"hasWindow"] boolValue]]; } // This update toolbar item and other states @@ -781,7 +781,7 @@ NSEnumerator *setupEnum = [snapshotDicts objectEnumerator]; NSDictionary *setup; while (setup = [setupEnum nextObject]) - [self showSnapshotAtPageNumber:[[setup objectForKey:@"page"] unsignedIntValue] forRect:NSRectFromString([setup objectForKey:@"rect"]) factor:[[setup objectForKey:@"scaleFactor"] floatValue] fits:[[setup objectForKey:@"fits"] boolValue] display:[[setup objectForKey:@"hasWindow"] boolValue]]; + [self showSnapshotAtPageNumber:[[setup objectForKey:@"page"] unsignedIntValue] forRect:NSRectFromString([setup objectForKey:@"rect"]) factor:[[setup objectForKey:@"scaleFactor"] floatValue] autoFits:[[setup objectForKey:@"autoFits"] boolValue] display:[[setup objectForKey:@"hasWindow"] boolValue]]; if (pageIndex != NSNotFound && [document pageCount]) { PDFPage *page = [document pageAtIndex:MIN(pageIndex, [document pageCount] - 1)]; @@ -2485,7 +2485,7 @@ #pragma mark Sub- and note- windows -- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect factor:(int)factor fits:(BOOL)fits display:(BOOL)display{ +- (void)showSnapshotAtPageNumber:(int)pageNum forRect:(NSRect)rect factor:(int)factor autoFits:(BOOL)autoFits display:(BOOL)display{ SKSnapshotWindowController *swc = [[SKSnapshotWindowController alloc] init]; BOOL snapshotsOnTop = [[NSUserDefaults standardUserDefaults] boolForKey:SKSnapshotsOnTopKey]; @@ -2497,7 +2497,7 @@ scaleFactor:[pdfView scaleFactor] * factor goToPageNumber:pageNum rect:rect - fits:fits]; + autoFits:autoFits]; [swc setForceOnTop:[self isFullScreen] || [self isPresentation]]; [[swc window] setHidesOnDeactivate:snapshotsOnTop]; @@ -3369,7 +3369,7 @@ rect.origin.y = NSMidY(rect) - 100.0; rect.size.height = 200.0; - [self showSnapshotAtPageNumber:row forRect:rect factor:1 fits:NO display:YES]; + [self showSnapshotAtPageNumber:row forRect:rect factor:1 autoFits:NO display:YES]; return YES; } return NO; Modified: trunk/SKPDFView.m =================================================================== --- trunk/SKPDFView.m 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/SKPDFView.m 2007-08-09 18:31:27 UTC (rev 2634) @@ -1968,12 +1968,12 @@ NSPoint point; PDFPage *page = nil; NSRect rect = NSZeroRect; - BOOL fits = NO; + BOOL autoFits = NO; if (toolMode == SKSelectToolMode && NSIsEmptyRect(selectionRect) == NO) { rect = NSIntersectionRect(selectionRect, [[self currentPage] boundsForBox:kPDFDisplayBoxCropBox]); page = [self currentPage]; - fits = YES; + autoFits = YES; } if (NSIsEmptyRect(rect)) { if ([sender respondsToSelector:@selector(representedObject)] && [[sender representedObject] respondsToSelector:@selector(pointValue)]) { @@ -2002,7 +2002,7 @@ SKMainWindowController *controller = [[self window] windowController]; - [controller showSnapshotAtPageNumber:[[self document] indexForPage:page] forRect:rect factor:1 fits:fits display:YES]; + [controller showSnapshotAtPageNumber:[[self document] indexForPage:page] forRect:rect factor:1 autoFits:autoFits display:YES]; } #pragma mark Notification handling @@ -3271,7 +3271,7 @@ PDFPage *page = [self pageForPoint:point nearest:YES]; NSRect rect = [self convertRect:selRect fromView:[self documentView]]; int factor = 1; - BOOL fits = NO; + BOOL autoFits = NO; if (dragged) { @@ -3297,7 +3297,7 @@ rect.origin.y = NSMaxY(bounds) - NSHeight(rect); } - fits = YES; + autoFits = YES; } else { @@ -3318,7 +3318,7 @@ SKMainWindowController *controller = [[self window] windowController]; - [controller showSnapshotAtPageNumber:[[self document] indexForPage:page] forRect:[self convertRect:rect toPage:page] factor:factor fits:fits display:YES]; + [controller showSnapshotAtPageNumber:[[self document] indexForPage:page] forRect:[self convertRect:rect toPage:page] factor:factor autoFits:autoFits display:YES]; } - (void)magnifyWithEvent:(NSEvent *)theEvent { Modified: trunk/SKSnapshotWindowController.h =================================================================== --- trunk/SKSnapshotWindowController.h 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/SKSnapshotWindowController.h 2007-08-09 18:31:27 UTC (rev 2634) @@ -49,7 +49,7 @@ BOOL forceOnTop; } -- (void)setPdfDocument:(PDFDocument *)pdfDocument scaleFactor:(float)factor goToPageNumber:(int)pageNum rect:(NSRect)rect fits:(BOOL)fits; +- (void)setPdfDocument:(PDFDocument *)pdfDocument scaleFactor:(float)factor goToPageNumber:(int)pageNum rect:(NSRect)rect autoFits:(BOOL)autoFits; - (BOOL)isPageVisible:(PDFPage *)page; Modified: trunk/SKSnapshotWindowController.m =================================================================== --- trunk/SKSnapshotWindowController.m 2007-08-09 15:30:11 UTC (rev 2633) +++ trunk/SKSnapshotWindowController.m 2007-08-09 18:31:27 UTC (rev 2634) @@ -186,7 +186,7 @@ [[self delegate] performSelector:@selector(snapshotControllerDidFinishSetup:) withObject:self afterDelay:0.1]; } -- (void)setPdfDocument:(PDFDocument *)pdfDocument scaleFactor:(float)factor goToPageNumber:(int)pageNum rect:(NSRect)rect fits:(BOOL)fits { +- (void)setPdfDocument:(PDFDocument *)pdfDocument scaleFactor:(float)factor goToPageNumber:(int)pageNum rect:(NSRect)rect autoFits:(BOOL)autoFits { [self window]; [pdfView setDocument:pdfDocument]; @@ -230,8 +230,8 @@ PDFDestination *dest = [[[PDFDestination alloc] initWithPage:page atPoint:point] autorelease]; - if (fits && [pdfView respondsToSelector:@selector(fits)]) - [(BDSKZoomablePDFView *)pdfView setFits:fits]; + if (autoFits && [pdfView respondsToSelector:@selector(setAutoFits:)]) + [(BDSKZoomablePDFView *)pdfView setAutoFits:autoFits]; // Delayed to allow PDFView to finish its bookkeeping // fixes bug of apparently ignoring the point but getting the page right. @@ -301,9 +301,8 @@ - (NSDictionary *)currentSetup { NSView *clipView = [[[pdfView documentView] enclosingScrollView] contentView]; NSRect rect = [pdfView convertRect:[pdfView convertRect:[clipView bounds] fromView:clipView] toPage:[pdfView currentPage]]; - float factor = [pdfView autoScales] ? 0.0 : [pdfView scaleFactor]; - BOOL fits = [pdfView respondsToSelector:@selector(fits)] && [(BDSKZoomablePDFView *)pdfView fits]; - return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:[self pageIndex]], @"page", NSStringFromRect(rect), @"rect", [NSNumber numberWithFloat:factor], @"scaleFactor", [NSNumber numberWithBool:fits], @"fits", [NSNumber numberWithBool:[[self window] isVisible]], @"hasWindow", nil]; + BOOL autoFits = [pdfView respondsToSelector:@selector(autoFits)] && [(BDSKZoomablePDFView *)pdfView autoFits]; + return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:[self pageIndex]], @"page", NSStringFromRect(rect), @"rect", [NSNumber numberWithFloat:[pdfView scaleFactor]], @"scaleFactor", [NSNumber numberWithBool:autoFits], @"autoFits", [NSNumber numberWithBool:[[self window] isVisible]], @"hasWindow", nil]; } #pragma mark Thumbnails 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 Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit