From 8c01160afa45a32786fe31a6ba5577116ea249ac Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 4 Aug 2023 17:39:40 -0700 Subject: [PATCH] macos: "+" button ensures tab is added to same window group --- .../Features/Primary Window/PrimaryWindowController.swift | 6 ++---- .../Features/Primary Window/PrimaryWindowManager.swift | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/macos/Sources/Features/Primary Window/PrimaryWindowController.swift b/macos/Sources/Features/Primary Window/PrimaryWindowController.swift index 751bff7a8..180fee960 100644 --- a/macos/Sources/Features/Primary Window/PrimaryWindowController.swift +++ b/macos/Sources/Features/Primary Window/PrimaryWindowController.swift @@ -12,10 +12,8 @@ class PrimaryWindowController: NSWindowController { // This is required for the "+" button to show up in the tab bar to add a // new tab. override func newWindowForTab(_ sender: Any?) { - // TODO: specify our window so the tab is created in the proper window - // guard let window = self.window else { preconditionFailure("Expected window to be loaded") } - + guard let window = self.window else { preconditionFailure("Expected window to be loaded") } guard let manager = self.windowManager else { return } - manager.addNewTab() + manager.addNewTab(to: window) } } diff --git a/macos/Sources/Features/Primary Window/PrimaryWindowManager.swift b/macos/Sources/Features/Primary Window/PrimaryWindowManager.swift index 81b4f1b92..c4e6c93e6 100644 --- a/macos/Sources/Features/Primary Window/PrimaryWindowManager.swift +++ b/macos/Sources/Features/Primary Window/PrimaryWindowManager.swift @@ -48,9 +48,13 @@ class PrimaryWindowManager { func addNewTab() { guard let existingWindow = mainWindow() else { return } + addNewTab(to: existingWindow) + } + + func addNewTab(to window: NSWindow) { guard let controller = createWindowController() else { return } guard let newWindow = addManagedWindow(windowController: controller)?.window else { return } - existingWindow.addTabbedWindow(newWindow, ordered: .above) + window.addTabbedWindow(newWindow, ordered: .above) newWindow.makeKeyAndOrderFront(nil) }