Revision: 27768
http://sourceforge.net/p/bibdesk/svn/27768
Author: hofman
Date: 2022-07-24 23:23:41 +0000 (Sun, 24 Jul 2022)
Log Message:
-----------
only reload after calling datasource when the controller did not reload as a
result of changes
Modified Paths:
--------------
trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.h
trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m
Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.h
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.h 2022-07-24
22:57:43 UTC (rev 27767)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.h 2022-07-24
23:23:41 UTC (rev 27768)
@@ -234,6 +234,7 @@
unsigned int scheduledLiveResize:1;
unsigned int updatingFromSlider:1;
unsigned int hasArrows:1;
+ unsigned int needsReload:1;
unsigned int controllingSharedPreviewer:1;
unsigned int controllingQLPreviewPanel:1;
} _fvFlags;
Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2022-07-24
22:57:43 UTC (rev 27767)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2022-07-24
23:23:41 UTC (rev 27768)
@@ -415,6 +415,8 @@
_fvFlags.updatingFromSlider = NO;
+ _fvFlags.needsReload = NO;
+
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(_handleFinderLabelChanged:)
name:FVFinderLabelDidChangeNotification object:nil];
}
@@ -1919,6 +1921,8 @@
}
[self _resetViewLayout];
+
+ _fvFlags.needsReload = NO;
}
- (void)_handleFinderLabelChanged:(NSNotification *)note {
@@ -2717,9 +2721,12 @@
{
// only called if we originated the drag, so the row/column must be valid
if ((operation & NSDragOperationDelete) != 0 && operation !=
NSDragOperationEvery && [self isEditable]) {
- [[self dataSource] fileView:self
deleteURLsAtIndexes:[[_selectionIndexes retain] autorelease]];
- [self _setSelectionIndexes:[NSIndexSet indexSet]];
- [self reloadIcons];
+ _fvFlags.needsReload = YES;
+ if ([[self dataSource] fileView:self
deleteURLsAtIndexes:[[_selectionIndexes retain] autorelease]]) {
+ [self _setSelectionIndexes:[NSIndexSet indexSet]];
+ if (_fvFlags.needsReload)
+ [self reloadIcons];
+ }
}
}
@@ -2803,9 +2810,12 @@
{
// only called if we originated the drag, so the row/column must be valid
if ((operation & NSDragOperationDelete) != 0 && operation !=
NSDragOperationEvery && [self isEditable]) {
- [[self dataSource] fileView:self
deleteURLsAtIndexes:[[_selectionIndexes retain] autorelease]];
- [self _setSelectionIndexes:[NSIndexSet indexSet]];
- [self reloadIcons];
+ _fvFlags.needsReload = YES;
+ if ([[self dataSource] fileView:self
deleteURLsAtIndexes:[[_selectionIndexes retain] autorelease]]) {
+ [self _setSelectionIndexes:[NSIndexSet indexSet]];
+ if (_fvFlags.needsReload)
+ [self reloadIcons];
+ }
}
}
@@ -2960,7 +2970,8 @@
{
_dropIndex = NSNotFound;
_fvFlags.dropOperation = FVDropBefore;
- [self setNeedsDisplay:YES];
+ if (_fvFlags.needsReload)
+ [self reloadIcons];
}
// only invoked if performDragOperation returned YES
@@ -3014,6 +3025,8 @@
allURLs = [NSArray arrayWithObject:[allURLs objectAtIndex:0]];
}
+ _fvFlags.needsReload = YES;
+
if (isCopy) {
NSMutableArray *copiedURLs = [NSMutableArray array];
NSEnumerator *urlEnum = [allURLs objectEnumerator];
@@ -3881,9 +3894,10 @@
- (IBAction)delete:(id)sender;
{
+ _fvFlags.needsReload = YES;
if (NO == [self isEditable] || NO == [[self dataSource] fileView:self
deleteURLsAtIndexes:[[_selectionIndexes retain] autorelease]])
NSBeep();
- else
+ else if (_fvFlags.needsReload)
[self reloadIcons];
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit