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