Revision: 2970
          http://skim-app.svn.sourceforge.net/skim-app/?rev=2970&view=rev
Author:   hofman
Date:     2007-09-22 02:38:58 -0700 (Sat, 22 Sep 2007)

Log Message:
-----------
Different splitview resizing when there are drawers.

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

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2007-09-21 20:12:38 UTC (rev 2969)
+++ trunk/SKMainWindowController.m      2007-09-22 09:38:58 UTC (rev 2970)
@@ -4898,32 +4898,33 @@
 
 - (void)splitView:(NSSplitView *)sender 
resizeSubviewsWithOldSize:(NSSize)oldSize {
     if ([sender isEqual:splitView]) {
-        NSView *leftView = [[sender subviews] objectAtIndex:0];
-        NSView *mainView = [[sender subviews] objectAtIndex:1]; // pdfView
-        NSView *rightView = [[sender subviews] objectAtIndex:2];
-        NSRect leftFrame = [leftView frame];
-        NSRect mainFrame = [mainView frame];
-        NSRect rightFrame = [rightView frame];
-        
-        if (NSWidth(leftFrame) <= 1.0)
-            leftFrame.size.width = 0.0;
-        if (NSWidth(rightFrame) <= 1.0)
-            rightFrame.size.width = 0.0;
-        
-        mainFrame.size.width = NSWidth([sender frame]) - NSWidth(leftFrame) - 
NSWidth(rightFrame) - 2 * [sender dividerThickness];
-        
-        if (NSWidth(mainFrame) < 0.0) {
-            float resizeFactor = 1.0 + NSWidth(mainFrame) / 
(NSWidth(leftFrame) + NSWidth(rightFrame));
-            leftFrame.size.width = floorf(resizeFactor * NSWidth(leftFrame));
-            rightFrame.size.width = floorf(resizeFactor * NSWidth(rightFrame));
+        if (usesDrawers == NO) {
+            NSView *leftView = [[sender subviews] objectAtIndex:0];
+            NSView *mainView = [[sender subviews] objectAtIndex:1]; // pdfView
+            NSView *rightView = [[sender subviews] objectAtIndex:2];
+            NSRect leftFrame = [leftView frame];
+            NSRect mainFrame = [mainView frame];
+            NSRect rightFrame = [rightView frame];
+            
+            if (NSWidth(leftFrame) <= 1.0)
+                leftFrame.size.width = 0.0;
+            if (NSWidth(rightFrame) <= 1.0)
+                rightFrame.size.width = 0.0;
+            
             mainFrame.size.width = NSWidth([sender frame]) - 
NSWidth(leftFrame) - NSWidth(rightFrame) - 2 * [sender dividerThickness];
+            
+            if (NSWidth(mainFrame) < 0.0) {
+                float resizeFactor = 1.0 + NSWidth(mainFrame) / 
(NSWidth(leftFrame) + NSWidth(rightFrame));
+                leftFrame.size.width = floorf(resizeFactor * 
NSWidth(leftFrame));
+                rightFrame.size.width = floorf(resizeFactor * 
NSWidth(rightFrame));
+                mainFrame.size.width = NSWidth([sender frame]) - 
NSWidth(leftFrame) - NSWidth(rightFrame) - 2 * [sender dividerThickness];
+            }
+            mainFrame.origin.x = NSMaxX(leftFrame) + [sender dividerThickness];
+            rightFrame.origin.x =  NSMaxX(mainFrame) + [sender 
dividerThickness];
+            [leftView setFrame:leftFrame];
+            [rightView setFrame:rightFrame];
+            [mainView setFrame:mainFrame];
         }
-        mainFrame.origin.x = NSMaxX(leftFrame) + [sender dividerThickness];
-        rightFrame.origin.x =  NSMaxX(mainFrame) + [sender dividerThickness];
-        [leftView setFrame:leftFrame];
-        [rightView setFrame:rightFrame];
-        [mainView setFrame:mainFrame];
-        
         [sender adjustSubviews];
     } else if ([sender isEqual:pdfSplitView]) {
         if ([[sender subviews] count] > 1) {
@@ -4957,14 +4958,14 @@
 
 - (void)splitViewDidResizeSubviews:(NSNotification *)notification {
     id sender = [notification object];
-    if ([sender isEqual:splitView] || sender == nil) {
-        if ([[self window] frameAutosaveName] && settingUpWindow == NO) {
-            [[NSUserDefaults standardUserDefaults] 
setFloat:NSWidth([leftSideContentView frame]) forKey:SKLeftSidePaneWidthKey];
-            [[NSUserDefaults standardUserDefaults] 
setFloat:NSWidth([rightSideContentView frame]) forKey:SKRightSidePaneWidthKey];
-        }
+    if (([sender isEqual:splitView] || sender == nil) && [[self window] 
frameAutosaveName] && settingUpWindow == NO && usesDrawers == NO) {
+        [[NSUserDefaults standardUserDefaults] 
setFloat:NSWidth([leftSideContentView frame]) forKey:SKLeftSidePaneWidthKey];
+        [[NSUserDefaults standardUserDefaults] 
setFloat:NSWidth([rightSideContentView frame]) forKey:SKRightSidePaneWidthKey];
     }
 }
 
+#pragma mark NSDrawer delegate protocol
+
 - (NSSize)drawerWillResizeContents:(NSDrawer *)sender 
toSize:(NSSize)contentSize {
     if ([[self window] frameAutosaveName] && settingUpWindow == NO) {
         if ([sender isEqual:leftSideDrawer])


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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to