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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit