Revision: 15381 http://sourceforge.net/p/skim-app/code/15381 Author: hofman Date: 2025-06-05 22:44:19 +0000 (Thu, 05 Jun 2025) Log Message: ----------- update thumbnails and snapshots in bulk when adding or removing notes in bulk
Modified Paths: -------------- trunk/SKMainWindowController.m Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-06-05 22:28:30 UTC (rev 15380) +++ trunk/SKMainWindowController.m 2025-06-05 22:44:19 UTC (rev 15381) @@ -1055,6 +1055,15 @@ undoGroupOldPropertiesPerNote = nil; [rightSideController.noteOutlineView reloadData]; [self updateThumbnailsAtPageIndexes:pageIndexes]; + for (SKSnapshotWindowController *wc in snapshots) { + [pageIndexes enumerateIndexesUsingBlock:^(NSUInteger i, BOOL *stop){ + PDFPage *page = [pdfDoc pageAtIndex:i]; + if ([wc isPageVisible:page]) { + [self snapshotNeedsUpdate:wc lowPriority:NO]; + *stop = YES; + } + }]; + } [pdfView resetPDFToolTipRects]; } @@ -2213,10 +2222,12 @@ [rightSideController.noteOutlineView reloadData]; } if (page) { - [self updateThumbnailAtPageIndex:[page pageIndex]]; - for (SKSnapshotWindowController *wc in snapshots) { - if ([wc isPageVisible:page]) - [self snapshotNeedsUpdate:wc lowPriority:NO]; + if (mwcFlags.addOrRemoveNotesInBulk == 0) { + [self updateThumbnailAtPageIndex:[page pageIndex]]; + for (SKSnapshotWindowController *wc in snapshots) { + if ([wc isPageVisible:page]) + [self snapshotNeedsUpdate:wc lowPriority:NO]; + } } [secondaryPdfView addedAnnotation:annotation onPage:page]; if ([self interactionMode] == SKPresentationMode) @@ -2261,10 +2272,12 @@ [rightSideController.noteOutlineView reloadData]; } if (page) { - [self updateThumbnailAtPageIndex:[page pageIndex]]; - for (SKSnapshotWindowController *wc in snapshots) { - if ([wc isPageVisible:page]) - [self snapshotNeedsUpdate:wc lowPriority:NO]; + if (mwcFlags.addOrRemoveNotesInBulk == 0) { + [self updateThumbnailAtPageIndex:[page pageIndex]]; + for (SKSnapshotWindowController *wc in snapshots) { + if ([wc isPageVisible:page]) + [self snapshotNeedsUpdate:wc lowPriority:NO]; + } } [secondaryPdfView removedAnnotation:annotation onPage:page]; if ([self interactionMode] == SKPresentationMode) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit