diff options
author | rowanbeentje <rowan@beent.je> | 2010-08-03 00:38:50 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2010-08-03 00:38:50 +0000 |
commit | b1b0bb0fcb687b06d0af23b972396eb6f412852f (patch) | |
tree | f7099d59d03fa55ec417eb770b4c741b27b5882c | |
parent | 27afe9f25ea1b7b15ed9fb12928f9d3a6fcf9788 (diff) | |
download | sequelpro-b1b0bb0fcb687b06d0af23b972396eb6f412852f.tar.gz sequelpro-b1b0bb0fcb687b06d0af23b972396eb6f412852f.tar.bz2 sequelpro-b1b0bb0fcb687b06d0af23b972396eb6f412852f.zip |
Improve tab dragging:
- Fix toolbar issues when the last tab is dragged "out of" a window (eg a window is moved via the only tab left inside it)
- Fix window positioning flicker when dragging a tab out of its window
-rw-r--r-- | Frameworks/PSMTabBar/PSMTabDragAssistant.m | 8 | ||||
-rw-r--r-- | Source/SPDatabaseDocument.m | 1 | ||||
-rw-r--r-- | Source/SPWindowController.m | 3 |
3 files changed, 6 insertions, 6 deletions
diff --git a/Frameworks/PSMTabBar/PSMTabDragAssistant.m b/Frameworks/PSMTabBar/PSMTabDragAssistant.m index 1e7b22a1..2b670b67 100644 --- a/Frameworks/PSMTabBar/PSMTabDragAssistant.m +++ b/Frameworks/PSMTabBar/PSMTabDragAssistant.m @@ -305,11 +305,9 @@ static PSMTabDragAssistant *sharedDragAssistant = nil; } } - NSPoint windowOrigin = [[control window] frame].origin; - - windowOrigin.x -= _dragWindowOffset.width; - windowOrigin.y += _dragWindowOffset.height; - [[_draggedView window] setFrameOrigin:windowOrigin]; + NSPoint targetPoint = [[_draggedTab window] frame].origin; + targetPoint.y += _dragWindowOffset.height; + [[_draggedView window] setFrameTopLeftPoint:targetPoint]; [[_draggedView window] orderWindow:NSWindowBelow relativeTo:[[_draggedTab window] windowNumber]]; } else if (_currentTearOffStyle == PSMTabBarTearOffMiniwindow && ![_draggedTab alternateImage]) { diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m index 312d20af..c282b219 100644 --- a/Source/SPDatabaseDocument.m +++ b/Source/SPDatabaseDocument.m @@ -4468,6 +4468,7 @@ } + // Otherwise position the sheet beneath the tab bar if it's visible rect.origin.y -= [[parentWindowController valueForKey:@"tabBar"] frame].size.height - 1; return rect; } diff --git a/Source/SPWindowController.m b/Source/SPWindowController.m index 7eb83765..324e2244 100644 --- a/Source/SPWindowController.m +++ b/Source/SPWindowController.m @@ -391,7 +391,8 @@ // If the window changed, perform additional processing. if (draggedFromWindow != [tabBarControl window]) { - // Update the old window + // Update the old window, ensuring the toolbar is cleared to prevent issues with toolbars in multiple windows + [draggedFromWindow setToolbar:nil]; [[draggedFromWindow windowController] updateSelectedTableDocument]; // Update the item's document's window and controller |