Revision: 4857
          http://skim-app.svn.sourceforge.net/skim-app/?rev=4857&view=rev
Author:   hofman
Date:     2008-10-24 09:10:34 +0000 (Fri, 24 Oct 2008)

Log Message:
-----------
scroll secondary pdfview back to previous location after pdf reload

Modified Paths:
--------------
    trunk/SKMainWindowController.m

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2008-10-23 14:45:46 UTC (rev 4856)
+++ trunk/SKMainWindowController.m      2008-10-24 09:10:34 UTC (rev 4857)
@@ -720,13 +720,17 @@
 
     if ([pdfView document] != document) {
         
-        unsigned pageIndex = NSNotFound;
-        NSRect visibleRect = NSZeroRect;
+        unsigned pageIndex = NSNotFound, secondaryPageIndex = NSNotFound;
+        NSRect visibleRect = NSZeroRect, secondaryVisibleRect = NSZeroRect;
         NSArray *snapshotDicts = nil;
         
         if ([pdfView document]) {
             pageIndex = [[pdfView currentPage] pageIndex];
             visibleRect = [pdfView convertRect:[pdfView convertRect:[[pdfView 
documentView] visibleRect] fromView:[pdfView documentView]] toPage:[pdfView 
currentPage]];
+            if (secondaryPdfView) {
+                secondaryPageIndex = [[secondaryPdfView currentPage] 
pageIndex];
+                secondaryVisibleRect = [secondaryPdfView 
convertRect:[secondaryPdfView convertRect:[[secondaryPdfView documentView] 
visibleRect] fromView:[secondaryPdfView documentView]] toPage:[secondaryPdfView 
currentPage]];
+            }
             
             [[pdfView document] cancelFindString];
             [temporaryAnnotationTimer invalidate];
@@ -770,12 +774,27 @@
         
         [self showSnapshotsWithSetups:snapshotDicts];
         
-        if (pageIndex != NSNotFound && [document pageCount]) {
-            PDFPage *page = [document pageAtIndex:MIN(pageIndex, [document 
pageCount] - 1)];
-            [pdfView goToPage:page];
+        if ([document pageCount] && (pageIndex != NSNotFound || 
secondaryPageIndex != NSNotFound)) {
+            PDFPage *page = nil;
+            PDFPage *secondaryPage = nil;
+            if (pageIndex != NSNotFound) {
+                page = [document pageAtIndex:MIN(pageIndex, [document 
pageCount] - 1)];
+                [pdfView goToPage:page];
+            }
+            if (secondaryPageIndex != NSNotFound) {
+                secondaryPage = [document pageAtIndex:MIN(secondaryPageIndex, 
[document pageCount] - 1)];
+                [secondaryPdfView goToPage:secondaryPage];
+            }
             [[pdfView window] disableFlushWindow];
-            [pdfView display];
-            [[pdfView documentView] scrollRectToVisible:[pdfView 
convertRect:[pdfView convertRect:visibleRect fromPage:page] toView:[pdfView 
documentView]]];
+            if (page) {
+                [pdfView display];
+                [[pdfView documentView] scrollRectToVisible:[pdfView 
convertRect:[pdfView convertRect:visibleRect fromPage:page] toView:[pdfView 
documentView]]];
+            }
+            if (secondaryPage) {
+                if ([secondaryPdfView window])
+                    [secondaryPdfView display];
+                [[secondaryPdfView documentView] 
scrollRectToVisible:[secondaryPdfView convertRect:[secondaryPdfView 
convertRect:secondaryVisibleRect fromPage:secondaryPage] 
toView:[secondaryPdfView documentView]]];
+            }
             [[pdfView window] enableFlushWindow];
         }
         


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 the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to