Revision: 28361
http://sourceforge.net/p/bibdesk/svn/28361
Author: hofman
Date: 2023-09-20 15:29:55 +0000 (Wed, 20 Sep 2023)
Log Message:
-----------
dependent key for checking date conditions, binding to propertoes of string
properties is dangerous as the string can go away
Modified Paths:
--------------
trunk/bibdesk/BDSKCondition.h
trunk/bibdesk/BDSKCondition.m
trunk/bibdesk/Base.lproj/BDSKCondition.xib
Modified: trunk/bibdesk/BDSKCondition.h
===================================================================
--- trunk/bibdesk/BDSKCondition.h 2023-09-20 14:09:32 UTC (rev 28360)
+++ trunk/bibdesk/BDSKCondition.h 2023-09-20 15:29:55 UTC (rev 28361)
@@ -148,6 +148,7 @@
@property (nonatomic, readonly, getter=isDateCondition) BOOL dateCondition;
@property (nonatomic, readonly, getter=isAttachmentCondition) BOOL
attachmentCondition;
+@property (nonatomic, readonly, getter=isStringCondition) BOOL stringCondition;
@property (nonatomic, assign) id<BDSKSmartGroup> group;
Modified: trunk/bibdesk/BDSKCondition.m
===================================================================
--- trunk/bibdesk/BDSKCondition.m 2023-09-20 14:09:32 UTC (rev 28360)
+++ trunk/bibdesk/BDSKCondition.m 2023-09-20 15:29:55 UTC (rev 28361)
@@ -57,8 +57,15 @@
@implementation BDSKCondition
++ (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key {
+ NSSet *keyPaths = [super keyPathsForValuesAffectingValueForKey:key];
+ if ([key isEqualToString:@"stringCondition"] || [key
isEqualToString:@"attachmentCondition"] || [key
isEqualToString:@"dateCondition"])
+ keyPaths = [keyPaths setByAddingObjectsFromSet:[NSSet
setWithObjects:@"key", nil]];
+ return keyPaths;
+}
+
@synthesize key, stringComparison, stringValue, attachmentComparison,
countValue, dateComparison, numberValue, andNumberValue, periodValue,
dateValue, toDateValue, group;
-@dynamic dictionaryValue, value, comparison, dateCondition,
attachmentCondition;
+@dynamic dictionaryValue, value, comparison, dateCondition,
attachmentCondition, stringCondition;
+ (NSString *)dictionaryVersion {
return @"1";
@@ -514,6 +521,10 @@
return [key fieldType] == BDSKLinkedField;
}
+- (BOOL)isStringCondition {
+ return [key fieldType] == BDSKStringField;
+}
+
- (void)setDefaultComparison {
// set some default comparison
switch ([key fieldType]) {
Modified: trunk/bibdesk/Base.lproj/BDSKCondition.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BDSKCondition.xib 2023-09-20 14:09:32 UTC (rev
28360)
+++ trunk/bibdesk/Base.lproj/BDSKCondition.xib 2023-09-20 15:29:55 UTC (rev
28361)
@@ -89,38 +89,22 @@
<menuItem title="does not contain
part" tag="1" id="232"/>
<menuItem title="contains" tag="2"
id="234">
<connections>
- <binding destination="403"
name="enabled" keyPath="selection.key.fieldType" id="EqW-mp-J85">
- <dictionary key="options">
- <string
key="NSValueTransformerName">BDSKIsTwo</string>
- </dictionary>
- </binding>
+ <binding destination="403"
name="enabled" keyPath="selection.stringCondition" id="24g-iB-xap"/>
</connections>
</menuItem>
<menuItem title="does not contain"
tag="3" id="228">
<connections>
- <binding destination="403"
name="enabled" keyPath="selection.key.fieldType" id="k60-s5-hgf">
- <dictionary key="options">
- <string
key="NSValueTransformerName">BDSKIsTwo</string>
- </dictionary>
- </binding>
+ <binding destination="403"
name="enabled" keyPath="selection.stringCondition" id="Ig1-gD-uYL"/>
</connections>
</menuItem>
<menuItem title="starts with" tag="6"
id="227">
<connections>
- <binding destination="403"
name="enabled" keyPath="selection.key.fieldType" id="t47-bH-Xy3">
- <dictionary key="options">
- <string
key="NSValueTransformerName">BDSKIsTwo</string>
- </dictionary>
- </binding>
+ <binding destination="403"
name="enabled" keyPath="selection.stringCondition" id="YhR-vw-kDr"/>
</connections>
</menuItem>
<menuItem title="ends with" tag="7"
id="229">
<connections>
- <binding destination="403"
name="enabled" keyPath="selection.key.fieldType" id="5dn-VM-LaN">
- <dictionary key="options">
- <string
key="NSValueTransformerName">BDSKIsTwo</string>
- </dictionary>
- </binding>
+ <binding destination="403"
name="enabled" keyPath="selection.stringCondition" id="Hne-QV-ro1"/>
</connections>
</menuItem>
<menuItem title="comes before" tag="8"
id="230"/>
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