macos: add needsConfirmQuit helper to surface and split structs

This commit is contained in:
Mitchell Hashimoto
2023-10-28 21:43:32 -07:00
parent 981efb11db
commit cd18f3455b
2 changed files with 23 additions and 0 deletions

View File

@@ -96,6 +96,22 @@ extension Ghostty {
container.bottomRight.close()
}
}
/// Returns true if any surface in the split stack requires quit confirmation.
func needsConfirmQuit() -> Bool {
switch (self) {
case .noSplit(let leaf):
return leaf.surface.needsConfirmQuit
case .horizontal(let container):
return container.topLeft.needsConfirmQuit() ||
container.bottomRight.needsConfirmQuit()
case .vertical(let container):
return container.topLeft.needsConfirmQuit() ||
container.bottomRight.needsConfirmQuit()
}
}
/// Returns true if the split tree contains the given view.
func contains(view: SurfaceView) -> Bool {