aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2010-08-03 00:38:50 +0000
committerrowanbeentje <rowan@beent.je>2010-08-03 00:38:50 +0000
commitb1b0bb0fcb687b06d0af23b972396eb6f412852f (patch)
treef7099d59d03fa55ec417eb770b4c741b27b5882c
parent27afe9f25ea1b7b15ed9fb12928f9d3a6fcf9788 (diff)
downloadsequelpro-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.m8
-rw-r--r--Source/SPDatabaseDocument.m1
-rw-r--r--Source/SPWindowController.m3
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