Revision: 13983
http://sourceforge.net/p/skim-app/code/13983
Author: hofman
Date: 2023-12-24 22:51:08 +0000 (Sun, 24 Dec 2023)
Log Message:
-----------
Use array KVC methods directly. Implement only array KVC methods for downloads
that are used.
Modified Paths:
--------------
trunk/SKDownloadController.h
trunk/SKDownloadController.m
trunk/SKMainWindowController.m
Modified: trunk/SKDownloadController.h
===================================================================
--- trunk/SKDownloadController.h 2023-12-24 22:24:30 UTC (rev 13982)
+++ trunk/SKDownloadController.h 2023-12-24 22:51:08 UTC (rev 13983)
@@ -75,7 +75,7 @@
@property (nonatomic, readonly) NSUInteger countOfDownloads;
- (SKDownload *)objectInDownloadsAtIndex:(NSUInteger)anIndex;
- (void)insertObject:(SKDownload *)download
inDownloadsAtIndex:(NSUInteger)anIndex;
-- (void)removeObjectFromDownloadsAtIndex:(NSUInteger)anIndex;
+- (void)removeDownloadsAtIndexes:(NSIndexSet *)indexes;
// these notify and animate, so should be used to add/remove downloads
- (void)addObjectToDownloads:(SKDownload *)download;
Modified: trunk/SKDownloadController.m
===================================================================
--- trunk/SKDownloadController.m 2023-12-24 22:24:30 UTC (rev 13982)
+++ trunk/SKDownloadController.m 2023-12-24 22:51:08 UTC (rev 13983)
@@ -233,11 +233,11 @@
[self updateClearButton];
}
-- (void)removeObjectFromDownloadsAtIndex:(NSUInteger)anIndex {
- SKDownload *download = [downloads objectAtIndex:anIndex];
- [self endObservingDownloads:@[download]];
- [download cancel];
- [downloads removeObjectAtIndex:anIndex];
+- (void)removeDownloadsAtIndexes:(NSIndexSet *)indexes {
+ NSArray *oldDownloads = [downloads objectsAtIndexes:indexes];
+ [self endObservingDownloads:oldDownloads];
+ [downloads makeObjectsPerformSelector:@selector(cancel)];
+ [downloads removeObjectsAtIndexes:indexes];
[self updateClearButton];
}
@@ -260,7 +260,7 @@
options = NSTableViewAnimationEffectNone;
[tableView beginUpdates];
[tableView removeRowsAtIndexes:indexes withAnimation:options];
- [[self mutableArrayValueForKey:DOWNLOADS_KEY]
removeObjectsAtIndexes:indexes];
+ [self removeDownloadsAtIndexes:indexes];
[tableView endUpdates];
}
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2023-12-24 22:24:30 UTC (rev 13982)
+++ trunk/SKMainWindowController.m 2023-12-24 22:51:08 UTC (rev 13983)
@@ -2165,7 +2165,7 @@
}
if ([annotation isSkimNote] && mwcFlags.addOrRemoveNotesInBulk == 0) {
mwcFlags.updatingNoteSelection = 1;
- [[self mutableArrayValueForKey:NOTES_KEY] addObject:annotation];
+ [self insertObject:annotation inNotesAtIndex:[notes count]];
[rightSideController.noteArrayController rearrangeObjects]; //
doesn't seem to be done automatically
mwcFlags.updatingNoteSelection = 0;
[rightSideController.noteOutlineView reloadData];
@@ -2203,7 +2203,9 @@
[[self windowControllerForNote:annotation] close];
mwcFlags.updatingNoteSelection = 1;
- [[self mutableArrayValueForKey:NOTES_KEY] removeObject:annotation];
+ 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];
@@ -2318,12 +2320,12 @@
[controller setThumbnail:image];
if (openType == SKSnapshotOpenFromSetup) {
- [[self mutableArrayValueForKey:SNAPSHOTS_KEY] addObject:controller];
+ [self insertObject:controller inSnapshotsAtIndex:[snapshots count]];
[rightSideController.snapshotTableView reloadData];
} else {
if (openType == SKSnapshotOpenNormal) {
[rightSideController.snapshotTableView beginUpdates];
- [[self mutableArrayValueForKey:SNAPSHOTS_KEY]
addObject:controller];
+ [self insertObject:controller inSnapshotsAtIndex:[snapshots
count]];
NSUInteger row = [[rightSideController.snapshotArrayController
arrangedObjects] indexOfObject:controller];
if (row != NSNotFound) {
NSTableViewAnimationOptions options =
NSTableViewAnimationEffectGap | NSTableViewAnimationSlideDown;
@@ -2349,7 +2351,9 @@
options = NSTableViewAnimationEffectNone;
[rightSideController.snapshotTableView
removeRowsAtIndexes:[NSIndexSet indexSetWithIndex:row] withAnimation:options];
}
- [[self mutableArrayValueForKey:SNAPSHOTS_KEY] removeObject:controller];
+ NSUInteger i = [snapshots indexOfObject:controller];
+ if (i != NSNotFound)
+ [self removeObjectFromSnapshotsAtIndex:i];
[rightSideController.snapshotTableView endUpdates];
[self setRecentInfoNeedsUpdate:YES];
}
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