feat(dialog): show tab name in close tab confirmation
Include the panel's custom title, terminal title, or directory name in the close tab confirmation dialog's informative text so users know which tab will be closed. Falls back to the generic message when no name is available. The dialog title stays "Close tab?" for consistency with the close-confirmation detection in AppDelegate. Fixes #1603 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ed18e32d11
commit
f0f734de0a
1 changed files with 21 additions and 1 deletions
|
|
@ -9017,8 +9017,28 @@ extension Workspace: BonsplitDelegate {
|
|||
@MainActor
|
||||
private func confirmClosePanel(for tabId: TabID) async -> Bool {
|
||||
let alert = NSAlert()
|
||||
|
||||
alert.messageText = String(localized: "dialog.closeTab.title", defaultValue: "Close tab?")
|
||||
alert.informativeText = String(localized: "dialog.closeTab.message", defaultValue: "This will close the current tab.")
|
||||
|
||||
let panelName: String? = {
|
||||
guard let panelId = panelIdFromSurfaceId(tabId) else { return nil }
|
||||
if let custom = panelCustomTitles[panelId], !custom.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
return custom
|
||||
}
|
||||
if let title = panelTitles[panelId], !title.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
return title
|
||||
}
|
||||
if let dir = panelDirectories[panelId], !dir.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
return (dir as NSString).lastPathComponent
|
||||
}
|
||||
return nil
|
||||
}()
|
||||
|
||||
if let panelName {
|
||||
alert.informativeText = String(localized: "dialog.closeTab.messageNamed", defaultValue: "This will close \"\(panelName)\".")
|
||||
} else {
|
||||
alert.informativeText = String(localized: "dialog.closeTab.message", defaultValue: "This will close the current tab.")
|
||||
}
|
||||
alert.alertStyle = .warning
|
||||
alert.addButton(withTitle: String(localized: "dialog.closeTab.close", defaultValue: "Close"))
|
||||
alert.addButton(withTitle: String(localized: "dialog.closeTab.cancel", defaultValue: "Cancel"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue