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

Reply via email to