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