diff options
author | rowanbeentje <rowan@beent.je> | 2010-12-20 02:01:49 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2010-12-20 02:01:49 +0000 |
commit | b3b8f0ff04486a982175f70ba72a623a5fff9ad7 (patch) | |
tree | b7b08d3a237964de454b76d3a678d9e4ee240773 /Source | |
parent | 2a6c654d165c207281d10295ebcc40b3cae864ea (diff) | |
download | sequelpro-b3b8f0ff04486a982175f70ba72a623a5fff9ad7.tar.gz sequelpro-b3b8f0ff04486a982175f70ba72a623a5fff9ad7.tar.bz2 sequelpro-b3b8f0ff04486a982175f70ba72a623a5fff9ad7.zip |
Address Issue #857:
- Replace master connection and database view split views with full BWSplitViews so controls appear in Interface Builder; use those settings to apply which panes resize, and any max/min constraints
- Remove split view delegate code which is no longer necessary after these changes
- Fix a bug marking the master database view split view thumb as applying to all DatabaseDocument splits views, fixing cursor issues
- Update Connection Controller/BWToolkit split view delegate setup to fix resizing issues
Diffstat (limited to 'Source')
-rw-r--r-- | Source/SPConnectionController.h | 2 | ||||
-rw-r--r-- | Source/SPConnectionController.m | 2 | ||||
-rw-r--r-- | Source/SPConnectionControllerDelegate.m | 27 | ||||
-rw-r--r-- | Source/SPDatabaseDocument.m | 15 |
4 files changed, 10 insertions, 36 deletions
diff --git a/Source/SPConnectionController.h b/Source/SPConnectionController.h index 86167a91..672e983f 100644 --- a/Source/SPConnectionController.h +++ b/Source/SPConnectionController.h @@ -32,7 +32,7 @@ @interface NSObject (BWAnchoredButtonBar) -- (void)setSplitViewDelegate:(id)splitViewDelegate; +- (NSRect)splitView:(NSSplitView *)splitView additionalEffectiveRectOfDividerAtIndex:(NSInteger)dividerIndex; @end diff --git a/Source/SPConnectionController.m b/Source/SPConnectionController.m index 4e8338aa..e22719de 100644 --- a/Source/SPConnectionController.m +++ b/Source/SPConnectionController.m @@ -113,7 +113,7 @@ [connectionView setFrame:[databaseConnectionView frame]]; [databaseConnectionSuperview addSubview:connectionView]; [connectionSplitView setPosition:[[tableDocument valueForKey:@"dbTablesTableView"] frame].size.width-6 ofDividerAtIndex:0]; - [connectionSplitViewButtonBar setSplitViewDelegate:self]; + [connectionSplitView setDelegate:self]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(scrollViewFrameChanged:) name:NSViewFrameDidChangeNotification object:nil]; // Set up a keychain instance and preferences reference, and create the initial favorites list diff --git a/Source/SPConnectionControllerDelegate.m b/Source/SPConnectionControllerDelegate.m index 6bb0ee47..665119da 100644 --- a/Source/SPConnectionControllerDelegate.m +++ b/Source/SPConnectionControllerDelegate.m @@ -110,33 +110,18 @@ #pragma mark - #pragma mark SplitView delegate methods -/** - * When the split view is resized, trigger a resize in the hidden table - * width as well, to keep the connection view and connected view in synch. - * Use this rather than splitViewDidResizeSubviews: as the latter is not - * forwarded by the BWAnchoredButtonBar. - */ -- (CGFloat)splitView:(NSSplitView *)splitView constrainSplitPosition:(CGFloat)proposedPosition ofSubviewAt:(NSInteger)dividerIndex -{ - [databaseConnectionView setPosition:[[[connectionSplitView subviews] objectAtIndex:0] frame].size.width ofDividerAtIndex:0]; - - return proposedPosition; -} - -/** - * Return the maximum possible size of the splitview. - */ -- (CGFloat)splitView:(NSSplitView *)sender constrainMaxCoordinate:(CGFloat)proposedMax ofSubviewAt:(NSInteger)offset +- (NSRect)splitView:(NSSplitView *)splitView additionalEffectiveRectOfDividerAtIndex:(NSInteger)dividerIndex { - return (proposedMax - 445); + return [connectionSplitViewButtonBar splitView:splitView additionalEffectiveRectOfDividerAtIndex:dividerIndex]; } /** - * Return the minimum possible size of the splitview. + * When the split view is resized, trigger a resize in the hidden table + * width as well, to keep the connection view and connected view in synch. */ -- (CGFloat)splitView:(NSSplitView *)sender constrainMinCoordinate:(CGFloat)proposedMin ofSubviewAt:(NSInteger)offset +- (void)splitViewDidResizeSubviews:(NSNotification *)aNotification { - return (proposedMin + 80); + [databaseConnectionView setPosition:[[[connectionSplitView subviews] objectAtIndex:0] frame].size.width ofDividerAtIndex:0]; } #pragma mark - diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m index 1e568fec..b6979dfa 100644 --- a/Source/SPDatabaseDocument.m +++ b/Source/SPDatabaseDocument.m @@ -5267,16 +5267,6 @@ YY_BUFFER_STATE yy_scan_string (const char *); #pragma mark - #pragma mark SplitView delegate methods -- (CGFloat)splitView:(NSSplitView *)splitView constrainMaxCoordinate:(CGFloat)proposedMax ofSubviewAt:(NSInteger)dividerIndex -{ - - // Limit the right view of DBViewSplitter in order to avoid GUI element overlapping - if(splitView == contentViewSplitter) return proposedMax - 495; - - return proposedMax; - -} - /** * tells the splitView that it can collapse views */ @@ -5296,9 +5286,8 @@ YY_BUFFER_STATE yy_scan_string (const char *); - (NSRect)splitView:(NSSplitView *)splitView additionalEffectiveRectOfDividerAtIndex:(NSInteger)dividerIndex { - if (sidebarGrabber != nil) { - NSRect grabberBounds = [sidebarGrabber bounds]; - return [sidebarGrabber convertRect:NSMakeRect(grabberBounds.origin.x + (grabberBounds.size.width - 16), grabberBounds.origin.y, 16, grabberBounds.size.height) toView:splitView]; + if (splitView == contentViewSplitter && sidebarGrabber != nil) { + return [sidebarGrabber splitView:splitView additionalEffectiveRectOfDividerAtIndex:dividerIndex]; } else { return NSZeroRect; } |