Revision: 16470
          http://sourceforge.net/p/skim-app/code/16470
Author:   hofman
Date:     2026-09-13 17:43:11 +0000 (Sun, 13 Sep 2026)
Log Message:
-----------
make side pane widths properties CGFloat instead of NSNumber

Modified Paths:
--------------
    trunk/SKMainWindowController.h
    trunk/SKMainWindowController.m
    trunk/SKMainWindowController_FullScreen.m

Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h      2026-09-13 17:20:04 UTC (rev 16469)
+++ trunk/SKMainWindowController.h      2026-09-13 17:43:11 UTC (rev 16470)
@@ -258,7 +258,7 @@
 
 @property (nonatomic, readonly) BOOL displaysFindPane;
 @property (nonatomic, readonly) BOOL leftSidePaneIsOpen, rightSidePaneIsOpen;
-@property (nonatomic, strong) NSNumber *leftSideWidth, *rightSideWidth;
+@property (nonatomic) CGFloat leftSideWidth, rightSideWidth;
 
 @property (nonatomic, nullable, readonly) NSMenu *notesMenu;
 

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2026-09-13 17:20:04 UTC (rev 16469)
+++ trunk/SKMainWindowController.m      2026-09-13 17:43:11 UTC (rev 16470)
@@ -630,8 +630,8 @@
         
         BOOL applySidePaneWidths = ([self interactionMode] != SKFullScreenMode 
|| [savedNormalSetup objectForKey:LEFTSIDEPANEWIDTH_KEY] == nil) && [setup 
objectForKey:LEFTSIDEPANEWIDTH_KEY];
         if (applySidePaneWidths) {
-            [self setLeftSideWidth:[setup objectForKey:LEFTSIDEPANEWIDTH_KEY]];
-            [self setRightSideWidth:[setup 
objectForKey:RIGHTSIDEPANEWIDTH_KEY]];
+            [self setLeftSideWidth:[[setup objectForKey:LEFTSIDEPANEWIDTH_KEY] 
doubleValue]];
+            [self setRightSideWidth:[[setup 
objectForKey:RIGHTSIDEPANEWIDTH_KEY] doubleValue]];
         }
         
         if ([[pdfView document] isLocked]) {
@@ -697,8 +697,8 @@
         [setup setObject:NSStringFromRect([savedNormalWindow frame]) 
forKey:MAINWINDOWFRAME_KEY];
     else
         [setup setObject:NSStringFromRect([[self window] frame]) 
forKey:MAINWINDOWFRAME_KEY];
-    [setup setObject:[self leftSideWidth] forKey:LEFTSIDEPANEWIDTH_KEY];
-    [setup setObject:[self rightSideWidth] forKey:RIGHTSIDEPANEWIDTH_KEY];
+    [setup setObject:[NSNumber numberWithDouble:[self leftSideWidth]] 
forKey:LEFTSIDEPANEWIDTH_KEY];
+    [setup setObject:[NSNumber numberWithDouble:[self rightSideWidth]] 
forKey:RIGHTSIDEPANEWIDTH_KEY];
     setDestinationInSetup(dest, setup);
     if (cropBoxes)
         [setup setObject:cropBoxes forKey:CROPBOXES_KEY];
@@ -1440,33 +1440,27 @@
         return NO == [[[splitViewController splitViewItems] lastObject] 
isCollapsed];
 }
 
