Improve browser window layout and resize behavior
authorMiltiadis Vasilakis <mvasilak@gmail.com>
Thu, 14 Mar 2013 15:46:31 +0000 (17:46 +0200)
committerMiltiadis Vasilakis <mvasilak@gmail.com>
Thu, 14 Mar 2013 15:46:31 +0000 (17:46 +0200)
pithos-macos/PithosBrowserController.h
pithos-macos/PithosBrowserController.m
pithos-macos/PithosBrowserController.xib

index 2454f05..71c97cb 100644 (file)
@@ -64,6 +64,8 @@
     NSViewController *sharedPreviewController;
     
     IBOutlet NSSplitView *verticalSplitView;
+    IBOutlet NSView *leftView;
+    IBOutlet NSView *rightView;
     IBOutlet NSSplitView *horizontalSplitView;
     IBOutlet NSView *leftTopView;
     IBOutlet NSView *leftBottomView;
index 17420db..357aa9f 100644 (file)
@@ -1960,9 +1960,9 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
 
 - (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimumPosition ofSubviewAt:(NSInteger)dividerIndex {
     if (splitView == verticalSplitView)
-        return 120;
+        return 140;
     else
-        return ([horizontalSplitView bounds].size.height - 108);
+        return ([horizontalSplitView bounds].size.height - 142);
 }
 
 - (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMaximumPosition ofSubviewAt:(NSInteger)dividerIndex {
@@ -1972,17 +1972,12 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
         return ([horizontalSplitView bounds].size.height - 108);
 }
 
-- (CGFloat)splitView:(NSSplitView *)splitView constrainSplitPosition:(CGFloat)proposedPosition ofSubviewAt:(NSInteger)dividerIndex {
-    if (splitView == verticalSplitView) {
-        if (proposedPosition < 120)
-            return 120;
-        else if (proposedPosition > 220)
-            return 220;
-        else
-            return proposedPosition;
-    } else {
-        return ([horizontalSplitView bounds].size.height - 108);
+- (BOOL)splitView:(NSSplitView *)splitView shouldAdjustSizeOfSubview:(NSView *)view {
+    if (((splitView == verticalSplitView) && (view == leftView)) ||
+        ((splitView == horizontalSplitView) && (view == leftBottomView))) {
+        return NO;
     }
+    return YES;
 }
 
 #pragma mark -
index c536e02..62d1640 100755 (executable)
@@ -2,33 +2,33 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
        <data>
                <int key="IBDocument.SystemTarget">1070</int>
-               <string key="IBDocument.SystemVersion">11D50b</string>
-               <string key="IBDocument.InterfaceBuilderVersion">2182</string>
-               <string key="IBDocument.AppKitVersion">1138.32</string>
-               <string key="IBDocument.HIToolboxVersion">568.00</string>
+               <string key="IBDocument.SystemVersion">11G63</string>
+               <string key="IBDocument.InterfaceBuilderVersion">2843</string>
+               <string key="IBDocument.AppKitVersion">1138.51</string>
+               <string key="IBDocument.HIToolboxVersion">569.00</string>
                <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
                        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
-                       <string key="NS.object.0">2182</string>
+                       <string key="NS.object.0">2843</string>
                </object>
                <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <string>NSUserDefaultsController</string>
-                       <string>NSTextField</string>
-                       <string>NSScroller</string>
-                       <string>NSSplitView</string>
+                       <string>NSBrowser</string>
+                       <string>NSCustomObject</string>
+                       <string>NSCustomView</string>
+                       <string>NSImageCell</string>
+                       <string>NSImageView</string>
                        <string>NSMenu</string>
+                       <string>NSOutlineView</string>
+                       <string>NSProgressIndicator</string>
                        <string>NSScrollView</string>
+                       <string>NSScroller</string>
+                       <string>NSSplitView</string>
+                       <string>NSTableColumn</string>
+                       <string>NSTextField</string>
                        <string>NSTextFieldCell</string>
-                       <string>NSImageView</string>
-                       <string>NSImageCell</string>
-                       <string>NSProgressIndicator</string>
-                       <string>NSOutlineView</string>
-                       <string>NSCustomView</string>
-                       <string>NSCustomObject</string>
+                       <string>NSUserDefaultsController</string>
                        <string>NSView</string>
                        <string>NSWindowTemplate</string>
-                       <string>NSTableColumn</string>
-                       <string>NSBrowser</string>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
@@ -81,7 +81,7 @@
                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                <object class="NSCustomView" id="414504914">
                                                                                                        <reference key="NSNextResponder" ref="462572416"/>
-                                                                                                       <int key="NSvFlags">256</int>
+                                                                                                       <int key="NSvFlags">288</int>
                                                                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                <object class="NSScrollView" id="197496877">
                                                                                                                                                        <string key="NSFrameSize">{180, 292}</string>
                                                                                                                                                        <reference key="NSSuperview" ref="843429105"/>
                                                                                                                                                        <reference key="NSWindow"/>
-                                                                                                                                                       <reference key="NSNextKeyView" ref="205521010"/>
+                                                                                                                                                       <reference key="NSNextKeyView" ref="624286523"/>
                                                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                                                        <object class="_NSCornerView" key="NSCornerView">
                                                                                                                                                                <nil key="NSNextResponder"/>
                                                                                                                        <string key="NSFrameSize">{180, 292}</string>
                                                                                                                        <reference key="NSSuperview" ref="414504914"/>
                                                                                                                        <reference key="NSWindow"/>
-                                                                                                                       <reference key="NSNextKeyView" ref="843429105"/>
+                                                                                                                       <reference key="NSNextKeyView" ref="205521010"/>
                                                                                                                        <int key="NSsFlags">133648</int>
                                                                                                                        <reference key="NSVScroller" ref="624286523"/>
                                                                                                                        <reference key="NSHScroller" ref="205521010"/>
                                                                                                                </object>
                                                                                                                <object class="NSTextField" id="620067477">
                                                                                                                        <reference key="NSNextResponder" ref="1047973191"/>
-                                                                                                                       <int key="NSvFlags">266</int>
+                                                                                                                       <int key="NSvFlags">274</int>
                                                                                                                        <string key="NSFrame">{{5, 13}, {170, 35}}</string>
                                                                                                                        <reference key="NSSuperview" ref="1047973191"/>
                                                                                                                        <reference key="NSWindow"/>
                                                                                                                        <reference key="NSNextKeyView" ref="744849637"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSImageCell" key="NSCell" id="280822281">
-                                                                                                                               <int key="NSCellFlags">130560</int>
+                                                                                                                               <int key="NSCellFlags">134348288</int>
                                                                                                                                <int key="NSCellFlags2">33554432</int>
                                                                                                                                <object class="NSCustomResource" key="NSContents">
                                                                                                                                        <string key="NSClassName">NSImage</string>
                                                                                        <string key="NSFrame">{{-1, -1}, {511, 402}}</string>
                                                                                        <reference key="NSSuperview" ref="987905504"/>
                                                                                        <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSBrowserCell" key="NSCellPrototype">
                                                                                                <int key="NSCellFlags">67239488</int>
                                </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
+                                               <string key="label">leftView</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="581795577"/>
+                                       </object>
+                                       <int key="connectionID">203</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">rightView</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="987905504"/>
+                                       </object>
+                                       <int key="connectionID">205</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
                                                <string key="label">delegate</string>
                                                <reference key="source" ref="259981942"/>
                                                <reference key="destination" ref="1001"/>
                                <reference key="dict.values" ref="0"/>
                        </object>
                        <nil key="sourceID"/>
-                       <int key="maxID">202</int>
+                       <int key="maxID">205</int>
                </object>
                <object class="IBClassDescriber" key="IBDocument.Classes">
                        <object class="NSMutableArray" key="referencedPartialClassDescriptions">
                                                        <string>horizontalSplitView</string>
                                                        <string>leftBottomView</string>
                                                        <string>leftTopView</string>
+                                                       <string>leftView</string>
                                                        <string>outlineView</string>
                                                        <string>outlineViewMenu</string>
+                                                       <string>rightView</string>
                                                        <string>verticalSplitView</string>
                                                </object>
                                                <object class="NSArray" key="dict.values">
                                                        <string>NSSplitView</string>
                                                        <string>NSView</string>
                                                        <string>NSView</string>
+                                                       <string>NSView</string>
                                                        <string>NSOutlineView</string>
                                                        <string>NSMenu</string>
+                                                       <string>NSView</string>
                                                        <string>NSSplitView</string>
                                                </object>
                                        </object>
                                                        <string>horizontalSplitView</string>
                                                        <string>leftBottomView</string>
                                                        <string>leftTopView</string>
+                                                       <string>leftView</string>
                                                        <string>outlineView</string>
                                                        <string>outlineViewMenu</string>
+                                                       <string>rightView</string>
                                                        <string>verticalSplitView</string>
                                                </object>
                                                <object class="NSArray" key="dict.values">
                                                                <string key="candidateClassName">NSView</string>
                                                        </object>
                                                        <object class="IBToOneOutletInfo">
+                                                               <string key="name">leftView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
                                                                <string key="name">outlineView</string>
                                                                <string key="candidateClassName">NSOutlineView</string>
                                                        </object>
                                                                <string key="candidateClassName">NSMenu</string>
                                                        </object>
                                                        <object class="IBToOneOutletInfo">
+                                                               <string key="name">rightView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
                                                                <string key="name">verticalSplitView</string>
                                                                <string key="candidateClassName">NSSplitView</string>
                                                        </object>