Revision: 29350
http://sourceforge.net/p/bibdesk/svn/29350
Author: hofman
Date: 2025-07-24 14:39:30 +0000 (Thu, 24 Jul 2025)
Log Message:
-----------
macro to set bit in mask if needed
Modified Paths:
--------------
trunk/bibdesk/BibDocument_UI.m
Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m 2025-07-24 14:12:25 UTC (rev 29349)
+++ trunk/bibdesk/BibDocument_UI.m 2025-07-24 14:39:30 UTC (rev 29350)
@@ -1401,6 +1401,8 @@
docFlags.itemChangeMask = 0;
}
+#define SET_ITEMCHANGEMASK_BIT(maskbit, condition) if
((docFlags.itemChangeMask & BDSKItemChanged##maskbit##Mask) == 0 &&
(condition)) docFlags.itemChangeMask |= BDSKItemChanged##maskbit##Mask
+
- (void)handleBibItemChangedNotification:(NSNotification *)notification{
BibItem *pub = [notification object];
@@ -1493,18 +1495,12 @@
if (docFlags.isDocumentClosed == NO) {
if (isEdit == NO) {
- if ((docFlags.itemChangeMask & BDSKItemChangedGroupFieldMask) == 0
&& groupFieldsDependOnKey([self currentGroupFields], changedKey))
- docFlags.itemChangeMask |= BDSKItemChangedGroupFieldMask;
- if ((docFlags.itemChangeMask & BDSKItemChangedSmartGroupMask) == 0
&& smartGroupsDependOnKey([[groups smartGroups]
valueForKeyPath:@"@distinctUnionOfArrays.filter.conditions.key"], changedKey))
- docFlags.itemChangeMask |= BDSKItemChangedSmartGroupMask;
- if ((docFlags.itemChangeMask & BDSKItemChangedSortKeyMask) == 0 &&
(sortKeyDependsOnKey(sortKey, changedKey) ||
sortKeyDependsOnKey(previousSortKey, changedKey)))
- docFlags.itemChangeMask |= BDSKItemChangedSortKeyMask;
- if ((docFlags.itemChangeMask & BDSKItemChangedSearchKeyMask) == 0
&& [self displaysControlView:BDSKControlViewSearch] &&
searchKeyDependsOnKey([searchButtonBar selectedIdentifier], changedKey))
- docFlags.itemChangeMask |= BDSKItemChangedSearchKeyMask;
- if ((docFlags.itemChangeMask & BDSKItemChangedFilesMask) == 0 &&
([changedKey isEqualToString:BDSKLocalFileString] || [changedKey
isEqualToString:BDSKRemoteURLString] ||
- (docFlags.showingURLFields && ([changedKey
isEqualToString:BDSKLocalUrlString] || [changedKey
isEqualToString:BDSKUrlString]))))
- docFlags.itemChangeMask |= BDSKItemChangedFilesMask;
- docFlags.itemChangeMask |= BDSKItemChangedFieldMask;
+ SET_ITEMCHANGEMASK_BIT(GroupField, groupFieldsDependOnKey([self
currentGroupFields], changedKey));
+ SET_ITEMCHANGEMASK_BIT(SmartGroup, smartGroupsDependOnKey([[groups
smartGroups] valueForKeyPath:@"@distinctUnionOfArrays.filter.conditions.key"],
changedKey));
+ SET_ITEMCHANGEMASK_BIT(SortKey, sortKeyDependsOnKey(sortKey,
changedKey) || sortKeyDependsOnKey(previousSortKey, changedKey));
+ SET_ITEMCHANGEMASK_BIT(SearchKey, [self
displaysControlView:BDSKControlViewSearch] &&
searchKeyDependsOnKey([searchButtonBar selectedIdentifier], changedKey));
+ SET_ITEMCHANGEMASK_BIT(Files, [changedKey
isEqualToString:BDSKLocalFileString] || [changedKey
isEqualToString:BDSKRemoteURLString] || (docFlags.showingURLFields &&
([changedKey isEqualToString:BDSKLocalUrlString] || [changedKey
isEqualToString:BDSKUrlString])));
+ SET_ITEMCHANGEMASK_BIT(Field, YES);
// queue for UI updating, in case the item is changed as part of a
batch process such as Find & Replace or AutoFile
[self performSelectorOnce:@selector(handlePrivateBibItemChanged)
withObject:nil afterDelay:0.0];
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