-- (NSNumber *)leftSideWidth {
+- (CGFloat)leftSideWidth {
     NSSplitViewItem *item = [[splitViewController splitViewItems] firstObject];
-    return [item isCollapsed] ? @0.0 : [NSNumber 
numberWithDouble:NSWidth([[[item viewController] view] frame])];
+    return [item isCollapsed] ? 0.0 : NSWidth([[[item viewController] view] 
frame]);
 }
 
-- (void)setLeftSideWidth:(NSNumber *)leftSideWidth {
-    if (leftSideWidth) {
-        CGFloat width = [leftSideWidth doubleValue];
-        [[[splitViewController splitViewItems] firstObject] setCollapsed:width 
<= 0.0];
-        if (width > 0.0)
-            [[splitViewController splitView] setPosition:width 
ofDividerAtIndex:0];
-    }
+- (void)setLeftSideWidth:(CGFloat)width {
+    [[[splitViewController splitViewItems] firstObject] setCollapsed:width <= 
0.0];
+    if (width > 0.0)
+        [[splitViewController splitView] setPosition:width ofDividerAtIndex:0];
 }
 
-- (NSNumber *)rightSideWidth {
+- (CGFloat)rightSideWidth {
     NSSplitViewItem *item = [[splitViewController splitViewItems] lastObject];
-    return [item isCollapsed] ? @0.0 : [NSNumber 
numberWithDouble:NSWidth([[[item viewController] view] frame])];
+    return [item isCollapsed] ? 0.0 : NSWidth([[[item viewController] view] 
frame]);
 }
 
-- (void)setRightSideWidth:(NSNumber *)rightSideWidth {
-    if (rightSideWidth) {
-        CGFloat width = [rightSideWidth doubleValue];
-        [[[splitViewController splitViewItems] lastObject] setCollapsed:width 
<= 0.0];
-        if (width > 0.0) {
-            NSSplitView *sv = [splitViewController splitView];
-            [sv setPosition:[sv maxPossiblePositionOfDividerAtIndex:1] - [sv 
dividerThickness] - width ofDividerAtIndex:1];
-        }
+- (void)setRightSideWidth:(CGFloat)width {
+    [[[splitViewController splitViewItems] lastObject] setCollapsed:width <= 
0.0];
+    if (width > 0.0) {
+        NSSplitView *sv = [splitViewController splitView];
+        [sv setPosition:[sv maxPossiblePositionOfDividerAtIndex:1] - [sv 
dividerThickness] - width ofDividerAtIndex:1];
     }
 }
 

Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m   2026-09-13 17:20:04 UTC (rev 
16469)
+++ trunk/SKMainWindowController_FullScreen.m   2026-09-13 17:43:11 UTC (rev 
16470)
@@ -556,10 +556,10 @@
         [pdfView setBackgroundColor:backgroundColor];
         [secondaryPdfView setBackgroundColor:backgroundColor];
         if ([[NSUserDefaults standardUserDefaults] 
boolForKey:SKShowSidePanesInFullScreenKey] == NO) {
-            [savedNormalSetup setObject:[self leftSideWidth] 
forKey:LEFTSIDEPANEWIDTH_KEY];
-            [savedNormalSetup setObject:[self rightSideWidth] 
forKey:RIGHTSIDEPANEWIDTH_KEY];
-            [self setLeftSideWidth:@0.0];
-            [self setRightSideWidth:@0.0];
+            [savedNormalSetup setObject:[NSNumber numberWithDouble:[self 
leftSideWidth]] forKey:LEFTSIDEPANEWIDTH_KEY];
+             [savedNormalSetup setObject:[NSNumber numberWithDouble:[self 
rightSideWidth]] forKey:RIGHTSIDEPANEWIDTH_KEY];
+            [self setLeftSideWidth:0.0];
+            [self setRightSideWidth:0.0];
         }
         if ([[pdfView document] isLocked] == NO) {
             NSDictionary *fullScreenSetup = [[NSUserDefaults 
standardUserDefaults] 
dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey];
@@ -575,9 +575,10 @@
         NSColor *backgroundColor = [PDFView defaultBackgroundColor];
         [pdfView setBackgroundColor:backgroundColor];
         [secondaryPdfView setBackgroundColor:backgroundColor];
-        // this does nothing when we did not save the pane widths
-        [self setLeftSideWidth:[savedNormalSetup 
objectForKey:LEFTSIDEPANEWIDTH_KEY]];
-        [self setRightSideWidth:[savedNormalSetup 
objectForKey:RIGHTSIDEPANEWIDTH_KEY]];
+        if ([savedNormalSetup objectForKey:LEFTSIDEPANEWIDTH_KEY]) {
+            [self setLeftSideWidth:[[savedNormalSetup 
objectForKey:LEFTSIDEPANEWIDTH_KEY] doubleValue]];
+            [self setRightSideWidth:[[savedNormalSetup 
objectForKey:RIGHTSIDEPANEWIDTH_KEY] doubleValue]];
+        }
         if ([[[NSUserDefaults standardUserDefaults] 
dictionaryForKey:SKDefaultFullScreenPDFDisplaySettingsKey] count])
             [pdfView setDisplaySettingsAndRewind:savedNormalSetup];
     }

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