Revision: 14672
          http://sourceforge.net/p/skim-app/code/14672
Author:   hofman
Date:     2024-11-11 15:45:12 +0000 (Mon, 11 Nov 2024)
Log Message:
-----------
save only page index and snapshots in recernt document bookmarks rather than 
full setup

Modified Paths:
--------------
    trunk/NSDocument_SKExtensions.m
    trunk/SKBookmark.h
    trunk/SKBookmark.m
    trunk/SKBookmarkController.h
    trunk/SKBookmarkController.m
    trunk/SKMainDocument.m
    trunk/SKNotesDocument.m

Modified: trunk/NSDocument_SKExtensions.m
===================================================================
--- trunk/NSDocument_SKExtensions.m     2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/NSDocument_SKExtensions.m     2024-11-11 15:45:12 UTC (rev 14672)
@@ -143,7 +143,7 @@
                     {
                         PDFPage *page = [self currentPage];
                         NSUInteger pageIndex = page ? [page pageIndex] : 
NSNotFound;
-                        bookmark = [[SKBookmark alloc] initWithURL:[self 
fileURL] pageIndex:pageIndex label:label];
+                        bookmark = [[SKBookmark alloc] initWithURL:[self 
fileURL] pageIndex:pageIndex snapshots:nil label:label];
                         break;
                     }
                     case SKAddBookmarkTypeSetup:

Modified: trunk/SKBookmark.h
===================================================================
--- trunk/SKBookmark.h  2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/SKBookmark.h  2024-11-11 15:45:12 UTC (rev 14672)
@@ -54,7 +54,7 @@
 
 + (NSArray *)bookmarksForURLs:(NSArray<NSURL *> *)urls;
 
-- (nullable instancetype)initWithURL:(NSURL *)aURL 
pageIndex:(NSUInteger)aPageIndex label:(nullable NSString *)aLabel;
+- (nullable instancetype)initWithURL:(NSURL *)aURL 
pageIndex:(NSUInteger)aPageIndex snapshots:(nullable 
NSArray<NSDictionary<NSString *, id> *> *)aSnapshots label:(nullable NSString 
*)aLabel;
 - (nullable instancetype)initWithSetup:(NSDictionary<NSString *, id> 
*)aSetupDict label:(nullable NSString *)aLabel;
 - (nullable instancetype)initFolderWithChildren:(nullable NSArray<SKBookmark 
*> *)aChildren label:(nullable NSString *)aLabel;
 - (nullable instancetype)initRootWithChildrenProperties:(nullable 
NSArray<NSDictionary<NSString *, id> *> *)childrenProperties;

Modified: trunk/SKBookmark.m
===================================================================
--- trunk/SKBookmark.m  2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/SKBookmark.m  2024-11-11 15:45:12 UTC (rev 14672)
@@ -132,7 +132,7 @@
                 [array addObject:bookmark];
             }
         } else if ((docClass = [dc documentClassForType:fileType])) {
-            if ((bookmark = [[self alloc] initWithURL:url pageIndex:([docClass 
isPDFDocument] ? 0 : NSNotFound) label:label])) {
+            if ((bookmark = [[self alloc] initWithURL:url pageIndex:([docClass 
isPDFDocument] ? 0 : NSNotFound) snapshots:nil label:label])) {
                 [array addObject:bookmark];
             }
         }
@@ -141,7 +141,7 @@
     return array;
 }
 
-- (instancetype)initWithURL:(NSURL *)aURL pageIndex:(NSUInteger)aPageIndex 
label:(NSString *)aLabel {
+- (instancetype)initWithURL:(NSURL *)aURL pageIndex:(NSUInteger)aPageIndex 
snapshots:(NSArray *)aSnapshots label:(NSString *)aLabel {
     [self doesNotRecognizeSelector:_cmd];
     return nil;
 }
@@ -318,8 +318,8 @@
     return nil;
 }
 
-- (instancetype)initWithURL:(NSURL *)aURL pageIndex:(NSUInteger)aPageIndex 
label:(NSString *)aLabel {
-    return (id)[[SKFileBookmark alloc] initWithURL:aURL pageIndex:aPageIndex 
label:aLabel];
+- (instancetype)initWithURL:(NSURL *)aURL pageIndex:(NSUInteger)aPageIndex 
snapshots:(NSArray *)aSnapshots label:(NSString *)aLabel {
+    return (id)[[SKFileBookmark alloc] initWithURL:aURL pageIndex:aPageIndex 
snapshots:aSnapshots label:aLabel];
 }
 
 - (instancetype)initWithSetup:(NSDictionary *)aSetupDict label:(NSString 
*)aLabel {
@@ -437,7 +437,7 @@
     return icon;
 }
 
-- (instancetype)initWithURL:(NSURL *)aURL pageIndex:(NSUInteger)aPageIndex 
label:(NSString *)aLabel {
+- (instancetype)initWithURL:(NSURL *)aURL pageIndex:(NSUInteger)aPageIndex 
snapshots:(NSArray *)aSnapshots label:(NSString *)aLabel {
     self = [super init];
     if (self) {
         alias = [[SKAlias alloc] initWithURL:aURL];
@@ -444,7 +444,7 @@
         if (alias) {
             pageIndex = aPageIndex;
             label = [aLabel copy];
-            setup = nil;
+            setup = [aSnapshots count] > 0 ? @{SNAPSHOTS_KEY:aSnapshots} : nil;
         } else {
             self = nil;
         }
@@ -733,7 +733,7 @@
                             aPageNumber = [docClass isPDFDocument] ? 0 : 
NSNotFound;
                         if (aLabel == nil)
                             [aURL getResourceValue:&aLabel 
forKey:NSURLLocalizedNameKey error:NULL];
-                        bookmark = [[SKBookmark alloc] initWithURL:aURL 
pageIndex:aPageNumber label:aLabel ?: @""];
+                        bookmark = [[SKBookmark alloc] initWithURL:aURL 
pageIndex:aPageNumber snapshots:nil label:aLabel ?: @""];
                     }
                 } else {
                     [[NSScriptCommand currentCommand] 
setScriptErrorNumber:NSArgumentsWrongScriptError];

Modified: trunk/SKBookmarkController.h
===================================================================
--- trunk/SKBookmarkController.h        2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/SKBookmarkController.h        2024-11-11 15:45:12 UTC (rev 14672)
@@ -91,7 +91,7 @@
 - (void)removeBookmarkAtIndex:(NSUInteger)anIndex ofBookmark:(SKBookmark 
*)parent animate:(BOOL)animate;
 - (void)replaceBookmarkAtIndex:(NSUInteger)anIndex ofBookmark:(SKBookmark 
*)parent withBookmark:(SKBookmark *)bookmark animate:(BOOL)animate;
 
-- (BOOL)addRecentDocument:(NSDocument *)document;
+- (BOOL)addRecentDocumentForURL:(NSURL *)fileURL 
pageIndex:(NSUInteger)pageIndex snapshots:(nullable 
NSArray<NSDictionary<NSString *, id> *> *)snapshots;
 - (NSUInteger)pageIndexForRecentDocumentAtURL:(NSURL *)fileURL;
 - (NSArray<NSDictionary<NSString *, id> *> 
*)snapshotsForRecentDocumentAtURL:(NSURL *)fileURL;
 

Modified: trunk/SKBookmarkController.m
===================================================================
--- trunk/SKBookmarkController.m        2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/SKBookmarkController.m        2024-11-11 15:45:12 UTC (rev 14672)
@@ -246,10 +246,9 @@
     return nil;
 }
 
-- (BOOL)addRecentDocument:(NSDocument *)document {
-    NSURL *fileURL = [document fileURL];
+- (BOOL)addRecentDocumentForURL:(NSURL *)fileURL 
pageIndex:(NSUInteger)pageIndex snapshots:(NSArray *)snapshots {
     if (fileURL) {
-        SKBookmark *info = [[SKBookmark alloc] initWithSetup:[document 
currentDocumentSetup] label:nil];
+        SKBookmark *info = [[SKBookmark alloc] initWithURL:fileURL 
pageIndex:pageIndex snapshots:snapshots label:nil];
         if (info) {
             SKBookmark *oldInfo = [self recentDocumentAtURL:fileURL];
             if (oldInfo)

Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m      2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/SKMainDocument.m      2024-11-11 15:45:12 UTC (rev 14672)
@@ -235,7 +235,10 @@
 
 - (void)saveRecentDocumentInfo:(BOOL)forced {
     if (forced || [[self mainWindowController] recentInfoNeedsUpdate]) {
-        if ([[SKBookmarkController sharedBookmarkController] 
addRecentDocument:self])
+        NSURL *fileURL = [self fileURL];
+        NSUInteger pageIndex = [[[self pdfView] currentPage] pageIndex];
+        NSArray *snapshots = [[[self mainWindowController] snapshots] 
valueForKey:SKSnapshotCurrentSetupKey];
+        if ([[SKBookmarkController sharedBookmarkController] 
addRecentDocumentForURL:fileURL pageIndex:pageIndex snapshots:[snapshots count] 
> 0 ? snapshots : nil])
             [[self mainWindowController] setRecentInfoNeedsUpdate:NO];
     }
 }

Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m     2024-11-11 15:20:00 UTC (rev 14671)
+++ trunk/SKNotesDocument.m     2024-11-11 15:45:12 UTC (rev 14672)
@@ -430,7 +430,7 @@
 
 - (void)saveRecentDocumentInfo:(BOOL)forced {
     if (forced || ndFlags.recentInfoNeedsUpdate) {
-        if ([[SKBookmarkController sharedBookmarkController] 
addRecentDocument:self])
+        if ([[SKBookmarkController sharedBookmarkController] 
addRecentDocumentForURL:[self fileURL] pageIndex:NSNotFound snapshots:nil])
             ndFlags.recentInfoNeedsUpdate = NO;
     }
 }

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