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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit