Revision: 16167
          http://sourceforge.net/p/skim-app/code/16167
Author:   hofman
Date:     2026-04-05 09:40:32 +0000 (Sun, 05 Apr 2026)
Log Message:
-----------
IBOutlet for bottom contraint for status bar, so we don't need to get the 
superview's contraints

Modified Paths:
--------------
    trunk/Base.lproj/BookmarksWindow.xib
    trunk/Base.lproj/NoteWindow.xib
    trunk/MainWindow.xib
    trunk/NotesDocument.xib
    trunk/SKStatusBar.h
    trunk/SKStatusBar.m

Modified: trunk/Base.lproj/BookmarksWindow.xib
===================================================================
--- trunk/Base.lproj/BookmarksWindow.xib        2026-04-05 09:12:50 UTC (rev 
16166)
+++ trunk/Base.lproj/BookmarksWindow.xib        2026-04-05 09:40:32 UTC (rev 
16167)
@@ -33,6 +33,9 @@
                         <constraints>
                             <constraint firstAttribute="height" constant="22" 
id="X0T-9O-hZc"/>
                         </constraints>
+                        <connections>
+                            <outlet property="bottomConstraint" 
destination="SCp-TG-bIL" id="NUY-Rp-w30"/>
+                        </connections>
                     </customView>
                     <scrollView borderType="none" autohidesScrollers="YES" 
horizontalLineScroll="18" horizontalPageScroll="10" verticalLineScroll="18" 
verticalPageScroll="10" usesPredominantAxisScrolling="NO" 
translatesAutoresizingMaskIntoConstraints="NO" id="56">
                         <rect key="frame" x="0.0" y="22" width="400" 
height="232"/>
@@ -243,13 +246,13 @@
                     </scrollView>
                 </subviews>
                 <constraints>
-                    <constraint firstItem="56" firstAttribute="bottom" 
secondItem="37" secondAttribute="top" id="4pJ-8D-BsO"/>
-                    <constraint firstItem="37" firstAttribute="trailing" 
secondItem="6" secondAttribute="trailing" id="4pf-mX-Qwj"/>
                     <constraint firstItem="56" firstAttribute="leading" 
secondItem="6" secondAttribute="leading" id="5j2-Sx-YK3"/>
                     <constraint firstItem="56" firstAttribute="top" 
secondItem="6" secondAttribute="top" constant="-1" id="7dI-iY-OEY"/>
-                    <constraint firstItem="37" firstAttribute="bottom" 
secondItem="6" secondAttribute="bottom" id="B9p-J8-Llf"/>
                     <constraint firstItem="37" firstAttribute="leading" 
secondItem="6" secondAttribute="leading" id="Bnb-ME-Bna"/>
-                    <constraint firstItem="56" firstAttribute="trailing" 
secondItem="6" secondAttribute="trailing" id="hUc-Wx-VsZ"/>
+                    <constraint firstAttribute="bottom" secondItem="37" 
secondAttribute="bottom" id="SCp-TG-bIL"/>
+                    <constraint firstAttribute="trailing" secondItem="56" 
secondAttribute="trailing" id="WFW-2T-eBD"/>
+                    <constraint firstAttribute="trailing" secondItem="37" 
secondAttribute="trailing" id="ieE-7V-lcF"/>
+                    <constraint firstItem="37" firstAttribute="top" 
secondItem="56" secondAttribute="bottom" id="jgU-hg-Zk2"/>
                 </constraints>
             </view>
             <contentBorderThickness minY="22"/>

Modified: trunk/Base.lproj/NoteWindow.xib
===================================================================
--- trunk/Base.lproj/NoteWindow.xib     2026-04-05 09:12:50 UTC (rev 16166)
+++ trunk/Base.lproj/NoteWindow.xib     2026-04-05 09:40:32 UTC (rev 16167)
@@ -84,6 +84,9 @@
                             <constraint firstItem="96" 
firstAttribute="leading" relation="greaterThanOrEqual" secondItem="112" 
secondAttribute="leading" constant="10" id="k14-AQ-ujw"/>
                             <constraint firstItem="96" 
firstAttribute="centerY" secondItem="112" secondAttribute="centerY" 
id="xdD-PG-634"/>
                         </constraints>
+                        <connections>
+                            <outlet property="bottomConstraint" 
destination="H0k-44-H9c" id="zIF-qv-F5H"/>
+                        </connections>
                     </customView>
                     <customView translatesAutoresizingMaskIntoConstraints="NO" 
id="113">
                         <rect key="frame" x="0.0" y="186" width="340" 
height="84"/>

Modified: trunk/MainWindow.xib
===================================================================
--- trunk/MainWindow.xib        2026-04-05 09:12:50 UTC (rev 16166)
+++ trunk/MainWindow.xib        2026-04-05 09:40:32 UTC (rev 16167)
@@ -30,6 +30,9 @@
                         <constraints>
                             <constraint firstAttribute="height" constant="22" 
id="fGI-iF-w0D"/>
                         </constraints>
