Revision: 15382
          http://sourceforge.net/p/skim-app/code/15382
Author:   hofman
Date:     2025-06-05 22:55:12 +0000 (Thu, 05 Jun 2025)
Log Message:
-----------
No need to check forr page from notifications. Reorganise code to check for 
bulk once.

Modified Paths:
--------------
    trunk/SKMainWindowController.m

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2025-06-05 22:44:19 UTC (rev 15381)
+++ trunk/SKMainWindowController.m      2025-06-05 22:55:12 UTC (rev 15382)
@@ -2203,36 +2203,34 @@
         if (presentationNotes == nil)
             presentationNotes = [[NSMutableArray alloc] init];
         [presentationNotes addObject:annotation];
-        if (page) {
-            [self updateThumbnailAtPageIndex:[page pageIndex]];
-            [presentationView setNeedsDisplayForPage:page];
-        }
+        [self updateThumbnailAtPageIndex:[page pageIndex]];
+        [presentationView setNeedsDisplayForPage:page];
     } else {
         [[undoManager prepareWithInvocationTarget:[notification object]] 
removeAnnotation:annotation];
         
-        if ([annotation isSkimNote] && mwcFlags.addOrRemoveNotesInBulk == 0) {
+        if (mwcFlags.addOrRemoveNotesInBulk == 0) {
             if ([annotation isSkimNote]) {
-                [annotation setShouldDisplay:[pdfView hideNotes] == NO];
-                [annotation setShouldPrint:[pdfView hideNotes] == NO];
-            }
-            mwcFlags.updatingNoteSelection = 1;
-            [self insertObject:annotation inNotesAtIndex:[notes count]];
-            [rightSideController.noteArrayController rearrangeObjects]; // 
doesn't seem to be done automatically
-            mwcFlags.updatingNoteSelection = 0;
-            [rightSideController.noteOutlineView reloadData];
-        }
-        if (page) {
-            if (mwcFlags.addOrRemoveNotesInBulk == 0) {
-                [self updateThumbnailAtPageIndex:[page pageIndex]];
-                for (SKSnapshotWindowController *wc in snapshots) {
-                    if ([wc isPageVisible:page])
-                        [self snapshotNeedsUpdate:wc lowPriority:NO];
+                if ([annotation isSkimNote]) {
+                    [annotation setShouldDisplay:[pdfView hideNotes] == NO];
+                    [annotation setShouldPrint:[pdfView hideNotes] == NO];
                 }
+                mwcFlags.updatingNoteSelection = 1;
+                [self insertObject:annotation inNotesAtIndex:[notes count]];
+                [rightSideController.noteArrayController rearrangeObjects]; // 
doesn't seem to be done automatically
+                mwcFlags.updatingNoteSelection = 0;
+                [rightSideController.noteOutlineView reloadData];
             }
-            [secondaryPdfView addedAnnotation:annotation onPage:page];
-            if ([self interactionMode] == SKPresentationMode)
-                [presentationView setNeedsDisplayForPage:page];
+            
+            [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)
+            [presentationView setNeedsDisplayForPage:page];
     }
 }
 
@@ -2247,42 +2245,40 @@
             [[[self presentationUndoManager] 
prepareWithInvocationTarget:[notification object]] addAnnotation:annotation 
toPage:page];
             
             [presentationNotes removeObject:annotation];
-            if (page) {
-                [self updateThumbnailAtPageIndex:[page pageIndex]];
-                [presentationView setNeedsDisplayForPage:page];
-            }
-        } else if (page) {
             [self updateThumbnailAtPageIndex:[page pageIndex]];
+            [presentationView setNeedsDisplayForPage:page];
+        } else {
+            [self updateThumbnailAtPageIndex:[page pageIndex]];
         }
     } else {
         [[undoManager prepareWithInvocationTarget:[notification object]] 
addAnnotation:annotation toPage:page];
         
-        if ([annotation isSkimNote] && mwcFlags.addOrRemoveNotesInBulk == 0) {
-            if ([[self selectedNotes] containsObject:annotation])
-                [rightSideController.noteOutlineView deselectAll:self];
+        if (mwcFlags.addOrRemoveNotesInBulk == 0) {
+            if ([annotation isSkimNote]) {
+                if ([[self selectedNotes] containsObject:annotation])
+                    [rightSideController.noteOutlineView deselectAll:self];
+                
+                [[self windowControllerForNote:annotation] close];
+                
+                mwcFlags.updatingNoteSelection = 1;
+                NSUInteger i = [notes indexOfObject:annotation];
+                if (i != NSNotFound)
+                    [self removeObjectFromNotesAtIndex:i];
+                [rightSideController.noteArrayController rearrangeObjects]; // 
doesn't seem to be done automatically
+                mwcFlags.updatingNoteSelection = 0;
+                [rightSideController.noteOutlineView reloadData];
+            }
             
-            [[self windowControllerForNote:annotation] close];
-            
-            mwcFlags.updatingNoteSelection = 1;
-            NSUInteger i = [notes indexOfObject:annotation];
-            if (i != NSNotFound)
-                [self removeObjectFromNotesAtIndex:i];
-            [rightSideController.noteArrayController rearrangeObjects]; // 
doesn't seem to be done automatically
-            mwcFlags.updatingNoteSelection = 0;
-            [rightSideController.noteOutlineView reloadData];
-        }
-        if (page) {
-            if (mwcFlags.addOrRemoveNotesInBulk == 0) {
-                [self updateThumbnailAtPageIndex:[page pageIndex]];
-                for (SKSnapshotWindowController *wc in snapshots) {
-                    if ([wc isPageVisible:page])
-                        [self snapshotNeedsUpdate:wc lowPriority:NO];
-                }
+            [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)
-                [presentationView setNeedsDisplayForPage:page];
         }
+        
+        [secondaryPdfView removedAnnotation:annotation onPage:page];
+        if ([self interactionMode] == SKPresentationMode)
+            [presentationView setNeedsDisplayForPage:page];
     }
 }
 
@@ -2294,23 +2290,20 @@
     
     [[[[self document] undoManager] prepareWithInvocationTarget:[notification 
object]] moveAnnotation:annotation toPage:oldPage];
     
-    if (oldPage || newPage) {
-        if (oldPage)
-            [self updateThumbnailAtPageIndex:[oldPage pageIndex]];
-        if (newPage)
-            [self updateThumbnailAtPageIndex:[newPage pageIndex]];
-        for (SKSnapshotWindowController *wc in snapshots) {
-            if ([wc isPageVisible:oldPage] || [wc isPageVisible:newPage])
-                [self snapshotNeedsUpdate:wc lowPriority:NO];
-        }
-        [secondaryPdfView removedAnnotation:annotation onPage:oldPage];
-        [secondaryPdfView addedAnnotation:annotation onPage:newPage];
-        if ([self interactionMode] == SKPresentationMode) {
-            [presentationView setNeedsDisplayForPage:oldPage];
-            [presentationView setNeedsDisplayForPage:newPage];
-        }
+    [self updateThumbnailAtPageIndex:[oldPage pageIndex]];
+    [self updateThumbnailAtPageIndex:[newPage pageIndex]];
+    for (SKSnapshotWindowController *wc in snapshots) {
+        if ([wc isPageVisible:oldPage] || [wc isPageVisible:newPage])
+            [self snapshotNeedsUpdate:wc lowPriority:NO];
     }
     
+    [secondaryPdfView removedAnnotation:annotation onPage:oldPage];
+    [secondaryPdfView addedAnnotation:annotation onPage:newPage];
+    if ([self interactionMode] == SKPresentationMode) {
+        [presentationView setNeedsDisplayForPage:oldPage];
+        [presentationView setNeedsDisplayForPage:newPage];
+    }
+    
     [rightSideController.noteArrayController rearrangeObjects];
     [rightSideController.noteOutlineView reloadData];
 }

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