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

Reply via email to