You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(2) |
May
(8) |
Jun
|
Jul
(17) |
Aug
(1) |
Sep
(14) |
Oct
(28) |
Nov
(34) |
Dec
(43) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(37) |
Feb
(52) |
Mar
(130) |
Apr
(52) |
May
(23) |
Jun
(48) |
Jul
(78) |
Aug
(97) |
Sep
(73) |
Oct
(53) |
Nov
(148) |
Dec
(322) |
| 2005 |
Jan
(164) |
Feb
(259) |
Mar
(287) |
Apr
(413) |
May
(272) |
Jun
(231) |
Jul
(353) |
Aug
(363) |
Sep
(245) |
Oct
(361) |
Nov
(802) |
Dec
(493) |
| 2006 |
Jan
(345) |
Feb
(438) |
Mar
(388) |
Apr
(283) |
May
(416) |
Jun
(216) |
Jul
(180) |
Aug
(442) |
Sep
(150) |
Oct
(454) |
Nov
(416) |
Dec
(338) |
| 2007 |
Jan
(516) |
Feb
(512) |
Mar
(364) |
Apr
(152) |
May
(165) |
Jun
(93) |
Jul
(106) |
Aug
(160) |
Sep
(160) |
Oct
(256) |
Nov
(421) |
Dec
(418) |
| 2008 |
Jan
(620) |
Feb
(180) |
Mar
(236) |
Apr
(163) |
May
(196) |
Jun
(281) |
Jul
(175) |
Aug
(72) |
Sep
(56) |
Oct
(95) |
Nov
(73) |
Dec
(82) |
| 2009 |
Jan
(261) |
Feb
(340) |
Mar
(371) |
Apr
(334) |
May
(131) |
Jun
(104) |
Jul
(125) |
Aug
(106) |
Sep
(106) |
Oct
(133) |
Nov
(268) |
Dec
(201) |
| 2010 |
Jan
(183) |
Feb
(112) |
Mar
(77) |
Apr
(52) |
May
(79) |
Jun
(49) |
Jul
(46) |
Aug
(44) |
Sep
(95) |
Oct
(225) |
Nov
(203) |
Dec
(60) |
| 2011 |
Jan
(58) |
Feb
(33) |
Mar
(66) |
Apr
(57) |
May
(49) |
Jun
(72) |
Jul
(44) |
Aug
(66) |
Sep
(53) |
Oct
(49) |
Nov
(62) |
Dec
(83) |
| 2012 |
Jan
(109) |
Feb
(70) |
Mar
(47) |
Apr
(37) |
May
(43) |
Jun
(44) |
Jul
(40) |
Aug
(34) |
Sep
(18) |
Oct
(65) |
Nov
(114) |
Dec
(47) |
| 2013 |
Jan
(46) |
Feb
(51) |
Mar
(49) |
Apr
(47) |
May
(37) |
Jun
(64) |
Jul
(45) |
Aug
(36) |
Sep
(42) |
Oct
(36) |
Nov
(54) |
Dec
(58) |
| 2014 |
Jan
(42) |
Feb
(33) |
Mar
(48) |
Apr
(105) |
May
(58) |
Jun
(39) |
Jul
(53) |
Aug
(32) |
Sep
(34) |
Oct
(56) |
Nov
(34) |
Dec
(27) |
| 2015 |
Jan
(51) |
Feb
(62) |
Mar
(37) |
Apr
(36) |
May
(41) |
Jun
(31) |
Jul
(25) |
Aug
(32) |
Sep
(49) |
Oct
(80) |
Nov
(33) |
Dec
(32) |
| 2016 |
Jan
(35) |
Feb
(55) |
Mar
(58) |
Apr
(51) |
May
(33) |
Jun
(52) |
Jul
(35) |
Aug
(66) |
Sep
(37) |
Oct
(42) |
Nov
(32) |
Dec
(33) |
| 2017 |
Jan
(48) |
Feb
(11) |
Mar
(70) |
Apr
(30) |
May
(43) |
Jun
(27) |
Jul
(33) |
Aug
(34) |
Sep
(27) |
Oct
(50) |
Nov
(22) |
Dec
(33) |
| 2018 |
Jan
(157) |
Feb
(238) |
Mar
(75) |
Apr
(40) |
May
(72) |
Jun
(105) |
Jul
(93) |
Aug
(73) |
Sep
(146) |
Oct
(213) |
Nov
(101) |
Dec
(136) |
| 2019 |
Jan
(213) |
Feb
(84) |
Mar
(210) |
Apr
(117) |
May
(77) |
Jun
(61) |
Jul
(189) |
Aug
(79) |
Sep
(87) |
Oct
(95) |
Nov
(55) |
Dec
(79) |
| 2020 |
Jan
(80) |
Feb
(79) |
Mar
(40) |
Apr
(51) |
May
(41) |
Jun
(79) |
Jul
(37) |
Aug
(37) |
Sep
(34) |
Oct
(65) |
Nov
(62) |
Dec
(169) |
| 2021 |
Jan
(233) |
Feb
(61) |
Mar
(107) |
Apr
(131) |
May
(305) |
Jun
(210) |
Jul
(199) |
Aug
(248) |
Sep
(201) |
Oct
(120) |
Nov
(54) |
Dec
(45) |
| 2022 |
Jan
(34) |
Feb
(18) |
Mar
(79) |
Apr
(55) |
May
(118) |
Jun
(150) |
Jul
(112) |
Aug
(74) |
Sep
(124) |
Oct
(77) |
Nov
(36) |
Dec
(66) |
| 2023 |
Jan
(15) |
Feb
(8) |
Mar
(22) |
Apr
(39) |
May
(31) |
Jun
(33) |
Jul
(28) |
Aug
(1) |
Sep
(47) |
Oct
(30) |
Nov
(56) |
Dec
(26) |
| 2024 |
Jan
(192) |
Feb
(129) |
Mar
(19) |
Apr
(38) |
May
(42) |
Jun
|
Jul
(3) |
Aug
(17) |
Sep
(5) |
Oct
(19) |
Nov
(7) |
Dec
(1) |
| 2025 |
Jan
(7) |
Feb
(96) |
Mar
(11) |
Apr
(159) |
May
(18) |
Jun
(6) |
Jul
(134) |
Aug
(108) |
Sep
(131) |
Oct
(110) |
Nov
(163) |
Dec
(19) |
| 2026 |
Jan
(42) |
Feb
(104) |
Mar
(94) |
Apr
(142) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <ho...@us...> - 2026-04-29 17:19:36
|
Revision: 30322
http://sourceforge.net/p/bibdesk/svn/30322
Author: hofman
Date: 2026-04-29 17:19:34 +0000 (Wed, 29 Apr 2026)
Log Message:
-----------
use typeename in enum values
Modified Paths:
--------------
trunk/bibdesk/BDSKFilter.h
trunk/bibdesk/BDSKFilter.m
trunk/bibdesk/BDSKGroup+Scripting.m
Modified: trunk/bibdesk/BDSKFilter.h
===================================================================
--- trunk/bibdesk/BDSKFilter.h 2026-04-29 17:07:25 UTC (rev 30321)
+++ trunk/bibdesk/BDSKFilter.h 2026-04-29 17:19:34 UTC (rev 30322)
@@ -41,8 +41,8 @@
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, BDSKConjunction) {
- BDSKAnd = 0,
- BDSKOr = 1
+ BDSKConjunctionAnd = 0,
+ BDSKConjunctionOr = 1
};
@protocol BDSKSmartGroup;
Modified: trunk/bibdesk/BDSKFilter.m
===================================================================
--- trunk/bibdesk/BDSKFilter.m 2026-04-29 17:07:25 UTC (rev 30321)
+++ trunk/bibdesk/BDSKFilter.m 2026-04-29 17:19:34 UTC (rev 30322)
@@ -51,7 +51,7 @@
@dynamic dictionaryValue, conditions, undoManager;
- (instancetype)init {
- return [self initWithConditions:@[[[BDSKCondition alloc] init]] conjunction:BDSKAnd];
+ return [self initWithConditions:@[[[BDSKCondition alloc] init]] conjunction:BDSKConjunctionAnd];
}
- (instancetype)initWithConditions:(NSArray *)aConditions conjunction:(BDSKConjunction)aConjunction {
@@ -111,7 +111,7 @@
}
- (NSString *)description {
- return [NSString stringWithFormat:@"%@ conditions=\"%@\" conjunction=\"%@\"", [super description], conditions, (conjunction == BDSKAnd ? @"AND" : @"OR")];
+ return [NSString stringWithFormat:@"%@ conditions=\"%@\" conjunction=\"%@\"", [super description], conditions, (conjunction == BDSKConjunctionAnd ? @"AND" : @"OR")];
}
- (NSDictionary *)dictionaryValue {
@@ -139,7 +139,7 @@
if ([conditions count] == 0)
return YES;
- BOOL isOr = (conjunction == BDSKOr);
+ BOOL isOr = (conjunction == BDSKConjunctionOr);
for (BDSKCondition *condition in conditions) {
if ([condition isSatisfiedByItem:item] == isOr)
Modified: trunk/bibdesk/BDSKGroup+Scripting.m
===================================================================
--- trunk/bibdesk/BDSKGroup+Scripting.m 2026-04-29 17:07:25 UTC (rev 30321)
+++ trunk/bibdesk/BDSKGroup+Scripting.m 2026-04-29 17:19:34 UTC (rev 30322)
@@ -397,11 +397,11 @@
}
- (BOOL)satisfyAll {
- return [[self filter] conjunction] == BDSKAnd;
+ return [[self filter] conjunction] == BDSKConjunctionAnd;
}
- (void)setSatisfyAll:(BOOL)flag {
- return [[self filter] setConjunction:flag ? BDSKAnd : BDSKOr];
+ return [[self filter] setConjunction:flag ? BDSKConjunctionAnd : BDSKConjunctionOr];
}
@end
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-29 17:07:26
|
Revision: 30321
http://sourceforge.net/p/bibdesk/svn/30321
Author: hofman
Date: 2026-04-29 17:07:25 +0000 (Wed, 29 Apr 2026)
Log Message:
-----------
remove unused macro
Modified Paths:
--------------
trunk/bibdesk/BDSKFilterController.m
Modified: trunk/bibdesk/BDSKFilterController.m
===================================================================
--- trunk/bibdesk/BDSKFilterController.m 2026-04-29 16:52:12 UTC (rev 30320)
+++ trunk/bibdesk/BDSKFilterController.m 2026-04-29 17:07:25 UTC (rev 30321)
@@ -43,7 +43,6 @@
#import "BDSKTouchBarButtonGroup.h"
#import "NSAnimationContext_BDSKExtensions.h"
-#define MAX_HEIGHT 320.0
#define SCROLLVIEW_MARGIN 8.0
#define BDSKTouchBarItemIdentifierButtons @"edu.ucsd.mmccrack.bibdesk.touchbar-item.buttons"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-29 16:52:15
|
Revision: 30320
http://sourceforge.net/p/bibdesk/svn/30320
Author: hofman
Date: 2026-04-29 16:52:12 +0000 (Wed, 29 Apr 2026)
Log Message:
-----------
don't animate removing conditions when disabbling animations
Modified Paths:
--------------
trunk/bibdesk/BDSKFilterController.m
Modified: trunk/bibdesk/BDSKFilterController.m
===================================================================
--- trunk/bibdesk/BDSKFilterController.m 2026-04-29 16:49:34 UTC (rev 30319)
+++ trunk/bibdesk/BDSKFilterController.m 2026-04-29 16:52:12 UTC (rev 30320)
@@ -247,17 +247,30 @@
NSView *view = [aConditionController view];
NSArray *subviews = [conditionsView subviews];
NSUInteger idx = [subviews indexOfObjectIdenticalTo:view];
+ NSTimeInterval duration = [NSAnimationContext defaultAnimationTimeInterval];
if (idx != NSNotFound) {
NSView *prevView = idx == 0 ? nil : [subviews objectAtIndex:idx - 1];
NSView *nextView = idx + 1 == [subviews count] ? nil : [subviews objectAtIndex:idx + 1];
- NSLayoutConstraint *heightConstraint = [aConditionController heightConstraint];
- CGFloat height = [heightConstraint constant];
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
- [[heightConstraint animator] setConstant:0.0];
- } completionHandler:^{
- [heightConstraint setConstant:height];
+ if (duration > 0.0) {
+ NSLayoutConstraint *heightConstraint = [aConditionController heightConstraint];
+ CGFloat height = [heightConstraint constant];
+ [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
+ [context setDuration:duration];
+ [[heightConstraint animator] setConstant:0.0];
+ } completionHandler:^{
+ [heightConstraint setConstant:height];
+ [view removeFromSuperview];
+ [verticalConstraints removeObjectAtIndex:idx];
+ [verticalConstraints removeObjectAtIndex:idx];
+ if (prevView || nextView) {
+ NSLayoutConstraint *constraint = [(nextView ? [nextView topAnchor] : [conditionsView bottomAnchor]) constraintEqualToAnchor:(prevView ? [prevView bottomAnchor] : [conditionsView topAnchor])];
+ [constraint setActive:YES];
+ [verticalConstraints insertObject:constraint atIndex:idx];
+ }
+ }];
+ } else {
[view removeFromSuperview];
[verticalConstraints removeObjectAtIndex:idx];
[verticalConstraints removeObjectAtIndex:idx];
@@ -266,7 +279,7 @@
[constraint setActive:YES];
[verticalConstraints insertObject:constraint atIndex:idx];
}
- }];
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-29 16:49:38
|
Revision: 30319
http://sourceforge.net/p/bibdesk/svn/30319
Author: hofman
Date: 2026-04-29 16:49:34 +0000 (Wed, 29 Apr 2026)
Log Message:
-----------
use default animation duration
Modified Paths:
--------------
trunk/bibdesk/BDSKFilterController.m
Modified: trunk/bibdesk/BDSKFilterController.m
===================================================================
--- trunk/bibdesk/BDSKFilterController.m 2026-04-29 16:47:16 UTC (rev 30318)
+++ trunk/bibdesk/BDSKFilterController.m 2026-04-29 16:49:34 UTC (rev 30319)
@@ -209,6 +209,7 @@
if (duration > 0.0) {
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
+ [context setDuration:duration];
[[heightConstraint animator] setConstant:height];
} completionHandler:^{
[conditionsView scrollRectToVisible:[view frame]];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-29 16:47:18
|
Revision: 30318
http://sourceforge.net/p/bibdesk/svn/30318
Author: hofman
Date: 2026-04-29 16:47:16 +0000 (Wed, 29 Apr 2026)
Log Message:
-----------
don't animate adding/removing conditions when disabbling animations
Modified Paths:
--------------
trunk/bibdesk/BDSKFilterController.m
Modified: trunk/bibdesk/BDSKFilterController.m
===================================================================
--- trunk/bibdesk/BDSKFilterController.m 2026-04-29 08:42:52 UTC (rev 30317)
+++ trunk/bibdesk/BDSKFilterController.m 2026-04-29 16:47:16 UTC (rev 30318)
@@ -41,6 +41,7 @@
#import "NSWindowController_BDSKExtensions.h"
#import "NSInvocation_BDSKExtensions.h"
#import "BDSKTouchBarButtonGroup.h"
+#import "NSAnimationContext_BDSKExtensions.h"
#define MAX_HEIGHT 320.0
#define SCROLLVIEW_MARGIN 8.0
@@ -178,10 +179,12 @@
NSArray *subviews = [conditionsView subviews];
NSView *prevView = idx == 0 ? nil : [subviews objectAtIndex:idx - 1];
NSView *nextView = idx == [subviews count] ? nil : [subviews objectAtIndex:idx];
+ NSTimeInterval duration = [NSAnimationContext defaultAnimationTimeInterval];
NSLayoutConstraint *heightConstraint = [aConditionController heightConstraint];
CGFloat height = [heightConstraint constant];
- [heightConstraint setConstant:0.0];
+ if (duration > 0.0)
+ [heightConstraint setConstant:0.0];
[conditionsView addSubview:view positioned:prevView ? NSWindowAbove : NSWindowBelow relativeTo:prevView];
if (nextView || prevView) {
@@ -204,11 +207,15 @@
[constraint setActive:YES];
[verticalConstraints insertObject:constraint atIndex:idx];
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
- [[heightConstraint animator] setConstant:height];
- } completionHandler:^{
+ if (duration > 0.0) {
+ [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
+ [[heightConstraint animator] setConstant:height];
+ } completionHandler:^{
+ [conditionsView scrollRectToVisible:[view frame]];
+ }];
+ } else {
[conditionsView scrollRectToVisible:[view frame]];
- }];
+ }
}
- (void)addConditionViews:(NSArray *)views {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-29 08:42:55
|
Revision: 30317
http://sourceforge.net/p/bibdesk/svn/30317
Author: hofman
Date: 2026-04-29 08:42:52 +0000 (Wed, 29 Apr 2026)
Log Message:
-----------
Make smart group condition control small size. Remove box around smart group condition controls, use bordered scroll view instead.
Modified Paths:
--------------
trunk/bibdesk/BDSKConditionController.m
trunk/bibdesk/Base.lproj/BDSKCondition.xib
trunk/bibdesk/Base.lproj/BDSKFilter.xib
Modified: trunk/bibdesk/BDSKConditionController.m
===================================================================
--- trunk/bibdesk/BDSKConditionController.m 2026-04-27 16:47:47 UTC (rev 30316)
+++ trunk/bibdesk/BDSKConditionController.m 2026-04-29 08:42:52 UTC (rev 30317)
@@ -103,7 +103,7 @@
- (void)viewDidLoad {
[super viewDidLoad];
- retainedViews = [[NSArray alloc] initWithObjects:
+ retainedViews = @[
[dateComparisonPopUp superview],
[attachmentComparisonPopUp superview],
[comparisonPopUp superview],
@@ -118,8 +118,11 @@
[booleanButton superview],
[triStateButton superview],
[ratingButton superview],
- [colorWell superview], nil];
+ [colorWell superview]];
+ // cannot set the controlSize of an NSColorWell in IB
+ [colorWell setControlSize:NSControlSizeSmall];
+
[ratingButton setRating:[[[self condition] stringValue] integerValue]];
BDSKFieldNameFormatter *fieldFormatter = [[BDSKFieldNameFormatter alloc] init];
@@ -233,11 +236,11 @@
for (NSView *aView in controls) {
[valueView addSubview:aView];
- if (prevView)
- [[[aView leadingAnchor] constraintEqualToAnchor:[prevView trailingAnchor]] setActive:YES];
- else
- [[[aView leadingAnchor] constraintEqualToAnchor:[valueView leadingAnchor]] setActive:YES];
- [[[aView centerYAnchor] constraintEqualToAnchor:[valueView centerYAnchor]] setActive:YES];
+ [NSLayoutConstraint activateConstraints:@[
+ [[aView leadingAnchor] constraintEqualToAnchor:prevView ? [prevView trailingAnchor] : [valueView leadingAnchor]],
+ [[aView topAnchor] constraintEqualToAnchor:[valueView topAnchor]],
+ [[valueView bottomAnchor] constraintEqualToAnchor:[aView bottomAnchor]]
+ ]];
prevView = aView;
}
}
@@ -259,7 +262,8 @@
[NSLayoutConstraint activateConstraints:@[
[[view leadingAnchor] constraintEqualToAnchor:[comparisonView leadingAnchor]],
[[comparisonView trailingAnchor] constraintEqualToAnchor:[view trailingAnchor]],
- [[view centerYAnchor] constraintEqualToAnchor:[comparisonView centerYAnchor]]]];
+ [[view topAnchor] constraintEqualToAnchor:[comparisonView topAnchor]],
+ [[comparisonView bottomAnchor] constraintEqualToAnchor:[view bottomAnchor]]]];
}
}
Modified: trunk/bibdesk/Base.lproj/BDSKCondition.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-27 16:47:47 UTC (rev 30316)
+++ trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-29 08:42:52 UTC (rev 30317)
@@ -40,45 +40,11 @@
<customView translatesAutoresizingMaskIntoConstraints="NO" id="jel-H7-HfV" userLabel="Comparison Views">
<rect key="frame" x="0.0" y="0.0" width="163" height="147"/>
<subviews>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="358">
- <rect key="frame" x="0.0" y="55" width="163" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="224" userLabel="Comparison View">
+ <rect key="frame" x="0.0" y="99" width="163" height="28"/>
<subviews>
- <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="359">
- <rect key="frame" x="4" y="6" width="155" height="19"/>
- <popUpButtonCell key="cell" type="roundRect" title="count is" bezelStyle="roundedRect" alignment="left" lineBreakMode="clipping" state="on" borderStyle="border" inset="2" selectedItem="361" id="453">
- <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" metaFont="cellTitle"/>
- <menu key="menu" id="360">
- <items>
- <menuItem title="count is" state="on" id="361"/>
- <menuItem title="count is not" tag="1" id="377"/>
- <menuItem title="count larger than" tag="2" id="365"/>
- <menuItem title="count smaller than" tag="3" id="366"/>
- <menuItem isSeparatorItem="YES" id="I7N-az-pqS"/>
- <menuItem title="contains" tag="4" id="378"/>
- <menuItem title="does not contain" tag="5" id="379"/>
- <menuItem title="starts with" tag="6" id="380"/>
- <menuItem title="ends with" tag="7" id="381"/>
- </items>
- </menu>
- </popUpButtonCell>
- <connections>
- <binding destination="-2" name="selectedTag" keyPath="representedObject.attachmentComparison" id="yiT-ja-NHF"/>
- </connections>
- </popUpButton>
- </subviews>
- <constraints>
- <constraint firstItem="359" firstAttribute="centerY" secondItem="358" secondAttribute="centerY" id="0WH-OY-9QW"/>
- <constraint firstItem="359" firstAttribute="leading" secondItem="358" secondAttribute="leading" constant="4" id="7nk-Uc-Hxw"/>
- <constraint firstAttribute="trailing" secondItem="359" secondAttribute="trailing" constant="4" id="UEk-dp-pTg"/>
- <constraint firstAttribute="height" constant="32" id="UY2-bS-yva"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="224">
- <rect key="frame" x="0.0" y="95" width="163" height="32"/>
- <subviews>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="225">
- <rect key="frame" x="4" y="6" width="155" height="19"/>
+ <rect key="frame" x="4" y="4" width="155" height="19"/>
<popUpButtonCell key="cell" type="roundRect" title="is" bezelStyle="roundedRect" alignment="left" lineBreakMode="clipping" state="on" borderStyle="border" tag="4" inset="2" selectedItem="231" id="448">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="cellTitle"/>
@@ -119,20 +85,54 @@
</popUpButton>
</subviews>
<constraints>
- <constraint firstAttribute="height" constant="32" id="HFU-2A-Ogw"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="HFU-2A-Ogw"/>
<constraint firstItem="225" firstAttribute="leading" secondItem="224" secondAttribute="leading" constant="4" id="SF7-St-kNK"/>
<constraint firstItem="225" firstAttribute="centerY" secondItem="224" secondAttribute="centerY" id="abM-uT-GCh"/>
<constraint firstAttribute="trailing" secondItem="225" secondAttribute="trailing" constant="4" id="eQA-g2-qc6"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="207">
- <rect key="frame" x="0.0" y="15" width="163" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="358" userLabel="Attachment Comparison View">
+ <rect key="frame" x="0.0" y="63" width="163" height="28"/>
<subviews>
+ <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="359">
+ <rect key="frame" x="4" y="5" width="155" height="17"/>
+ <popUpButtonCell key="cell" type="roundRect" title="count is" bezelStyle="roundedRect" alignment="left" controlSize="small" lineBreakMode="clipping" state="on" borderStyle="border" inset="2" selectedItem="361" id="453">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ <menu key="menu" id="360">
+ <items>
+ <menuItem title="count is" state="on" id="361"/>
+ <menuItem title="count is not" tag="1" id="377"/>
+ <menuItem title="count larger than" tag="2" id="365"/>
+ <menuItem title="count smaller than" tag="3" id="366"/>
+ <menuItem isSeparatorItem="YES" id="I7N-az-pqS"/>
+ <menuItem title="contains" tag="4" id="378"/>
+ <menuItem title="does not contain" tag="5" id="379"/>
+ <menuItem title="starts with" tag="6" id="380"/>
+ <menuItem title="ends with" tag="7" id="381"/>
+ </items>
+ </menu>
+ </popUpButtonCell>
+ <connections>
+ <binding destination="-2" name="selectedTag" keyPath="representedObject.attachmentComparison" id="yiT-ja-NHF"/>
+ </connections>
+ </popUpButton>
+ </subviews>
+ <constraints>
+ <constraint firstItem="359" firstAttribute="centerY" secondItem="358" secondAttribute="centerY" id="0WH-OY-9QW"/>
+ <constraint firstItem="359" firstAttribute="leading" secondItem="358" secondAttribute="leading" constant="4" id="7nk-Uc-Hxw"/>
+ <constraint firstAttribute="trailing" secondItem="359" secondAttribute="trailing" constant="4" id="UEk-dp-pTg"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="UY2-bS-yva"/>
+ </constraints>
+ </customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="207" userLabel="Date Comparison View">
+ <rect key="frame" x="0.0" y="27" width="163" height="28"/>
+ <subviews>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="208">
- <rect key="frame" x="4" y="6" width="155" height="19"/>
- <popUpButtonCell key="cell" type="roundRect" title="is today" bezelStyle="roundedRect" alignment="left" scrollable="YES" lineBreakMode="clipping" state="on" borderStyle="border" inset="2" selectedItem="217" id="447">
+ <rect key="frame" x="4" y="5" width="155" height="17"/>
+ <popUpButtonCell key="cell" type="roundRect" title="is today" bezelStyle="roundedRect" alignment="left" controlSize="small" scrollable="YES" lineBreakMode="clipping" state="on" borderStyle="border" inset="2" selectedItem="217" id="447">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" metaFont="cellTitle"/>
+ <font key="font" metaFont="smallSystem"/>
<menu key="menu" id="209">
<items>
<menuItem title="is today" state="on" id="217"/>
@@ -165,7 +165,7 @@
<constraints>
<constraint firstAttribute="trailing" secondItem="208" secondAttribute="trailing" constant="4" id="067-SO-ISN"/>
<constraint firstItem="208" firstAttribute="leading" secondItem="207" secondAttribute="leading" constant="4" id="1ug-fr-L6c"/>
- <constraint firstAttribute="height" constant="32" id="7d6-2a-YDG"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="7d6-2a-YDG"/>
<constraint firstItem="208" firstAttribute="centerY" secondItem="207" secondAttribute="centerY" id="Msa-Xx-rXp"/>
</constraints>
</customView>
@@ -184,17 +184,40 @@
<point key="canvasLocation" x="-9.5" y="-154.5"/>
</customView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="175" userLabel="Value Views">
- <rect key="frame" x="0.0" y="0.0" width="206" height="352"/>
+ <rect key="frame" x="0.0" y="0.0" width="198" height="352"/>
<subviews>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="356">
- <rect key="frame" x="0.0" y="260" width="40" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="205" userLabel="Value View">
+ <rect key="frame" x="0.0" y="304" width="100" height="28"/>
<subviews>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="206">
+ <rect key="frame" x="4" y="5" width="92" height="19"/>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="446">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="representedObject.stringValue" id="RZc-Kc-8NA"/>
+ </connections>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstItem="206" firstAttribute="centerY" secondItem="205" secondAttribute="centerY" id="NBq-aB-74q"/>
+ <constraint firstItem="206" firstAttribute="leading" secondItem="205" secondAttribute="leading" constant="4" id="NUP-YG-kzQ"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="bYn-zD-zDr"/>
+ <constraint firstAttribute="trailing" secondItem="206" secondAttribute="trailing" constant="4" id="hBw-am-bJq"/>
+ <constraint firstAttribute="width" constant="100" id="oVe-Bn-vmA"/>
+ </constraints>
+ </customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="356" userLabel="Count View">
+ <rect key="frame" x="0.0" y="268" width="40" height="28"/>
+ <subviews>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="371">
- <rect key="frame" x="4" y="6" width="32" height="20"/>
+ <rect key="frame" x="4" y="5" width="32" height="19"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="1bT-7n-y2B"/>
</constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="452">
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="452">
<numberFormatter key="formatter" formatterBehavior="10_0" positiveFormat="0" negativeFormat="-0" hasThousandSeparators="NO" thousandSeparator="." id="372">
<attributedString key="attributedStringForZero">
<fragment content="0"/>
@@ -202,7 +225,7 @@
<decimal key="minimum" value="NaN"/>
<decimal key="maximum" value="NaN"/>
</numberFormatter>
- <font key="font" metaFont="cellTitle"/>
+ <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -214,213 +237,22 @@
<constraints>
<constraint firstItem="371" firstAttribute="leading" secondItem="356" secondAttribute="leading" constant="4" id="WUR-Xu-0fG"/>
<constraint firstAttribute="trailing" secondItem="371" secondAttribute="trailing" constant="4" id="fpn-rG-Ow7"/>
- <constraint firstAttribute="height" constant="32" id="tiE-U1-ML1"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="tiE-U1-ML1"/>
<constraint firstItem="371" firstAttribute="centerY" secondItem="356" secondAttribute="centerY" id="zNO-PV-iDG"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="319">
- <rect key="frame" x="0.0" y="60" width="72" height="32"/>
- <subviews>
- <button horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="64" placeholderIntrinsicHeight="16" translatesAutoresizingMaskIntoConstraints="NO" id="320" customClass="BDSKRatingButton">
- <rect key="frame" x="4" y="8" width="64" height="16"/>
- <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="buttonCell:451:image" imagePosition="only" alignment="left" borderStyle="border" inset="2" id="451" customClass="BDSKRatingButtonCell">
- <behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
- <font key="font" metaFont="system"/>
- </buttonCell>
- <connections>
- <action selector="changeRating:" target="-2" id="341"/>
- </connections>
- </button>
- </subviews>
- <constraints>
- <constraint firstAttribute="height" constant="32" id="4wP-TN-wrL"/>
- <constraint firstItem="320" firstAttribute="leading" secondItem="319" secondAttribute="leading" constant="4" id="8AB-7M-cq7"/>
- <constraint firstItem="320" firstAttribute="centerY" secondItem="319" secondAttribute="centerY" id="aqL-P9-E9V"/>
- <constraint firstAttribute="trailing" secondItem="320" secondAttribute="trailing" constant="4" id="zh2-LR-FqQ"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="czt-Cv-T8F">
- <rect key="frame" x="0.0" y="20" width="186" height="32"/>
- <subviews>
- <colorWell horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="178" placeholderIntrinsicHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="bjW-G5-P4U" customClass="BDSKColorLabelWell">
- <rect key="frame" x="4" y="7" width="178" height="18"/>
- <color key="color" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.stringValue" id="dRe-gq-Qrs">
- <dictionary key="options">
- <string key="NSValueTransformerName">BDSKColorFromString</string>
- </dictionary>
- </binding>
- </connections>
- </colorWell>
- </subviews>
- <constraints>
- <constraint firstItem="bjW-G5-P4U" firstAttribute="leading" secondItem="czt-Cv-T8F" secondAttribute="leading" constant="4" id="ARg-tn-cd0"/>
- <constraint firstAttribute="trailing" secondItem="bjW-G5-P4U" secondAttribute="trailing" constant="4" id="goq-oX-ii7"/>
- <constraint firstItem="bjW-G5-P4U" firstAttribute="centerY" secondItem="czt-Cv-T8F" secondAttribute="centerY" id="l0n-4t-hzc"/>
- <constraint firstAttribute="height" constant="32" id="uMp-HU-OS6"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="314">
- <rect key="frame" x="0.0" y="100" width="22" height="32"/>
- <subviews>
- <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="315">
- <rect key="frame" x="2" y="7" width="18" height="18"/>
- <buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" alignment="left" allowsMixedState="YES" inset="2" id="450">
- <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
- <font key="font" metaFont="cellTitle"/>
- </buttonCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.stringValue" id="H3g-XM-FNO">
- <dictionary key="options">
- <string key="NSValueTransformerName">BDSKTriStateFromString</string>
- </dictionary>
- </binding>
- </connections>
- </button>
- </subviews>
- <constraints>
- <constraint firstItem="315" firstAttribute="centerY" secondItem="314" secondAttribute="centerY" id="BCu-Ub-Eki"/>
- <constraint firstAttribute="height" constant="32" id="I4K-H1-LrT"/>
- <constraint firstItem="315" firstAttribute="leading" secondItem="314" secondAttribute="leading" constant="4" id="R5T-mD-I4d"/>
- <constraint firstAttribute="trailing" secondItem="315" secondAttribute="trailing" constant="4" id="fBk-T9-TtY"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="299">
- <rect key="frame" x="0.0" y="140" width="22" height="32"/>
- <subviews>
- <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="312">
- <rect key="frame" x="2" y="7" width="18" height="18"/>
- <buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="449">
- <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
- <font key="font" metaFont="cellTitle"/>
- </buttonCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.stringValue" id="eXY-UC-BA4">
- <dictionary key="options">
- <string key="NSValueTransformerName">BDSKBooleanFromString</string>
- </dictionary>
- </binding>
- </connections>
- </button>
- </subviews>
- <constraints>
- <constraint firstItem="312" firstAttribute="centerY" secondItem="299" secondAttribute="centerY" id="4ft-6v-PCd"/>
- <constraint firstAttribute="height" constant="32" id="pRG-hA-Fmj"/>
- <constraint firstItem="312" firstAttribute="leading" secondItem="299" secondAttribute="leading" constant="4" id="rah-xL-3tq"/>
- <constraint firstAttribute="trailing" secondItem="312" secondAttribute="trailing" constant="4" id="uig-6b-Oy6"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="205">
- <rect key="frame" x="0.0" y="300" width="100" height="32"/>
- <subviews>
- <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="206">
- <rect key="frame" x="4" y="6" width="92" height="20"/>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="446">
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.stringValue" id="RZc-Kc-8NA"/>
- </connections>
- </textField>
- </subviews>
- <constraints>
- <constraint firstItem="206" firstAttribute="centerY" secondItem="205" secondAttribute="centerY" id="NBq-aB-74q"/>
- <constraint firstItem="206" firstAttribute="leading" secondItem="205" secondAttribute="leading" constant="4" id="NUP-YG-kzQ"/>
- <constraint firstAttribute="height" constant="32" id="bYn-zD-zDr"/>
- <constraint firstAttribute="trailing" secondItem="206" secondAttribute="trailing" constant="4" id="hBw-am-bJq"/>
- <constraint firstAttribute="width" constant="100" id="oVe-Bn-vmA"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="0VI-XT-GZ1">
- <rect key="frame" x="0.0" y="180" width="196" height="32"/>
- <subviews>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="200">
- <rect key="frame" x="0.0" y="0.0" width="88" height="32"/>
- <subviews>
- <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="201">
- <rect key="frame" x="4" y="6" width="80" height="20"/>
- <constraints>
- <constraint firstAttribute="width" constant="80" id="Yfh-fq-wKL"/>
- </constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="445">
- <dateFormatter key="formatter" dateStyle="short" id="202"/>
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.dateValue" id="NK2-uU-SsK"/>
- </connections>
- </textField>
- </subviews>
- <constraints>
- <constraint firstItem="201" firstAttribute="leading" secondItem="200" secondAttribute="leading" constant="4" id="IOm-A1-As1"/>
- <constraint firstAttribute="height" constant="32" id="XYe-KK-TZU"/>
- <constraint firstItem="201" firstAttribute="centerY" secondItem="200" secondAttribute="centerY" id="ZsH-FC-T5z"/>
- <constraint firstAttribute="trailing" secondItem="201" secondAttribute="trailing" constant="4" id="fq3-nZ-M3a"/>
- </constraints>
- </customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="196">
- <rect key="frame" x="88" y="0.0" width="108" height="32"/>
- <subviews>
- <textField horizontalHuggingPriority="750" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="199">
- <rect key="frame" x="2" y="9" width="16" height="15"/>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="to" id="444">
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- </textField>
- <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="197">
- <rect key="frame" x="24" y="6" width="80" height="20"/>
- <constraints>
- <constraint firstAttribute="width" constant="80" id="SZ7-4I-2Uc"/>
- </constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="443">
- <dateFormatter key="formatter" dateStyle="short" id="198"/>
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.toDateValue" id="YM8-np-ggo"/>
- </connections>
- </textField>
- </subviews>
- <constraints>
- <constraint firstItem="197" firstAttribute="leading" secondItem="199" secondAttribute="trailing" constant="8" symbolic="YES" id="16w-Me-C3n"/>
- <constraint firstItem="199" firstAttribute="leading" secondItem="196" secondAttribute="leading" constant="4" id="6x3-eg-uvG"/>
- <constraint firstItem="197" firstAttribute="centerY" secondItem="196" secondAttribute="centerY" id="Kuk-N2-yZh"/>
- <constraint firstAttribute="trailing" secondItem="197" secondAttribute="trailing" constant="4" id="XGx-qc-ojN"/>
- <constraint firstItem="199" firstAttribute="centerY" secondItem="196" secondAttribute="centerY" id="cVb-aY-uM1"/>
- <constraint firstAttribute="height" constant="32" id="wwd-NL-7ub"/>
- </constraints>
- </customView>
- </subviews>
- <constraints>
- <constraint firstItem="200" firstAttribute="leading" secondItem="0VI-XT-GZ1" secondAttribute="leading" id="3gt-0R-Fwf"/>
- <constraint firstAttribute="height" constant="32" id="QPX-fy-epZ"/>
- <constraint firstItem="196" firstAttribute="leading" secondItem="200" secondAttribute="trailing" id="kYN-zc-XAB"/>
- <constraint firstAttribute="trailing" secondItem="196" secondAttribute="trailing" id="mza-3R-uxF"/>
- <constraint firstItem="200" firstAttribute="centerY" secondItem="0VI-XT-GZ1" secondAttribute="centerY" id="rt4-AY-fbG"/>
- <constraint firstItem="196" firstAttribute="centerY" secondItem="0VI-XT-GZ1" secondAttribute="centerY" id="vTW-dZ-EZy"/>
- </constraints>
- </customView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Mno-Ob-CLN">
- <rect key="frame" x="0.0" y="220" width="206" height="32"/>
+ <rect key="frame" x="0.0" y="232" width="198" height="28"/>
<subviews>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="184">
- <rect key="frame" x="0.0" y="0.0" width="40" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="184" userLabel="Number View">
+ <rect key="frame" x="0.0" y="0.0" width="40" height="28"/>
<subviews>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="185">
- <rect key="frame" x="4" y="6" width="32" height="20"/>
+ <rect key="frame" x="4" y="5" width="32" height="19"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="Bv8-3H-zvN"/>
</constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="441">
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="441">
<numberFormatter key="formatter" formatterBehavior="10_0" positiveFormat="0" negativeFormat="-0" hasThousandSeparators="NO" thousandSeparator="." id="186">
<attributedString key="attributedStringForZero">
<fragment content="0"/>
@@ -428,7 +260,7 @@
<decimal key="minimum" value="NaN"/>
<decimal key="maximum" value="NaN"/>
</numberFormatter>
- <font key="font" metaFont="cellTitle"/>
+ <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -441,26 +273,26 @@
<constraint firstItem="185" firstAttribute="centerY" secondItem="184" secondAttribute="centerY" id="KTT-pe-yF4"/>
<constraint firstItem="185" firstAttribute="leading" secondItem="184" secondAttribute="leading" constant="4" id="VU5-FG-Cac"/>
<constraint firstAttribute="trailing" secondItem="185" secondAttribute="trailing" constant="4" id="cdt-MV-UB1"/>
- <constraint firstAttribute="height" constant="32" id="i3h-1n-cc9"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="i3h-1n-cc9"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="178">
- <rect key="frame" x="40" y="0.0" width="69" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="178" userLabel="And Number View">
+ <rect key="frame" x="40" y="0.0" width="68" height="28"/>
<subviews>
<textField horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="181">
- <rect key="frame" x="2" y="9" width="25" height="15"/>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="and" id="439">
- <font key="font" metaFont="cellTitle"/>
+ <rect key="frame" x="2" y="7" width="24" height="14"/>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="and" id="439">
+ <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="179">
- <rect key="frame" x="33" y="6" width="32" height="20"/>
+ <rect key="frame" x="32" y="5" width="32" height="19"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="EWT-ch-Fnk"/>
</constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="438">
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="438">
<numberFormatter key="formatter" formatterBehavior="10_0" positiveFormat="0" negativeFormat="-0" hasThousandSeparators="NO" thousandSeparator="." id="180">
<attributedString key="attributedStringForZero">
<fragment content="0"/>
@@ -468,7 +300,7 @@
<decimal key="minimum" value="NaN"/>
<decimal key="maximum" value="NaN"/>
</numberFormatter>
- <font key="font" metaFont="cellTitle"/>
+ <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -478,7 +310,7 @@
</textField>
</subviews>
<constraints>
- <constraint firstAttribute="height" constant="32" id="6B5-rS-Uqh"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="6B5-rS-Uqh"/>
<constraint firstItem="181" firstAttribute="leading" secondItem="178" secondAttribute="leading" constant="4" id="Dnn-Bc-2Xp"/>
<constraint firstItem="181" firstAttribute="centerY" secondItem="178" secondAttribute="centerY" id="fJN-hE-fJJ"/>
<constraint firstItem="179" firstAttribute="leading" secondItem="181" secondAttribute="trailing" constant="8" symbolic="YES" id="fSL-Dz-8bs"/>
@@ -486,14 +318,14 @@
<constraint firstItem="179" firstAttribute="centerY" secondItem="178" secondAttribute="centerY" id="x8Y-IL-4ZF"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="187">
- <rect key="frame" x="109" y="0.0" width="67" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="187" userLabel="Period View">
+ <rect key="frame" x="108" y="0.0" width="62" height="28"/>
<subviews>
<popUpButton horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="188">
- <rect key="frame" x="4" y="6" width="59" height="19"/>
- <popUpButtonCell key="cell" type="roundRect" title="days" bezelStyle="roundedRect" alignment="left" scrollable="YES" lineBreakMode="clipping" state="on" borderStyle="border" tag="1" inset="2" selectedItem="192" id="442">
+ <rect key="frame" x="4" y="5" width="54" height="17"/>
+ <popUpButtonCell key="cell" type="roundRect" title="days" bezelStyle="roundedRect" alignment="left" controlSize="small" scrollable="YES" lineBreakMode="clipping" state="on" borderStyle="border" tag="1" inset="2" selectedItem="192" id="442">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
- <font key="font" metaFont="cellTitle"/>
+ <font key="font" metaFont="smallSystem"/>
<menu key="menu" id="189">
<items>
<menuItem title="days" state="on" tag="1" id="192"/>
@@ -509,19 +341,19 @@
</popUpButton>
</subviews>
<constraints>
- <constraint firstAttribute="height" constant="32" id="JJo-ha-fRo"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="JJo-ha-fRo"/>
<constraint firstItem="188" firstAttribute="centerY" secondItem="187" secondAttribute="centerY" id="fFD-2q-esY"/>
<constraint firstItem="188" firstAttribute="leading" secondItem="187" secondAttribute="leading" constant="4" id="gPJ-Ho-MwR"/>
<constraint firstAttribute="trailing" secondItem="188" secondAttribute="trailing" constant="4" id="ntg-UE-41n"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="182">
- <rect key="frame" x="176" y="0.0" width="30" height="32"/>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="182" userLabel="Ago View">
+ <rect key="frame" x="170" y="0.0" width="28" height="28"/>
<subviews>
<textField horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="183">
- <rect key="frame" x="2" y="9" width="26" height="15"/>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="ago" id="440">
- <font key="font" metaFont="cellTitle"/>
+ <rect key="frame" x="2" y="7" width="24" height="14"/>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="ago" id="440">
+ <font key="font" metaFont="smallSystem"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -528,7 +360,7 @@
</textField>
</subviews>
<constraints>
- <constraint firstAttribute="height" constant="32" id="ASp-lW-FUd"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="ASp-lW-FUd"/>
<constraint firstItem="183" firstAttribute="leading" secondItem="182" secondAttribute="leading" constant="4" id="LHX-ky-zBs"/>
<constraint firstItem="183" firstAttribute="centerY" secondItem="182" secondAttribute="centerY" id="SWf-lq-YXS"/>
<constraint firstAttribute="trailing" secondItem="183" secondAttribute="trailing" constant="4" id="WY2-Ks-cRl"/>
@@ -543,11 +375,179 @@
<constraint firstItem="182" firstAttribute="leading" secondItem="187" secondAttribute="trailing" id="VsI-PE-ZbS"/>
<constraint firstItem="184" firstAttribute="centerY" secondItem="Mno-Ob-CLN" secondAttribute="centerY" id="lxJ-gr-5L9"/>
<constraint firstItem="187" firstAttribute="leading" secondItem="178" secondAttribute="trailing" id="mzE-hd-gZp"/>
- <constraint firstAttribute="height" constant="32" id="plg-bD-cGL"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="plg-bD-cGL"/>
<constraint firstAttribute="trailing" secondItem="182" secondAttribute="trailing" id="qCP-Ij-zdj"/>
<constraint firstItem="178" firstAttribute="centerY" secondItem="Mno-Ob-CLN" secondAttribute="centerY" id="qQa-q2-8bm"/>
</constraints>
</customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="0VI-XT-GZ1">
+ <rect key="frame" x="0.0" y="196" width="195" height="28"/>
+ <subviews>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="200" userLabel="Date View">
+ <rect key="frame" x="0.0" y="0.0" width="88" height="28"/>
+ <subviews>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="201">
+ <rect key="frame" x="4" y="5" width="80" height="19"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="80" id="Yfh-fq-wKL"/>
+ </constraints>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="445">
+ <dateFormatter key="formatter" dateStyle="short" id="202"/>
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="representedObject.dateValue" id="NK2-uU-SsK"/>
+ </connections>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstItem="201" firstAttribute="leading" secondItem="200" secondAttribute="leading" constant="4" id="IOm-A1-As1"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="XYe-KK-TZU"/>
+ <constraint firstItem="201" firstAttribute="centerY" secondItem="200" secondAttribute="centerY" id="ZsH-FC-T5z"/>
+ <constraint firstAttribute="trailing" secondItem="201" secondAttribute="trailing" constant="4" id="fq3-nZ-M3a"/>
+ </constraints>
+ </customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="196" userLabel="To Date View">
+ <rect key="frame" x="88" y="0.0" width="107" height="28"/>
+ <subviews>
+ <textField horizontalHuggingPriority="750" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="199">
+ <rect key="frame" x="2" y="7" width="15" height="14"/>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="to" id="444">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="197">
+ <rect key="frame" x="23" y="5" width="80" height="19"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="80" id="SZ7-4I-2Uc"/>
+ </constraints>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="443">
+ <dateFormatter key="formatter" dateStyle="short" id="198"/>
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="representedObject.toDateValue" id="YM8-np-ggo"/>
+ </connections>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstItem="197" firstAttribute="leading" secondItem="199" secondAttribute="trailing" constant="8" symbolic="YES" id="16w-Me-C3n"/>
+ <constraint firstItem="199" firstAttribute="leading" secondItem="196" secondAttribute="leading" constant="4" id="6x3-eg-uvG"/>
+ <constraint firstItem="197" firstAttribute="centerY" secondItem="196" secondAttribute="centerY" id="Kuk-N2-yZh"/>
+ <constraint firstAttribute="trailing" secondItem="197" secondAttribute="trailing" constant="4" id="XGx-qc-ojN"/>
+ <constraint firstItem="199" firstAttribute="centerY" secondItem="196" secondAttribute="centerY" id="cVb-aY-uM1"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="wwd-NL-7ub"/>
+ </constraints>
+ </customView>
+ </subviews>
+ <constraints>
+ <constraint firstItem="200" firstAttribute="leading" secondItem="0VI-XT-GZ1" secondAttribute="leading" id="3gt-0R-Fwf"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="QPX-fy-epZ"/>
+ <constraint firstItem="196" firstAttribute="leading" secondItem="200" secondAttribute="trailing" id="kYN-zc-XAB"/>
+ <constraint firstAttribute="trailing" secondItem="196" secondAttribute="trailing" id="mza-3R-uxF"/>
+ <constraint firstItem="200" firstAttribute="centerY" secondItem="0VI-XT-GZ1" secondAttribute="centerY" id="rt4-AY-fbG"/>
+ <constraint firstItem="196" firstAttribute="centerY" secondItem="0VI-XT-GZ1" secondAttribute="centerY" id="vTW-dZ-EZy"/>
+ </constraints>
+ </customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="299" userLabel="Boolean View">
+ <rect key="frame" x="0.0" y="160" width="20" height="28"/>
+ <subviews>
+ <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="312">
+ <rect key="frame" x="3" y="6" width="14" height="16"/>
+ <buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="449">
+ <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ </buttonCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="representedObject.stringValue" id="eXY-UC-BA4">
+ <dictionary key="options">
+ <string key="NSValueTransformerName">BDSKBooleanFromString</string>
+ </dictionary>
+ </binding>
+ </connections>
+ </button>
+ </subviews>
+ <constraints>
+ <constraint firstItem="312" firstAttribute="centerY" secondItem="299" secondAttribute="centerY" id="4ft-6v-PCd"/>
+ <constraint firstAttribute="height" constant="28" placeholder="YES" id="pRG-hA-Fmj"/>
+ <constraint firstItem="312" firstAttribute="leading" secondItem="299" secondAttribute="leading" constant="4" id="rah-xL-3tq"/>
+ <constraint firstAttribute="trailing" secondItem="312" secondAttribute="trailing" constant="4" id="uig-6b-Oy6"/>
+ </constraints>
+ </customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="314" userLabel="Tri State View">
+ <rect key="frame" x="0.0" y="124" width="20" height="28"/>
+ <subviews>
+ <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="315">
+ <rect key="frame" x="3" y="6" width="14" height="16"/>
+ <buttonCell key="cell" type="check" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" allowsMixedState="YES" inset="2" id="450">
+ <behavior key="behavior" changeContents="YE...
[truncated message content] |
|
From: <ho...@us...> - 2026-04-27 16:47:48
|
Revision: 30316
http://sourceforge.net/p/bibdesk/svn/30316
Author: hofman
Date: 2026-04-27 16:47:47 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
set target frame height
Modified Paths:
--------------
trunk/bibdesk/BibDocument.m
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2026-04-27 16:40:33 UTC (rev 30315)
+++ trunk/bibdesk/BibDocument.m 2026-04-27 16:47:47 UTC (rev 30316)
@@ -522,7 +522,7 @@
[bottomPreviewController setPDFScaleFactor:[self doubleForSetupKey:BDSKPreviewPDFScaleFactorKey defaultValue:0.0]];
- colorLabelWell = [[BDSKColorLabelWell alloc] initWithFrame:NSMakeRect(0.0, 0.0, 198, 22.0)];
+ colorLabelWell = [[BDSKColorLabelWell alloc] initWithFrame:NSMakeRect(0.0, 0.0, 198, 36.0)];
if (@available(macOS 11.0, *))
[colorLabelWell setMargin:14.0];
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 16:40:35
|
Revision: 30315
http://sourceforge.net/p/bibdesk/svn/30315
Author: hofman
Date: 2026-04-27 16:40:33 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
slightly larger margin for menu item view, take account of text margin
Modified Paths:
--------------
trunk/bibdesk/BibDocument.m
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2026-04-27 16:24:24 UTC (rev 30314)
+++ trunk/bibdesk/BibDocument.m 2026-04-27 16:40:33 UTC (rev 30315)
@@ -524,7 +524,7 @@
colorLabelWell = [[BDSKColorLabelWell alloc] initWithFrame:NSMakeRect(0.0, 0.0, 198, 22.0)];
if (@available(macOS 11.0, *))
- [colorLabelWell setMargin:12.0];
+ [colorLabelWell setMargin:14.0];
else
[colorLabelWell setMargin:20.0];
[colorLabelWell setShowLabel:YES];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 16:24:26
|
Revision: 30314
http://sourceforge.net/p/bibdesk/svn/30314
Author: hofman
Date: 2026-04-27 16:24:24 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
don't validate view menu item
Modified Paths:
--------------
trunk/bibdesk/BibDocument_UI.m
Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m 2026-04-27 16:12:32 UTC (rev 30313)
+++ trunk/bibdesk/BibDocument_UI.m 2026-04-27 16:24:24 UTC (rev 30314)
@@ -607,7 +607,7 @@
while (--i >= 0) {
NSMenuItem *item = [menu itemAtIndex:i];
- if (wasAlternate == NO && (([item isSeparatorItem] == NO && [item submenu] == nil && [validator validateMenuItem:item] == NO) || ((wasSeparator || i == 0) && [item isSeparatorItem]) || ([item view] && [[item view] respondsToSelector:@selector(isEnabled)] && [(NSControl *)[item view] isEnabled] == NO))) {
+ if (wasAlternate == NO && (([item isSeparatorItem] == NO && [item submenu] == nil && [item view] == nil && [validator validateMenuItem:item] == NO) || ((wasSeparator || i == 0) && [item isSeparatorItem]) || ([item view] && [[item view] respondsToSelector:@selector(isEnabled)] && [(NSControl *)[item view] isEnabled] == NO))) {
[menu removeItem:item];
} else {
wasSeparator = [item isSeparatorItem];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 16:12:34
|
Revision: 30313
http://sourceforge.net/p/bibdesk/svn/30313
Author: hofman
Date: 2026-04-27 16:12:32 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
set clear sRGB color in Ib
Modified Paths:
--------------
trunk/bibdesk/Base.lproj/BDSKCondition.xib
Modified: trunk/bibdesk/Base.lproj/BDSKCondition.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-27 15:46:36 UTC (rev 30312)
+++ trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-27 16:12:32 UTC (rev 30313)
@@ -244,7 +244,7 @@
<subviews>
<colorWell horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="178" placeholderIntrinsicHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="bjW-G5-P4U" customClass="BDSKColorLabelWell">
<rect key="frame" x="4" y="7" width="178" height="18"/>
- <color key="color" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+ <color key="color" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<binding destination="-2" name="value" keyPath="representedObject.stringValue" id="dRe-gq-Qrs">
<dictionary key="options">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 15:46:37
|
Revision: 30312
http://sourceforge.net/p/bibdesk/svn/30312
Author: hofman
Date: 2026-04-27 15:46:36 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
make sure decoded color labbel well has no label
Modified Paths:
--------------
trunk/bibdesk/BDSKColorLabelWell.m
Modified: trunk/bibdesk/BDSKColorLabelWell.m
===================================================================
--- trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 15:11:34 UTC (rev 30311)
+++ trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 15:46:36 UTC (rev 30312)
@@ -131,6 +131,7 @@
suppressSelection = [coder decodeBoolForKey:@"suppressSelection"];
titleCell = [coder decodeObjectForKey:@"titleCell"];
labelCell = [coder decodeObjectForKey:@"labelCell"];
+ [labelCell setStringValue:@""];
if ([buttons count] == 0)
[self makeButtons];
[self updateColorSelection];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 15:11:36
|
Revision: 30311
http://sourceforge.net/p/bibdesk/svn/30311
Author: hofman
Date: 2026-04-27 15:11:34 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
title margin back to 4
Modified Paths:
--------------
trunk/bibdesk/BDSKColorLabelWell.m
Modified: trunk/bibdesk/BDSKColorLabelWell.m
===================================================================
--- trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 14:54:16 UTC (rev 30310)
+++ trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 15:11:34 UTC (rev 30311)
@@ -173,7 +173,7 @@
if (titleCell) {
NSSize titleSize = [titleCell cellSize];
frame.size.width = fmax(NSWidth(frame), ceil(titleSize.width));
- frame.size.height += titleSize.height;
+ frame.size.height += titleSize.height + 2.0;
}
[self setFrameSize:NSMakeSize(NSMaxX(frame), NSMaxY(frame) + 2.0)];
}
@@ -184,7 +184,7 @@
if (titleCell) {
NSSize titleSize = [titleCell cellSize];
size.width = fmax(size.width, ceil(titleSize.width));
- size.height += titleSize.height + 2.0;
+ size.height += titleSize.height + 4.0;
}
if (labelCell) {
size.height += [labelCell cellSize].height + 2.0;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 14:54:17
|
Revision: 30310
http://sourceforge.net/p/bibdesk/svn/30310
Author: hofman
Date: 2026-04-27 14:54:16 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
fix sizeToFit for color label well with title
Modified Paths:
--------------
trunk/bibdesk/BDSKColorLabelWell.m
Modified: trunk/bibdesk/BDSKColorLabelWell.m
===================================================================
--- trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 14:08:43 UTC (rev 30309)
+++ trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 14:54:16 UTC (rev 30310)
@@ -164,12 +164,16 @@
}
}
+- (void)setFrame:(NSRect)frame {
+ [super setFrame:frame];
+}
+
- (void)sizeToFit {
NSRect frame = NSUnionRect([[buttons firstObject] frame], [[buttons lastObject] frame]);
if (titleCell) {
NSSize titleSize = [titleCell cellSize];
frame.size.width = fmax(NSWidth(frame), ceil(titleSize.width));
- frame.size.height += titleSize.height + 2.0;
+ frame.size.height += titleSize.height;
}
[self setFrameSize:NSMakeSize(NSMaxX(frame), NSMaxY(frame) + 2.0)];
}
@@ -180,10 +184,10 @@
if (titleCell) {
NSSize titleSize = [titleCell cellSize];
size.width = fmax(size.width, ceil(titleSize.width));
- size.height += titleSize.height + 4.0;
+ size.height += titleSize.height + 2.0;
}
if (labelCell) {
- size.height += [labelCell cellSize].height + 4.0;
+ size.height += [labelCell cellSize].height + 2.0;
}
return size;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 14:08:45
|
Revision: 30309
http://sourceforge.net/p/bibdesk/svn/30309
Author: hofman
Date: 2026-04-27 14:08:43 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
use a transparent sRGB color for no color label, so the color panel defaults to select sRGB sliders
Modified Paths:
--------------
trunk/bibdesk/BDSKBooleanValueTransformer.m
trunk/bibdesk/BDSKColorLabelWell.m
trunk/bibdesk/BDSKCondition.m
trunk/bibdesk/BibDocument.m
trunk/bibdesk/BibDocument_UI.m
trunk/bibdesk/NSColor_BDSKExtensions.h
trunk/bibdesk/NSColor_BDSKExtensions.m
Modified: trunk/bibdesk/BDSKBooleanValueTransformer.m
===================================================================
--- trunk/bibdesk/BDSKBooleanValueTransformer.m 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/BDSKBooleanValueTransformer.m 2026-04-27 14:08:43 UTC (rev 30309)
@@ -93,7 +93,7 @@
}
- (id)transformedValue:(id)string {
- return [NSColor colorWithFourByteString:string] ?: [NSColor clearColor];
+ return [NSColor colorWithFourByteString:string] ?: [NSColor clearSRGBColor];
}
- (id)reverseTransformedValue:(id)color {
Modified: trunk/bibdesk/BDSKColorLabelWell.m
===================================================================
--- trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/BDSKColorLabelWell.m 2026-04-27 14:08:43 UTC (rev 30309)
@@ -287,7 +287,7 @@
}
- (void)setColor:(NSColor *)color {
- [super setColor:color ?: [NSColor clearColor]];
+ [super setColor:color ?: [NSColor clearSRGBColor]];
suppressSelection = (color == nil);
[self updateColorSelection];
}
@@ -362,7 +362,7 @@
[self updateColorSelection];
return;
} else if (tag == 0) {
- color = [NSColor clearColor];
+ color = [NSColor clearSRGBColor];
} else if (tag < 8) {
color = [[NSColor labelColors] objectAtIndex:tag - 1];
}
Modified: trunk/bibdesk/BDSKCondition.m
===================================================================
--- trunk/bibdesk/BDSKCondition.m 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/BDSKCondition.m 2026-04-27 14:08:43 UTC (rev 30309)
@@ -349,7 +349,7 @@
else if ([key isRatingField])
result = compareIntegerValues([value integerValue], [itemValue integerValue]);
else if ([key isEqualToString:BDSKColorLabelString] || [key isEqualToString:BDSKColorString])
- result = [([NSColor colorWithFourByteString:value] ?: [NSColor clearColor]) colorCompare:([NSColor colorWithFourByteString:itemValue] ?: [NSColor clearColor])];
+ result = [([NSColor colorWithFourByteString:value] ?: [NSColor clearSRGBColor]) colorCompare:([NSColor colorWithFourByteString:itemValue] ?: [NSColor clearSRGBColor])];
else
result = [value localizedCaseInsensitiveNumericCompare:itemValue];
return result == (comparison == BDSKSmaller ? NSOrderedDescending : NSOrderedAscending);
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/BibDocument.m 2026-04-27 14:08:43 UTC (rev 30309)
@@ -529,7 +529,7 @@
[colorLabelWell setMargin:20.0];
[colorLabelWell setShowLabel:YES];
[colorLabelWell sizeToFit];
- [colorLabelWell setColor:[NSColor clearColor]];
+ [colorLabelWell setColor:[NSColor clearSRGBColor]];
[colorLabelWell setAction:@selector(changeColorLabel:)];
[colorLabelWell setTarget:self];
Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/BibDocument_UI.m 2026-04-27 14:08:43 UTC (rev 30309)
@@ -633,7 +633,7 @@
NSColor *color = nil;
if ([self hasGroupTypeSelected:BDSKExternalGroupType] == NO && [self displaysFileSearch] == NSControlStateValueOff && [[self clickedOrSelectedPublications] count]) {
for (BibItem *pub in [self clickedOrSelectedPublications]) {
- NSColor *aColor = [pub color] ?: [NSColor clearColor];
+ NSColor *aColor = [pub color] ?: [NSColor clearSRGBColor];
if (color == nil) {
color = aColor;
} else if ([color isEqual:aColor] == NO) {
Modified: trunk/bibdesk/NSColor_BDSKExtensions.h
===================================================================
--- trunk/bibdesk/NSColor_BDSKExtensions.h 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/NSColor_BDSKExtensions.h 2026-04-27 14:08:43 UTC (rev 30309)
@@ -69,6 +69,8 @@
+ (NSString *)nameForFourByteString:(NSString *)string;
+@property (class, nonatomic, readonly) NSColor *clearSRGBColor;
+
- (BOOL)isBlackOrWhiteOrTransparentForMargin:(CGFloat)margin;
- (NSComparisonResult)colorCompare:(nullable id)other;
Modified: trunk/bibdesk/NSColor_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSColor_BDSKExtensions.m 2026-04-27 09:27:00 UTC (rev 30308)
+++ trunk/bibdesk/NSColor_BDSKExtensions.m 2026-04-27 14:08:43 UTC (rev 30309)
@@ -211,6 +211,14 @@
return name;
}
++ (NSColor *)clearSRGBColor {
+ static NSColor *clearSRGBColor = nil;
+ if (clearSRGBColor == nil)
+ clearSRGBColor = [NSColor colorWithSRGBRed:0.0 green:0.0 blue:0.0 alpha:0.0];
+ return clearSRGBColor;
+}
+
+
- (BOOL)isBlackOrWhiteOrTransparentForMargin:(CGFloat)margin {
CGFloat l = 0.0, s = 0.0, b = 0.0, a = 0.0;
[[self colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getHue:NULL saturation:&s brightness:&b alpha:&a];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 09:27:03
|
Revision: 30308
http://sourceforge.net/p/bibdesk/svn/30308
Author: hofman
Date: 2026-04-27 09:27:00 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
set clearColor as default for color well
Modified Paths:
--------------
trunk/bibdesk/Base.lproj/BDSKCondition.xib
Modified: trunk/bibdesk/Base.lproj/BDSKCondition.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-27 09:22:48 UTC (rev 30307)
+++ trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-27 09:27:00 UTC (rev 30308)
@@ -244,7 +244,7 @@
<subviews>
<colorWell horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="178" placeholderIntrinsicHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="bjW-G5-P4U" customClass="BDSKColorLabelWell">
<rect key="frame" x="4" y="7" width="178" height="18"/>
- <color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="color" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<connections>
<binding destination="-2" name="value" keyPath="representedObject.stringValue" id="dRe-gq-Qrs">
<dictionary key="options">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-27 09:22:50
|
Revision: 30307
http://sourceforge.net/p/bibdesk/svn/30307
Author: hofman
Date: 2026-04-27 09:22:48 +0000 (Mon, 27 Apr 2026)
Log Message:
-----------
set placeholder sizes to actual intrinsic sizes
Modified Paths:
--------------
trunk/bibdesk/Base.lproj/BDSKCondition.xib
Modified: trunk/bibdesk/Base.lproj/BDSKCondition.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-26 21:56:47 UTC (rev 30306)
+++ trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-27 09:22:48 UTC (rev 30307)
@@ -219,10 +219,10 @@
</constraints>
</customView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="319">
- <rect key="frame" x="0.0" y="60" width="78" height="32"/>
+ <rect key="frame" x="0.0" y="60" width="72" height="32"/>
<subviews>
- <button horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="70" placeholderIntrinsicHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="320" customClass="BDSKRatingButton">
- <rect key="frame" x="4" y="5" width="70" height="22"/>
+ <button horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="64" placeholderIntrinsicHeight="16" translatesAutoresizingMaskIntoConstraints="NO" id="320" customClass="BDSKRatingButton">
+ <rect key="frame" x="4" y="8" width="64" height="16"/>
<buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="buttonCell:451:image" imagePosition="only" alignment="left" borderStyle="border" inset="2" id="451" customClass="BDSKRatingButtonCell">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
<font key="font" metaFont="system"/>
@@ -242,8 +242,8 @@
<customView translatesAutoresizingMaskIntoConstraints="NO" id="czt-Cv-T8F">
<rect key="frame" x="0.0" y="20" width="186" height="32"/>
<subviews>
- <colorWell horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="178" placeholderIntrinsicHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="bjW-G5-P4U" customClass="BDSKColorLabelWell">
- <rect key="frame" x="4" y="5" width="178" height="22"/>
+ <colorWell horizontalHuggingPriority="750" verticalHuggingPriority="750" placeholderIntrinsicWidth="178" placeholderIntrinsicHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="bjW-G5-P4U" customClass="BDSKColorLabelWell">
+ <rect key="frame" x="4" y="7" width="178" height="18"/>
<color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
<connections>
<binding destination="-2" name="value" keyPath="representedObject.stringValue" id="dRe-gq-Qrs">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-26 21:56:49
|
Revision: 30306
http://sourceforge.net/p/bibdesk/svn/30306
Author: hofman
Date: 2026-04-26 21:56:47 +0000 (Sun, 26 Apr 2026)
Log Message:
-----------
get/set controlsize for control, no need to go through cell
Modified Paths:
--------------
trunk/bibdesk/BDSKButtonBar.m
trunk/bibdesk/BDSKControlTableCellView.m
trunk/bibdesk/BDSKZoomablePDFView.m
trunk/bibdesk/BDSKZoomableTextView.m
trunk/bibdesk/BibDocument_Toolbar.m
Modified: trunk/bibdesk/BDSKButtonBar.m
===================================================================
--- trunk/bibdesk/BDSKButtonBar.m 2026-04-26 21:50:54 UTC (rev 30305)
+++ trunk/bibdesk/BDSKButtonBar.m 2026-04-26 21:56:47 UTC (rev 30306)
@@ -85,7 +85,7 @@
- (NSButton *)newButtonWithImageName:(NSString *)imageName {
NSButton *button = [[NSButton alloc] init];
[button setBezelStyle:NSBezelStyleRoundRect];
- [[button cell] setControlSize:NSControlSizeSmall];
+ [button setControlSize:NSControlSizeSmall];
[button setImagePosition:NSImageOnly];
[button setImage:[NSImage imageNamed:imageName]];
CGFloat height = [button fittingSize].height;
@@ -98,7 +98,7 @@
[button setBezelStyle:NSBezelStyleRecessed];
[button setShowsBorderOnlyWhileMouseInside:YES];
[button setButtonType:NSButtonTypePushOnPushOff];
- [[button cell] setControlSize:NSControlSizeSmall];
+ [button setControlSize:NSControlSizeSmall];
[button setFont:[NSFont boldSystemFontOfSize:[NSFont smallSystemFontSize]]];
[button setTitle:title];
[button setIdentifier:identifier];
Modified: trunk/bibdesk/BDSKControlTableCellView.m
===================================================================
--- trunk/bibdesk/BDSKControlTableCellView.m 2026-04-26 21:50:54 UTC (rev 30305)
+++ trunk/bibdesk/BDSKControlTableCellView.m 2026-04-26 21:56:47 UTC (rev 30306)
@@ -48,7 +48,7 @@
}
- (NSFont *)font {
- return [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:[[[self control] cell] controlSize]]];
+ return [NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:[[self control] controlSize]]];
}
- (void)setFont:(NSFont *)font {
@@ -59,10 +59,10 @@
controlSize = NSControlSizeMini;
else if (pointSize < [NSFont systemFontSizeForControlSize:NSControlSizeRegular])
controlSize = NSControlSizeSmall;
- if ([[[self control] cell] controlSize] != controlSize) {
+ if ([[self control] controlSize] != controlSize) {
BOOL isBold = ([[oldFont fontDescriptor] symbolicTraits] & NSBoldFontMask) != 0;
pointSize = [NSFont systemFontSizeForControlSize:controlSize];
- [[[self control] cell] setControlSize:controlSize];
+ [[self control] setControlSize:controlSize];
[[self control] setFont:isBold ? [NSFont boldSystemFontOfSize:pointSize] : [NSFont systemFontOfSize:pointSize]];
}
}
Modified: trunk/bibdesk/BDSKZoomablePDFView.m
===================================================================
--- trunk/bibdesk/BDSKZoomablePDFView.m 2026-04-26 21:50:54 UTC (rev 30305)
+++ trunk/bibdesk/BDSKZoomablePDFView.m 2026-04-26 21:56:47 UTC (rev 30306)
@@ -225,7 +225,7 @@
// create it
scalePopUpButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0.0, 0.0, 1.0, 1.0) pullsDown:NO];
- [[scalePopUpButton cell] setControlSize:NSControlSizeSmall];
+ [scalePopUpButton setControlSize:NSControlSizeSmall];
[scalePopUpButton setBordered:NO];
[scalePopUpButton setEnabled:YES];
[scalePopUpButton setRefusesFirstResponder:YES];
Modified: trunk/bibdesk/BDSKZoomableTextView.m
===================================================================
--- trunk/bibdesk/BDSKZoomableTextView.m 2026-04-26 21:50:54 UTC (rev 30305)
+++ trunk/bibdesk/BDSKZoomableTextView.m 2026-04-26 21:56:47 UTC (rev 30306)
@@ -102,7 +102,7 @@
// create it
scalePopUpButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0.0, 0.0, 1.0, 1.0) pullsDown:NO];
- [[scalePopUpButton cell] setControlSize:NSControlSizeSmall];
+ [scalePopUpButton setControlSize:NSControlSizeSmall];
[scalePopUpButton setBordered:NO];
[scalePopUpButton setEnabled:YES];
[scalePopUpButton setRefusesFirstResponder:YES];
Modified: trunk/bibdesk/BibDocument_Toolbar.m
===================================================================
--- trunk/bibdesk/BibDocument_Toolbar.m 2026-04-26 21:50:54 UTC (rev 30305)
+++ trunk/bibdesk/BibDocument_Toolbar.m 2026-04-26 21:56:47 UTC (rev 30306)
@@ -211,8 +211,8 @@
[sharingMenu removeAllItems];
item = [item copy];
if ([[item view] isKindOfClass:[NSControl class]]) {
- [[(NSControl *)[item view] cell] setControlSize:NSControlSizeRegular];
- [[(NSControl *)[item view] cell] setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSControlSizeRegular]]];
+ [(NSControl *)[item view] setControlSize:NSControlSizeRegular];
+ [(NSControl *)[item view] setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSControlSizeRegular]]];
[(NSControl *)[item view] sizeToFit];
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-26 21:50:56
|
Revision: 30305
http://sourceforge.net/p/bibdesk/svn/30305
Author: hofman
Date: 2026-04-26 21:50:54 +0000 (Sun, 26 Apr 2026)
Log Message:
-----------
order views in visible order
Modified Paths:
--------------
trunk/bibdesk/Base.lproj/BDSKCondition.xib
Modified: trunk/bibdesk/Base.lproj/BDSKCondition.xib
===================================================================
--- trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-26 21:22:43 UTC (rev 30304)
+++ trunk/bibdesk/Base.lproj/BDSKCondition.xib 2026-04-26 21:50:54 UTC (rev 30305)
@@ -45,13 +45,13 @@
<subviews>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="359">
<rect key="frame" x="4" y="6" width="155" height="19"/>
- <popUpButtonCell key="cell" type="roundRect" title="count is" bezelStyle="roundedRect" alignment="left" lineBreakMode="clipping" borderStyle="border" inset="2" selectedItem="361" id="453">
+ <popUpButtonCell key="cell" type="roundRect" title="count is" bezelStyle="roundedRect" alignment="left" lineBreakMode="clipping" state="on" borderStyle="border" inset="2" selectedItem="361" id="453">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="cellTitle"/>
<menu key="menu" id="360">
<items>
- <menuItem title="count is" id="361"/>
- <menuItem title="count is not" state="on" tag="1" id="377"/>
+ <menuItem title="count is" state="on" id="361"/>
+ <menuItem title="count is not" tag="1" id="377"/>
<menuItem title="count larger than" tag="2" id="365"/>
<menuItem title="count smaller than" tag="3" id="366"/>
<menuItem isSeparatorItem="YES" id="I7N-az-pqS"/>
@@ -337,6 +337,32 @@
<customView translatesAutoresizingMaskIntoConstraints="NO" id="0VI-XT-GZ1">
<rect key="frame" x="0.0" y="180" width="196" height="32"/>
<subviews>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="200">
+ <rect key="frame" x="0.0" y="0.0" width="88" height="32"/>
+ <subviews>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="201">
+ <rect key="frame" x="4" y="6" width="80" height="20"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="80" id="Yfh-fq-wKL"/>
+ </constraints>
+ <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="445">
+ <dateFormatter key="formatter" dateStyle="short" id="202"/>
+ <font key="font" metaFont="cellTitle"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="representedObject.dateValue" id="NK2-uU-SsK"/>
+ </connections>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstItem="201" firstAttribute="leading" secondItem="200" secondAttribute="leading" constant="4" id="IOm-A1-As1"/>
+ <constraint firstAttribute="height" constant="32" id="XYe-KK-TZU"/>
+ <constraint firstItem="201" firstAttribute="centerY" secondItem="200" secondAttribute="centerY" id="ZsH-FC-T5z"/>
+ <constraint firstAttribute="trailing" secondItem="201" secondAttribute="trailing" constant="4" id="fq3-nZ-M3a"/>
+ </constraints>
+ </customView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="196">
<rect key="frame" x="88" y="0.0" width="108" height="32"/>
<subviews>
@@ -373,32 +399,6 @@
<constraint firstAttribute="height" constant="32" id="wwd-NL-7ub"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="200">
- <rect key="frame" x="0.0" y="0.0" width="88" height="32"/>
- <subviews>
- <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="201">
- <rect key="frame" x="4" y="6" width="80" height="20"/>
- <constraints>
- <constraint firstAttribute="width" constant="80" id="Yfh-fq-wKL"/>
- </constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="445">
- <dateFormatter key="formatter" dateStyle="short" id="202"/>
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.dateValue" id="NK2-uU-SsK"/>
- </connections>
- </textField>
- </subviews>
- <constraints>
- <constraint firstItem="201" firstAttribute="leading" secondItem="200" secondAttribute="leading" constant="4" id="IOm-A1-As1"/>
- <constraint firstAttribute="height" constant="32" id="XYe-KK-TZU"/>
- <constraint firstItem="201" firstAttribute="centerY" secondItem="200" secondAttribute="centerY" id="ZsH-FC-T5z"/>
- <constraint firstAttribute="trailing" secondItem="201" secondAttribute="trailing" constant="4" id="fq3-nZ-M3a"/>
- </constraints>
- </customView>
</subviews>
<constraints>
<constraint firstItem="200" firstAttribute="leading" secondItem="0VI-XT-GZ1" secondAttribute="leading" id="3gt-0R-Fwf"/>
@@ -444,6 +444,48 @@
<constraint firstAttribute="height" constant="32" id="i3h-1n-cc9"/>
</constraints>
</customView>
+ <customView translatesAutoresizingMaskIntoConstraints="NO" id="178">
+ <rect key="frame" x="40" y="0.0" width="69" height="32"/>
+ <subviews>
+ <textField horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="181">
+ <rect key="frame" x="2" y="9" width="25" height="15"/>
+ <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="and" id="439">
+ <font key="font" metaFont="cellTitle"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="179">
+ <rect key="frame" x="33" y="6" width="32" height="20"/>
+ <constraints>
+ <constraint firstAttribute="width" constant="32" id="EWT-ch-Fnk"/>
+ </constraints>
+ <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="438">
+ <numberFormatter key="formatter" formatterBehavior="10_0" positiveFormat="0" negativeFormat="-0" hasThousandSeparators="NO" thousandSeparator="." id="180">
+ <attributedString key="attributedStringForZero">
+ <fragment content="0"/>
+ </attributedString>
+ <decimal key="minimum" value="NaN"/>
+ <decimal key="maximum" value="NaN"/>
+ </numberFormatter>
+ <font key="font" metaFont="cellTitle"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="representedObject.andNumberValue" id="Ccc-On-nhP"/>
+ </connections>
+ </textField>
+ </subviews>
+ <constraints>
+ <constraint firstAttribute="height" constant="32" id="6B5-rS-Uqh"/>
+ <constraint firstItem="181" firstAttribute="leading" secondItem="178" secondAttribute="leading" constant="4" id="Dnn-Bc-2Xp"/>
+ <constraint firstItem="181" firstAttribute="centerY" secondItem="178" secondAttribute="centerY" id="fJN-hE-fJJ"/>
+ <constraint firstItem="179" firstAttribute="leading" secondItem="181" secondAttribute="trailing" constant="8" symbolic="YES" id="fSL-Dz-8bs"/>
+ <constraint firstAttribute="trailing" secondItem="179" secondAttribute="trailing" constant="4" id="msQ-bO-VgK"/>
+ <constraint firstItem="179" firstAttribute="centerY" secondItem="178" secondAttribute="centerY" id="x8Y-IL-4ZF"/>
+ </constraints>
+ </customView>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="187">
<rect key="frame" x="109" y="0.0" width="67" height="32"/>
<subviews>
@@ -492,48 +534,6 @@
<constraint firstAttribute="trailing" secondItem="183" secondAttribute="trailing" constant="4" id="WY2-Ks-cRl"/>
</constraints>
</customView>
- <customView translatesAutoresizingMaskIntoConstraints="NO" id="178">
- <rect key="frame" x="40" y="0.0" width="69" height="32"/>
- <subviews>
- <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="179">
- <rect key="frame" x="33" y="6" width="32" height="20"/>
- <constraints>
- <constraint firstAttribute="width" constant="32" id="EWT-ch-Fnk"/>
- </constraints>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="438">
- <numberFormatter key="formatter" formatterBehavior="10_0" positiveFormat="0" negativeFormat="-0" hasThousandSeparators="NO" thousandSeparator="." id="180">
- <attributedString key="attributedStringForZero">
- <fragment content="0"/>
- </attributedString>
- <decimal key="minimum" value="NaN"/>
- <decimal key="maximum" value="NaN"/>
- </numberFormatter>
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- <connections>
- <binding destination="-2" name="value" keyPath="representedObject.andNumberValue" id="Ccc-On-nhP"/>
- </connections>
- </textField>
- <textField horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="181">
- <rect key="frame" x="2" y="9" width="25" height="15"/>
- <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="and" id="439">
- <font key="font" metaFont="cellTitle"/>
- <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
- <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
- </textFieldCell>
- </textField>
- </subviews>
- <constraints>
- <constraint firstAttribute="height" constant="32" id="6B5-rS-Uqh"/>
- <constraint firstItem="181" firstAttribute="leading" secondItem="178" secondAttribute="leading" constant="4" id="Dnn-Bc-2Xp"/>
- <constraint firstItem="181" firstAttribute="centerY" secondItem="178" secondAttribute="centerY" id="fJN-hE-fJJ"/>
- <constraint firstItem="179" firstAttribute="leading" secondItem="181" secondAttribute="trailing" constant="8" symbolic="YES" id="fSL-Dz-8bs"/>
- <constraint firstAttribute="trailing" secondItem="179" secondAttribute="trailing" constant="4" id="msQ-bO-VgK"/>
- <constraint firstItem="179" firstAttribute="centerY" secondItem="178" secondAttribute="centerY" id="x8Y-IL-4ZF"/>
- </constraints>
- </customView>
</subviews>
<constraints>
<constraint firstItem="178" firstAttribute="leading" secondItem="184" secondAttribute="trailing" id="0TF-Ep-Tml"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-26 21:22:45
|
Revision: 30304
http://sourceforge.net/p/bibdesk/svn/30304
Author: hofman
Date: 2026-04-26 21:22:43 +0000 (Sun, 26 Apr 2026)
Log Message:
-----------
use file content search table for font selection when displayed
Modified Paths:
--------------
trunk/bibdesk/BibDocument_Actions.m
trunk/bibdesk/BibDocument_Menus.m
Modified: trunk/bibdesk/BibDocument_Actions.m
===================================================================
--- trunk/bibdesk/BibDocument_Actions.m 2026-04-26 21:12:51 UTC (rev 30303)
+++ trunk/bibdesk/BibDocument_Actions.m 2026-04-26 21:22:43 UTC (rev 30304)
@@ -1203,12 +1203,14 @@
}
- (IBAction)changeMainTableFont:(id)sender{
- if ([tableView window] == nil)
+ NSControlStateValue displaysFileSearch = [self displaysFileSearch];
+ if (displaysFileSearch == NSControlStateValueMixed)
return;
// the following will make sure the font for the main tableview is selected
+ NSTableView *tv = displaysFileSearch ? [fileSearchController tableView] : tableView;
id firstResponder = [documentWindow firstResponder];
- if (firstResponder != tableView)
- [documentWindow makeFirstResponder:tableView];
+ if (firstResponder != tv)
+ [documentWindow makeFirstResponder:tv];
if ([documentWindow isMainWindow] == NO)
[documentWindow makeKeyAndOrderFront:nil];
[[NSFontManager sharedFontManager] orderFrontFontPanel:nil];
Modified: trunk/bibdesk/BibDocument_Menus.m
===================================================================
--- trunk/bibdesk/BibDocument_Menus.m 2026-04-26 21:12:51 UTC (rev 30303)
+++ trunk/bibdesk/BibDocument_Menus.m 2026-04-26 21:22:43 UTC (rev 30304)
@@ -588,7 +588,7 @@
}
- (BOOL)validateChangeMainTableFontMenuItem:(NSMenuItem *)menuItem {
- return [tableView window] != nil;
+ return [self displaysFileSearch] != NSControlStateValueMixed;
}
- (BOOL)validateChangeGroupTableFontMenuItem:(NSMenuItem *)menuItem {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-26 21:12:54
|
Revision: 30303
http://sourceforge.net/p/bibdesk/svn/30303
Author: hofman
Date: 2026-04-26 21:12:51 +0000 (Sun, 26 Apr 2026)
Log Message:
-----------
nil target for orderFrontFontPanel, otherwise it toggles. Cannot mae first respondeeer when not visible in window.
Modified Paths:
--------------
trunk/bibdesk/BibDocument_Actions.m
trunk/bibdesk/BibDocument_Menus.m
Modified: trunk/bibdesk/BibDocument_Actions.m
===================================================================
--- trunk/bibdesk/BibDocument_Actions.m 2026-04-26 16:47:33 UTC (rev 30302)
+++ trunk/bibdesk/BibDocument_Actions.m 2026-04-26 21:12:51 UTC (rev 30303)
@@ -1203,8 +1203,8 @@
}
- (IBAction)changeMainTableFont:(id)sender{
- if ([[[NSFontManager sharedFontManager] fontPanel:NO] isVisible] == NO)
- [[NSFontManager sharedFontManager] orderFrontFontPanel:sender];
+ if ([tableView window] == nil)
+ return;
// the following will make sure the font for the main tableview is selected
id firstResponder = [documentWindow firstResponder];
if (firstResponder != tableView)
@@ -1211,11 +1211,12 @@
[documentWindow makeFirstResponder:tableView];
if ([documentWindow isMainWindow] == NO)
[documentWindow makeKeyAndOrderFront:nil];
+ [[NSFontManager sharedFontManager] orderFrontFontPanel:nil];
}
- (IBAction)changeGroupTableFont:(id)sender{
- if ([[[NSFontManager sharedFontManager] fontPanel:NO] isVisible] == NO)
- [[NSFontManager sharedFontManager] orderFrontFontPanel:sender];
+ if ([groupOutlineView isHiddenOrHasHiddenAncestor])
+ return;
// the following will make sure the font for the group outlineview is selected
id firstResponder = [documentWindow firstResponder];
if (firstResponder != groupOutlineView)
@@ -1222,6 +1223,7 @@
[documentWindow makeFirstResponder:groupOutlineView];
if ([documentWindow isMainWindow] == NO)
[documentWindow makeKeyAndOrderFront:nil];
+ [[NSFontManager sharedFontManager] orderFrontFontPanel:nil];
}
- (IBAction)changePreviewDisplay:(id)sender{
Modified: trunk/bibdesk/BibDocument_Menus.m
===================================================================
--- trunk/bibdesk/BibDocument_Menus.m 2026-04-26 16:47:33 UTC (rev 30302)
+++ trunk/bibdesk/BibDocument_Menus.m 2026-04-26 21:12:51 UTC (rev 30303)
@@ -587,6 +587,14 @@
return [menuItem tag] == NSFindPanelActionShowFindPanel;
}
+- (BOOL)validateChangeMainTableFontMenuItem:(NSMenuItem *)menuItem {
+ return [tableView window] != nil;
+}
+
+- (BOOL)validateChangeGroupTableFontMenuItem:(NSMenuItem *)menuItem {
+ return [groupOutlineView isHiddenOrHasHiddenAncestor] == NO;
+}
+
static SEL validateMenuItemSelector(SEL sel) {
static NSMapTable *table = NULL;
if (sel == NULL)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-26 16:47:36
|
Revision: 30302
http://sourceforge.net/p/bibdesk/svn/30302
Author: hofman
Date: 2026-04-26 16:47:33 +0000 (Sun, 26 Apr 2026)
Log Message:
-----------
fix table font updating when the table is not in a window, don't update font in font panel twice, don't toggle font panel when already shown
Modified Paths:
--------------
trunk/bibdesk/BDSKOutlineView.m
trunk/bibdesk/BDSKTableView.m
trunk/bibdesk/BibDocument_Actions.m
Modified: trunk/bibdesk/BDSKOutlineView.m
===================================================================
--- trunk/bibdesk/BDSKOutlineView.m 2026-04-26 14:38:37 UTC (rev 30301)
+++ trunk/bibdesk/BDSKOutlineView.m 2026-04-26 16:47:33 UTC (rev 30302)
@@ -176,7 +176,7 @@
}
- (void)updateFontPanel:(NSNotification *)notification {
- if ([[[self window] firstResponder] isEqual:self] && fontNamePreferenceKey && fontSizePreferenceKey) {
+ if ([[self window] isMainWindow] && [[[self window] firstResponder] isEqual:self] && fontNamePreferenceKey && fontSizePreferenceKey) {
[[NSFontManager sharedFontManager] setSelectedFont:[self font] isMultiple:NO];
}
}
@@ -188,6 +188,16 @@
return success;
}
+- (void)viewWillMoveToWindow:(NSWindow *)newWindow {
+ [super viewWillMoveToWindow:newWindow];
+ if (fontNamePreferenceKey && fontSizePreferenceKey) {
+ if (newWindow)
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateFontPanel:) name:NSWindowDidBecomeMainNotification object:newWindow];
+ else
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidBecomeMainNotification object:[self window]];
+ }
+}
+
- (id)makeViewWithIdentifier:(NSString *)identifier owner:(id)owner {
id view = [super makeViewWithIdentifier:identifier owner:owner];
if (fontNamePreferenceKey && fontSizePreferenceKey) {
Modified: trunk/bibdesk/BDSKTableView.m
===================================================================
--- trunk/bibdesk/BDSKTableView.m 2026-04-26 14:38:37 UTC (rev 30301)
+++ trunk/bibdesk/BDSKTableView.m 2026-04-26 16:47:33 UTC (rev 30302)
@@ -93,7 +93,8 @@
if (fontNamePreferenceKey && fontSizePreferenceKey) {
[[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:fontSizePreferenceKey options:0 context:&BDSKTableViewFontDefaultsObservationContext];
[[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:fontNamePreferenceKey options:0 context:&BDSKTableViewFontDefaultsObservationContext];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateFontPanel:) name:NSWindowDidBecomeKeyNotification object:[self window]];
+ if ([self window])
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateFontPanel:) name:NSWindowDidBecomeKeyNotification object:[self window]];
}
}
@@ -101,7 +102,8 @@
if (fontNamePreferenceKey && fontSizePreferenceKey) {
[[NSUserDefaults standardUserDefaults] removeObserver:self forKeyPath:fontSizePreferenceKey context:&BDSKTableViewFontDefaultsObservationContext];
[[NSUserDefaults standardUserDefaults] removeObserver:self forKeyPath:fontNamePreferenceKey context:&BDSKTableViewFontDefaultsObservationContext];
- [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidBecomeKeyNotification object:[self window]];
+ if ([self window])
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidBecomeKeyNotification object:[self window]];
}
}
@@ -150,7 +152,7 @@
}
- (void)updateFontPanel:(NSNotification *)notification {
- if ([[[self window] firstResponder] isEqual:self] && fontNamePreferenceKey && fontSizePreferenceKey) {
+ if ([[self window] isMainWindow] && [[[self window] firstResponder] isEqual:self] && fontNamePreferenceKey && fontSizePreferenceKey) {
[[NSFontManager sharedFontManager] setSelectedFont:[self font] isMultiple:NO];
}
}
@@ -162,6 +164,16 @@
return success;
}
+- (void)viewWillMoveToWindow:(NSWindow *)newWindow {
+ [super viewWillMoveToWindow:newWindow];
+ if (fontNamePreferenceKey && fontSizePreferenceKey) {
+ if (newWindow)
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateFontPanel:) name:NSWindowDidBecomeMainNotification object:newWindow];
+ else
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowDidBecomeMainNotification object:[self window]];
+ }
+}
+
- (id)makeViewWithIdentifier:(NSString *)identifier owner:(id)owner {
id view = [super makeViewWithIdentifier:identifier owner:owner];
if (fontNamePreferenceKey && fontSizePreferenceKey && [self font]) {
Modified: trunk/bibdesk/BibDocument_Actions.m
===================================================================
--- trunk/bibdesk/BibDocument_Actions.m 2026-04-26 14:38:37 UTC (rev 30301)
+++ trunk/bibdesk/BibDocument_Actions.m 2026-04-26 16:47:33 UTC (rev 30302)
@@ -1203,25 +1203,25 @@
}
- (IBAction)changeMainTableFont:(id)sender{
- NSString *fontName = [[NSUserDefaults standardUserDefaults] stringForKey:BDSKMainTableViewFontNameKey];
- CGFloat fontSize = [[NSUserDefaults standardUserDefaults] doubleForKey:BDSKMainTableViewFontSizeKey];
- [[NSFontManager sharedFontManager] setSelectedFont:[NSFont fontWithName:fontName size:fontSize] isMultiple:NO];
- [[NSFontManager sharedFontManager] orderFrontFontPanel:sender];
-
+ if ([[[NSFontManager sharedFontManager] fontPanel:NO] isVisible] == NO)
+ [[NSFontManager sharedFontManager] orderFrontFontPanel:sender];
+ // the following will make sure the font for the main tableview is selected
id firstResponder = [documentWindow firstResponder];
if (firstResponder != tableView)
[documentWindow makeFirstResponder:tableView];
+ if ([documentWindow isMainWindow] == NO)
+ [documentWindow makeKeyAndOrderFront:nil];
}
- (IBAction)changeGroupTableFont:(id)sender{
- NSString *fontName = [[NSUserDefaults standardUserDefaults] stringForKey:BDSKGroupTableViewFontNameKey];
- CGFloat fontSize = [[NSUserDefaults standardUserDefaults] doubleForKey:BDSKGroupTableViewFontSizeKey];
- [[NSFontManager sharedFontManager] setSelectedFont:[NSFont fontWithName:fontName size:fontSize] isMultiple:NO];
- [[NSFontManager sharedFontManager] orderFrontFontPanel:sender];
-
+ if ([[[NSFontManager sharedFontManager] fontPanel:NO] isVisible] == NO)
+ [[NSFontManager sharedFontManager] orderFrontFontPanel:sender];
+ // the following will make sure the font for the group outlineview is selected
id firstResponder = [documentWindow firstResponder];
if (firstResponder != groupOutlineView)
[documentWindow makeFirstResponder:groupOutlineView];
+ if ([documentWindow isMainWindow] == NO)
+ [documentWindow makeKeyAndOrderFront:nil];
}
- (IBAction)changePreviewDisplay:(id)sender{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-26 14:38:40
|
Revision: 30301
http://sourceforge.net/p/bibdesk/svn/30301
Author: hofman
Date: 2026-04-26 14:38:37 +0000 (Sun, 26 Apr 2026)
Log Message:
-----------
support for controlSize of color well
Modified Paths:
--------------
trunk/bibdesk/BDSKColorLabelWell.m
Modified: trunk/bibdesk/BDSKColorLabelWell.m
===================================================================
--- trunk/bibdesk/BDSKColorLabelWell.m 2026-04-24 21:56:02 UTC (rev 30300)
+++ trunk/bibdesk/BDSKColorLabelWell.m 2026-04-26 14:38:37 UTC (rev 30301)
@@ -61,6 +61,14 @@
- (void)updateColorSelection;
@end
+static inline CGFloat buttonWidth(NSControlSize controlSize) {
+ switch (controlSize) {
+ case NSControlSizeRegular: return 18.0;
+ case NSControlSizeSmall: return 16.0;
+ case NSControlSizeMini: return 14.0;
+ default: return 20.0;
+ }
+}
@implementation BDSKColorLabelWell
@@ -76,36 +84,36 @@
updatingColorPanel = flag;
}
-- (void)commonInit {
- if ([buttons count] == 0) {
- NSMutableArray *array = [NSMutableArray array];
- NSRect rect = NSMakeRect(0.0, 2.0, 18.0, 18.0);
- NSArray *colors = [NSColor labelColors];
- for (NSUInteger i = 0; i < 9; i++) {
- NSButton *button = [[BDSKColorLabelButton alloc] initWithFrame:rect];
- [button setButtonType:NSButtonTypeRadio];
- [button setBordered:NO];
- [button setTarget:self];
- [button setAction:@selector(colorLabelAction:)];
- [button setAutoresizingMask:NSViewMaxXMargin | NSViewMaxYMargin];
- [button setTag:i];
- [[button cell] setTag:i];
- if (i > 0 && i < 8)
- [[button cell] setRepresentedObject:[colors objectAtIndex:i - 1]];
- [self addSubview:button];
- [array addObject:button];
- rect.origin.x += 20.0;
- }
- buttons = [array copy];
+- (void)makeButtons {
+ NSMutableArray *array = [NSMutableArray array];
+ CGFloat width = buttonWidth([self controlSize]);
+ NSRect rect = NSMakeRect(0.0, 2.0, width, width);
+ NSArray *colors = [NSColor labelColors];
+ if (labelCell)
+ rect.origin.y += [labelCell cellSize].height;
+ for (NSUInteger i = 0; i < 9; i++) {
+ NSButton *button = [[BDSKColorLabelButton alloc] initWithFrame:rect];
+ [button setButtonType:NSButtonTypeRadio];
+ [button setBordered:NO];
+ [button setTarget:self];
+ [button setAction:@selector(colorLabelAction:)];
+ [button setAutoresizingMask:NSViewMaxXMargin | NSViewMaxYMargin];
+ [button setTag:i];
+ [[button cell] setTag:i];
+ if (i > 0 && i < 8)
+ [[button cell] setRepresentedObject:[colors objectAtIndex:i - 1]];
+ [self addSubview:button];
+ [array addObject:button];
+ rect.origin.x += width + 2.0;
}
-
- [self updateColorSelection];
+ buttons = [array copy];
}
- (instancetype)initWithFrame:(NSRect)frameRect {
self = [super initWithFrame:frameRect];
if (self) {
- [self commonInit];
+ [self makeButtons];
+ [self updateColorSelection];
}
return self;
}
@@ -123,7 +131,9 @@
suppressSelection = [coder decodeBoolForKey:@"suppressSelection"];
titleCell = [coder decodeObjectForKey:@"titleCell"];
labelCell = [coder decodeObjectForKey:@"labelCell"];
- [self commonInit];
+ if ([buttons count] == 0)
+ [self makeButtons];
+ [self updateColorSelection];
}
return self;
}
@@ -137,6 +147,23 @@
[aCoder encodeObject:labelCell forKey:@"labelCell"];
}
+- (void)setControlSize:(NSControlSize)controlSize {
+ [super setControlSize:controlSize];
+ [buttons setValue:[NSNumber numberWithInteger:controlSize] forKey:@"controlSize"];
+ if (titleCell)
+ [titleCell setFont:[NSFont menuBarFontOfSize:[NSFont systemFontSizeForControlSize:[self controlSize]]]];
+ CGFloat width = buttonWidth(controlSize);
+ NSRect rect = NSMakeRect(0.0, 2.0, width, width);
+ if (labelCell) {
+ [labelCell setFont:[NSFont boldSystemFontOfSize:[self controlSize] == NSControlSizeMini ? [NSFont systemFontSizeForControlSize:NSControlSizeMini] : [NSFont smallSystemFontSize]]];
+ rect.origin.y += [labelCell cellSize].height;
+ }
+ for (NSButton *button in buttons) {
+ [button setFrame:rect];
+ rect.origin.x += width + 2.0;
+ }
+}
+
- (void)sizeToFit {
NSRect frame = NSUnionRect([[buttons firstObject] frame], [[buttons lastObject] frame]);
if (titleCell) {
@@ -175,9 +202,10 @@
}
- (void)setMargin:(CGFloat)margin {
+ CGFloat offset = 2.0 + buttonWidth([self controlSize]);
for (NSButton *button in buttons) {
[button setFrameOrigin:NSMakePoint(margin, NSMinY([button frame]))];
- margin += 20.0;
+ margin += offset;
}
}
@@ -191,7 +219,7 @@
} else {
if (titleCell == nil) {
titleCell = [[NSTextFieldCell alloc] initTextCell:title];
- [titleCell setFont:[NSFont menuBarFontOfSize:0.0]];
+ [titleCell setFont:[NSFont menuBarFontOfSize:[NSFont systemFontSizeForControlSize:[self controlSize]]]];
} else {
[titleCell setStringValue:title];
}
@@ -217,7 +245,7 @@
- (void)setShowLabel:(BOOL)flag {
if (flag && labelCell == nil) {
labelCell = [[NSTextFieldCell alloc] initTextCell:@""];
- [labelCell setFont:[NSFont boldSystemFontOfSize:[NSFont smallSystemFontSize]]];
+ [labelCell setFont:[NSFont boldSystemFontOfSize:[self controlSize] == NSControlSizeMini ? [NSFont systemFontSizeForControlSize:NSControlSizeMini] : [NSFont smallSystemFontSize]]];
[labelCell setTextColor:[NSColor systemGrayColor]];
[labelCell setAlignment:NSTextAlignmentCenter];
for (NSButton *button in buttons)
@@ -502,6 +530,14 @@
[NSGraphicsContext restoreGraphicsState];
}
+- (NSRect)focusRingMaskBoundsForFrame:(NSRect)cellFrame inView:(NSView *)controlView {
+ return NSInsetRect(cellFrame, 2.0, 2.0);
+}
+
+- (void)drawFocusRingMaskWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
+ [[NSBezierPath bezierPathWithOvalInRect:NSInsetRect(cellFrame, 2.0, 2.0)] fill];
+}
+
- (NSString *)accessibilityLabel {
NSInteger i = [self tag];
if (i == 0)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-24 21:56:06
|
Revision: 30300
http://sourceforge.net/p/bibdesk/svn/30300
Author: hofman
Date: 2026-04-24 21:56:02 +0000 (Fri, 24 Apr 2026)
Log Message:
-----------
remove duplicate
Modified Paths:
--------------
trunk/bibdesk/NSView_BDSKExtensions.m
Modified: trunk/bibdesk/NSView_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSView_BDSKExtensions.m 2026-04-24 21:55:32 UTC (rev 30299)
+++ trunk/bibdesk/NSView_BDSKExtensions.m 2026-04-24 21:56:02 UTC (rev 30300)
@@ -140,7 +140,6 @@
maxScrollAmount = NSWidth(bounds) - NSWidth(desiredRect);
if (maxScrollAmount > 0.0) {
scrollPosition.x = fmin(fmax(scrollPosition.x, 0.0f), 1.0f);
- scrollPosition.x = fmin(fmax(scrollPosition.x, 0.0f), 1.0f);
desiredRect.origin.x = round(NSMinX(bounds) + scrollPosition.x * maxScrollAmount);
if (NSMinX(desiredRect) < NSMinX(bounds))
desiredRect.origin.x = NSMinX(bounds);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-24 21:55:33
|
Revision: 30299
http://sourceforge.net/p/bibdesk/svn/30299
Author: hofman
Date: 2026-04-24 21:55:32 +0000 (Fri, 24 Apr 2026)
Log Message:
-----------
make sure scrollPosition is valid, use variables for setting
Modified Paths:
--------------
trunk/bibdesk/NSView_BDSKExtensions.m
Modified: trunk/bibdesk/NSView_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSView_BDSKExtensions.m 2026-04-24 21:44:12 UTC (rev 30298)
+++ trunk/bibdesk/NSView_BDSKExtensions.m 2026-04-24 21:55:32 UTC (rev 30299)
@@ -115,18 +115,20 @@
NSRect bounds = [self bounds];
NSRect desiredRect = [enclosingScrollView documentVisibleRect];
NSClipView *clipView = [enclosingScrollView contentView];
- CGFloat topInset = [self convertSize:NSMakeSize(0.0, [clipView contentInsets].top) fromView:clipView].height;
// Vertical position
- if (NSHeight(desiredRect) < NSHeight(bounds) + topInset) {
+ CGFloat topInset = [self convertSize:NSMakeSize(0.0, [clipView contentInsets].top) fromView:clipView].height;
+ CGFloat maxScrollAmount = NSHeight(bounds) - NSHeight(desiredRect) + topInset;
+ if (maxScrollAmount > 0.0) {
+ scrollPosition.y = fmin(fmax(scrollPosition.y, 0.0f), 1.0f);
if ([self isFlipped]) {
- desiredRect.origin.y = round(NSMinY(bounds) - topInset + scrollPosition.y * (NSHeight(bounds) - NSHeight(desiredRect) + topInset));
+ desiredRect.origin.y = round(NSMinY(bounds) - topInset + scrollPosition.y * maxScrollAmount);
if (NSMinY(desiredRect) < NSMinY(bounds) - topInset)
desiredRect.origin.y = NSMinY(bounds) - topInset;
else if (NSMaxY(desiredRect) > NSMaxY(bounds))
desiredRect.origin.y = NSMaxY(bounds) - NSHeight(desiredRect);
} else {
- desiredRect.origin.y = round(NSMaxY(bounds) - NSHeight(desiredRect) + topInset - scrollPosition.y * (NSHeight(bounds) - NSHeight(desiredRect) + topInset));
+ desiredRect.origin.y = round(NSMaxY(bounds) - NSHeight(desiredRect) + topInset - scrollPosition.y * maxScrollAmount);
if (NSMinY(desiredRect) < NSMinY(bounds))
desiredRect.origin.y = NSMinY(bounds);
else if (NSMaxY(desiredRect) > NSMaxY(bounds) + topInset)
@@ -135,9 +137,11 @@
}
// Horizontal position
- if (NSWidth(desiredRect) < NSWidth(bounds)) {
+ maxScrollAmount = NSWidth(bounds) - NSWidth(desiredRect);
+ if (maxScrollAmount > 0.0) {
scrollPosition.x = fmin(fmax(scrollPosition.x, 0.0f), 1.0f);
- desiredRect.origin.x = round(NSMinX(bounds) + scrollPosition.x * (NSWidth(bounds) - NSWidth(desiredRect)));
+ scrollPosition.x = fmin(fmax(scrollPosition.x, 0.0f), 1.0f);
+ desiredRect.origin.x = round(NSMinX(bounds) + scrollPosition.x * maxScrollAmount);
if (NSMinX(desiredRect) < NSMinX(bounds))
desiredRect.origin.x = NSMinX(bounds);
else if (NSMaxX(desiredRect) > NSMaxX(bounds))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ho...@us...> - 2026-04-24 21:44:15
|
Revision: 30298
http://sourceforge.net/p/bibdesk/svn/30298
Author: hofman
Date: 2026-04-24 21:44:12 +0000 (Fri, 24 Apr 2026)
Log Message:
-----------
reorganize scrollPosition calculation
Modified Paths:
--------------
trunk/bibdesk/NSView_BDSKExtensions.m
Modified: trunk/bibdesk/NSView_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSView_BDSKExtensions.m 2026-04-24 21:11:23 UTC (rev 30297)
+++ trunk/bibdesk/NSView_BDSKExtensions.m 2026-04-24 21:44:12 UTC (rev 30298)
@@ -81,26 +81,24 @@
NSRect bounds = [self bounds];
NSRect documentVisibleRect = [enclosingScrollView documentVisibleRect];
NSClipView *clipView = [enclosingScrollView contentView];
- CGFloat topInset = [self convertSize:NSMakeSize(0.0, [clipView contentInsets].top) fromView:clipView].height;
- NSPoint scrollPosition;
+ NSPoint scrollPosition = NSZeroPoint;
// Vertical position
- if (NSHeight(documentVisibleRect) >= NSHeight(bounds) + topInset) {
- scrollPosition.y = 0.0f; // We're completely visible
- } else if ([self isFlipped]) {
- scrollPosition.y = (NSMinY(documentVisibleRect) + topInset - NSMinY(bounds)) / (NSHeight(bounds) - NSHeight(documentVisibleRect) + topInset);
- } else {
- scrollPosition.y = (-NSMaxY(documentVisibleRect) + topInset + NSMaxY(bounds)) / (NSHeight(bounds) - NSHeight(documentVisibleRect) + topInset);
+ CGFloat topInset = [self convertSize:NSMakeSize(0.0, [clipView contentInsets].top) fromView:clipView].height;
+ CGFloat maxScrollAmount = NSHeight(bounds) - NSHeight(documentVisibleRect) + topInset;
+ if (maxScrollAmount > 0.0) {
+ // we're not completely visible
+ scrollPosition.y = ([self isFlipped] ? (NSMinY(documentVisibleRect) - NSMinY(bounds) + topInset) : (NSMaxY(bounds) - NSMaxY(documentVisibleRect) + topInset)) / maxScrollAmount;
+ scrollPosition.y = fmin(fmax(scrollPosition.y, 0.0), 1.0);
}
- scrollPosition.y = fmin(fmax(scrollPosition.y, 0.0f), 1.0f);
// Horizontal position
- if (NSWidth(documentVisibleRect) >= NSWidth(bounds)) {
- scrollPosition.x = 0.0f; // We're completely visible
- } else {
- scrollPosition.x = (NSMinX(documentVisibleRect) - NSMinX(bounds)) / (NSWidth(bounds) - NSWidth(documentVisibleRect));
- scrollPosition.x = fmin(fmax(scrollPosition.x, 0.0f), 1.0f);
+ maxScrollAmount = NSWidth(bounds) - NSWidth(documentVisibleRect);
+ if (maxScrollAmount > 0.0) {
+ // We're notcompletely visible
+ scrollPosition.x = (NSMinX(documentVisibleRect) - NSMinX(bounds)) / maxScrollAmount;
+ scrollPosition.x = fmin(fmax(scrollPosition.x, 0.0), 1.0);
}
return scrollPosition;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|