+                        <connections>
+                            <outlet property="bottomConstraint" 
destination="Lpk-GO-C0x" id="cUb-TH-u1a"/>
+                        </connections>
                     </customView>
                 </subviews>
                 <constraints>

Modified: trunk/NotesDocument.xib
===================================================================
--- trunk/NotesDocument.xib     2026-04-05 09:12:50 UTC (rev 16166)
+++ trunk/NotesDocument.xib     2026-04-05 09:40:32 UTC (rev 16167)
@@ -310,6 +310,9 @@
                         <constraints>
                             <constraint firstAttribute="height" constant="22" 
id="fBR-Am-bRU"/>
                         </constraints>
+                        <connections>
+                            <outlet property="bottomConstraint" 
destination="pjj-Ub-sdR" id="xHw-hy-IIr"/>
+                        </connections>
                     </customView>
                 </subviews>
                 <constraints>

Modified: trunk/SKStatusBar.h
===================================================================
--- trunk/SKStatusBar.h 2026-04-05 09:12:50 UTC (rev 16166)
+++ trunk/SKStatusBar.h 2026-04-05 09:40:32 UTC (rev 16167)
@@ -54,9 +54,12 @@
        NSProgressIndicator *progressIndicator;
     NSLayoutConstraint *leftLeadingConstraint;
     NSLayoutConstraint *rightTrailingConstraint;
+    NSLayoutConstraint *bottomConstraint;
     BOOL animating;
 }
 
+@property (nonatomic, nullable, strong) IBOutlet NSLayoutConstraint 
*bottomConstraint;
+
 @property (nonatomic, readonly, getter=isVisible) BOOL visible;
 @property (nonatomic, readonly, getter=isAnimating) BOOL animating;
 @property (nonatomic, nullable, readonly) NSTextField *leftField, *rightField;

Modified: trunk/SKStatusBar.m
===================================================================
--- trunk/SKStatusBar.m 2026-04-05 09:12:50 UTC (rev 16166)
+++ trunk/SKStatusBar.m 2026-04-05 09:40:32 UTC (rev 16167)
@@ -48,8 +48,6 @@
 #define SEPARATION          4.0
 #define ICON_OFFSET         1.0
 
-static inline NSLayoutConstraint *bottomLayoutConstraint(NSView *view);
-
 @interface SKStatusTextField : NSTextField
 @end
 
@@ -63,7 +61,7 @@
 
 @implementation SKStatusBar
 
-@synthesize animating, leftField, rightField, progressIndicator;
+@synthesize animating, leftField, rightField, progressIndicator, 
bottomConstraint;
 @dynamic visible, icon, progressIndicatorStyle;
 
 + (id)defaultAnimationForKey:(NSString *)key {
@@ -161,7 +159,7 @@
     
     NSView *contentView = [view superview];
     BOOL visible = (nil == [self superview]);
-    NSLayoutConstraint *bottomConstraint = nil;
+    NSLayoutConstraint *bottomLayoutConstraint = nil;
     CGFloat statusHeight = NSHeight([self frame]);
     NSArray *constraints;
     
@@ -172,13 +170,14 @@
             [[contentView trailingAnchor]constraintEqualToAnchor:[self 
trailingAnchor]],
             [[contentView bottomAnchor] constraintEqualToAnchor:[self 
bottomAnchor] constant:animate ? -statusHeight : 0.0],
             [[self topAnchor] constraintEqualToAnchor:[view bottomAnchor]]];
-        [bottomLayoutConstraint(view) setActive:NO];
+        [bottomConstraint setActive:NO];
         [NSLayoutConstraint activateConstraints:constraints];
         [contentView layoutSubtreeIfNeeded];
-        bottomConstraint = [constraints objectAtIndex:2];
+        bottomConstraint = bottomLayoutConstraint = [constraints 
objectAtIndex:2];
     } else {
         constraints = @[[[contentView bottomAnchor] 
constraintEqualToAnchor:[view bottomAnchor]]];
-        bottomConstraint = bottomLayoutConstraint(self);
+        bottomLayoutConstraint = bottomConstraint;
+        bottomConstraint = [constraints objectAtIndex:0];
     }
     
     if (animate) {
@@ -185,8 +184,8 @@
         animating = YES;
         [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
                 [context setDuration:0.5 * [context duration]];
-                [[bottomConstraint animator] setConstant:visible ? 0.0 : 
-statusHeight];
-                [[self animator] setWindowContentBorderThickness:visible ? 
statusHeight : 0.0];
+                [[bottomLayoutConstraint animator] setConstant:visible ? 0.0 : 
-statusHeight];
+            [[self animator] setWindowContentBorderThickness:visible ? 
statusHeight : 0.0];
             }
             completionHandler:^{
                 if (visible == NO) {
@@ -367,11 +366,3 @@
 }
 
 @end
-
-static inline NSLayoutConstraint *bottomLayoutConstraint(NSView *view) {
-    for (NSLayoutConstraint *constraint in [[view superview] constraints]) {
-        if ([constraint secondItem] == view && [constraint secondAttribute] == 
NSLayoutAttributeBottom)
-            return constraint;
-    }
-    return nil;
-}

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to