Revision: 15962
http://sourceforge.net/p/skim-app/code/15962
Author: hofman
Date: 2026-01-05 17:01:52 +0000 (Mon, 05 Jan 2026)
Log Message:
-----------
rewrite conditions for performFit
Modified Paths:
--------------
trunk/SKMainWindowController_Actions.m
Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m 2026-01-05 15:49:45 UTC (rev
15961)
+++ trunk/SKMainWindowController_Actions.m 2026-01-05 17:01:52 UTC (rev
15962)
@@ -885,16 +885,19 @@
}
PDFDisplayMode displayMode = [[self pdfView] displayMode];
- BOOL horizontal = [[self pdfView] displayDirection] ==
kPDFDisplayDirectionHorizontal && displayMode ==
kPDFDisplaySinglePageContinuous;
NSUInteger pageCount = [[[self pdfView] document] pageCount];
- BOOL isSingleRow;
+ BOOL multiplColumns = NO, multipleRows = NO;
- if ((displayMode & kPDFDisplaySinglePageContinuous) == 0 || horizontal)
- isSingleRow = YES;
- else if (displayMode == kPDFDisplaySinglePageContinuous || [[self pdfView]
displaysAsBook])
- isSingleRow = pageCount <= 1;
- else
- isSingleRow = pageCount <= 2;
+ if (pageCount > 1) {
+ if (displayMode == kPDFDisplaySinglePageContinuous) {
+ if ([[self pdfView] displayDirection] ==
kPDFDisplayDirectionHorizontal)
+ multiplColumns = YES;
+ else
+ multipleRows = YES;
+ } else if (displayMode == kPDFDisplayTwoUpContinuous) {
+ multipleRows = pageCount > 2 || [[self pdfView] displaysAsBook];
+ }
+ }
NSRect frame = [[self window] frame];
NSSize size, oldSize = [[self pdfView] frame].size;
@@ -903,20 +906,20 @@
NSRect pageRect;
CGFloat scrollerWidth = [NSScroller effectiveScrollerWidth];
- if ((displayMode & kPDFDisplaySinglePageContinuous) != 0)
+ if (multipleRows || multiplColumns)
pageRect = [pdfView boundsIncludingMarginsForPage:page];
oldSize.height -= [[[self pdfView] embeddedScrollView] contentInsets].top;
// Calculate the new size for the pdfView
- if (horizontal && pageCount > 1)
+ if (multiplColumns)
size.width = NSWidth([[self pdfView] convertRect:pageRect
fromPage:page]);
else
size.width = NSWidth(documentRect);
- if (isSingleRow)
+ if (multipleRows)
+ size.height = NSHeight([[self pdfView] convertRect:pageRect
fromPage:page]);
+ else
size.height = NSHeight(documentRect);
- else
- size.height = NSHeight([[self pdfView] convertRect:pageRect
fromPage:page]);
if ([[self pdfView] autoScales]) {
CGFloat scaleFactor = [[self pdfView] scaleFactor];
size.width /= scaleFactor;
@@ -923,9 +926,9 @@
size.height /= scaleFactor;
}
if (scrollerWidth > 0.0) {
- if (isSingleRow == NO)
+ if (multipleRows)
size.width += scrollerWidth;
- else if (horizontal && pageCount > 1)
+ else if (multiplColumns)
size.height += scrollerWidth;
}
@@ -939,7 +942,7 @@
[[self window] setFrame:frame display:[[self window] isVisible]];
- if ((displayMode & kPDFDisplaySinglePageContinuous) != 0)
+ if (multipleRows || multiplColumns)
[[self pdfView] goToRect:pageRect onPage:page];
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit