Revision: 15179
http://sourceforge.net/p/skim-app/code/15179
Author: hofman
Date: 2025-05-10 16:23:00 +0000 (Sat, 10 May 2025)
Log Message:
-----------
Separate method to preview page transitions, soit will also animat when the
page label does not change and the previewer can wait until after the page was
displayed.
Modified Paths:
--------------
trunk/SKPresentationOptionsSheetController.m
trunk/SKPresentationView.h
trunk/SKPresentationView.m
Modified: trunk/SKPresentationOptionsSheetController.m
===================================================================
--- trunk/SKPresentationOptionsSheetController.m 2025-05-10 15:51:27 UTC
(rev 15178)
+++ trunk/SKPresentationOptionsSheetController.m 2025-05-10 16:23:00 UTC
(rev 15179)
@@ -373,15 +373,18 @@
DISPATCH_MAIN_AFTER_SEC(1.0, ^{
- [previewView goToNextPage:nil];
+ [previewView animateToNextPage:^{
+
+ DISPATCH_MAIN_AFTER_SEC(1.0 + [info duration], ^{
+
+ if ([previewWindow isKeyWindow])
+ [[self window] makeKeyWindow];
+ [previewWindow orderOut:nil];
+
+ });
+
+ }];
- DISPATCH_MAIN_AFTER_SEC(1.0 + [info duration], ^{
-
- if ([previewWindow isKeyWindow])
- [[self window] makeKeyWindow];
- [previewWindow orderOut:nil];
-
- });
});
}
Modified: trunk/SKPresentationView.h
===================================================================
--- trunk/SKPresentationView.h 2025-05-10 15:51:27 UTC (rev 15178)
+++ trunk/SKPresentationView.h 2025-05-10 16:23:00 UTC (rev 15179)
@@ -58,6 +58,8 @@
- (void)goToNextPage:(nullable id)sender;
- (void)goToPreviousPage:(nullable id)sender;
+- (void)animateToNextPage:(void (^)(void))didDisplay;
+
@end
#pragma mark -
Modified: trunk/SKPresentationView.m
===================================================================
--- trunk/SKPresentationView.m 2025-05-10 15:51:27 UTC (rev 15178)
+++ trunk/SKPresentationView.m 2025-05-10 16:23:00 UTC (rev 15179)
@@ -180,6 +180,19 @@
return YES;
}
+- (void)animateToNextPage:(void (^)(void))didDisplay {
+ PDFDocument *pdfDoc = [page document];
+ NSUInteger idx = [page pageIndex];
+ if (idx + 1 < [pdfDoc pageCount]) {
+ PDFPage *toPage = [pdfDoc pageAtIndex:idx + 1];
+ [transitionController animateView:self forRect:[self pageRect:page]
toRect:[self pageRect:toPage] atIndex:idx forward:YES change:^(void
(^done)(void)){
+ page = toPage;
+ [self displayPage:done ? ^{ done(); didDisplay(); } : didDisplay];
+ [[NSNotificationCenter defaultCenter]
postNotificationName:SKPresentationViewPageChangedNotification object:self];
+ }];
+ }
+}
+
- (void)goToNextPage:(id)sender {
PDFDocument *pdfDoc = [page document];
NSUInteger idx = [page pageIndex];
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