Revision: 15368
http://sourceforge.net/p/skim-app/code/15368
Author: hofman
Date: 2025-06-05 09:14:44 +0000 (Thu, 05 Jun 2025)
Log Message:
-----------
Set pageindex and snapshots from non-setup bookmarks, if available, before
opening document, so it can be applied on opening
Modified Paths:
--------------
trunk/SKDocumentController.m
trunk/SKMainWindowController.m
Modified: trunk/SKDocumentController.m
===================================================================
--- trunk/SKDocumentController.m 2025-06-04 14:52:15 UTC (rev 15367)
+++ trunk/SKDocumentController.m 2025-06-05 09:14:44 UTC (rev 15368)
@@ -415,22 +415,17 @@
NSURL *fileURL = [bookmark fileURLToOpen];
if (fileURL && [fileURL checkResourceIsReachableAndReturnError:NULL]
&& NO == [fileURL isTrashedFileURL]) {
- BOOL hasSetup = [bookmark hasSetup];
NSDictionary *setup = nil;
- if (hasSetup)
+ if ([bookmark hasSetup])
setup = [bookmark properties];
else if ([bookmark pageIndex] != NSNotFound)
setup = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber
numberWithUnsignedInteger:[bookmark pageIndex]], @"pageIndex", [bookmark
snapshots], @"snapshots", nil];
- [self openDocumentWithContentsOfURL:fileURL display:hasSetup == NO
completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError
*error){
+ [self openDocumentWithContentsOfURL:fileURL display:setup == nil
completionHandler:^(NSDocument *document, BOOL documentWasAlreadyOpen, NSError
*error){
if (document && setup) {
- if (hasSetup) {
- if (documentWasAlreadyOpen == NO)
- [document makeWindowControllers];
- [document applySetup:setup];
- [document showWindows];
- } else {
- [document applySetup:setup];
- }
+ if (documentWasAlreadyOpen == NO)
+ [document makeWindowControllers];
+ [document applySetup:setup];
+ [document showWindows];
}
if (completionHandler)
completionHandler(document, documentWasAlreadyOpen, error);
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2025-06-04 14:52:15 UTC (rev 15367)
+++ trunk/SKMainWindowController.m 2025-06-05 09:14:44 UTC (rev 15368)
@@ -287,10 +287,11 @@
}
- (void)windowDidLoad{
- NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
- BOOL hasWindowSetup = [savedNormalSetup count] > 0;
+ // savedNormalSetup can contain pageIndex and snapshots from non-setup
bnookmarks
+ BOOL hasWindowSetup = [savedNormalSetup count] > 2;
NSWindow *window = [self window];
NSDocument *doc = [self document];
+ NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
mwcFlags.needsCleanup = 0;
@@ -429,10 +430,11 @@
}
// Go to page?
+ NSNumber *pageNumber = [savedNormalSetup objectForKey:PAGEINDEX_KEY];
NSUInteger pageIndex = NSNotFound;
NSString *pointString = nil;
- if (hasWindowSetup) {
- pageIndex = [[savedNormalSetup objectForKey:PAGEINDEX_KEY]
unsignedIntegerValue];
+ if (pageNumber) {
+ pageIndex = [pageNumber unsignedIntegerValue];
pointString = [savedNormalSetup objectForKey:SCROLLPOINT_KEY];
} else if ([sud boolForKey:SKRememberLastPageViewedKey]) {
pageIndex = [[SKBookmarkController sharedBookmarkController]
pageIndexForRecentDocumentAtURL:[doc fileURL]];
@@ -465,10 +467,8 @@
}
// Open snapshots?
- NSArray *snapshotSetups = nil;
- if (hasWindowSetup)
- snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY];
- else if ([sud boolForKey:SKRememberSnapshotsKey])
+ NSArray *snapshotSetups = [savedNormalSetup objectForKey:SNAPSHOTS_KEY];
+ if (snapshotSetups == nil && [sud boolForKey:SKRememberSnapshotsKey])
snapshotSetups = [[SKBookmarkController sharedBookmarkController]
snapshotsForRecentDocumentAtURL:[doc fileURL]];
if ([snapshotSetups count]) {
if ([[pdfView document] isLocked])
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