From 9ec8428af6a7d9d12588fcd3ca874f1a0677f2a0 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 11 Dec 2022 12:49:21 +0800 Subject: [PATCH] Repo // Force all windows to be focused on call, etc. --- Source/Modules/WindowControllers/CtlAboutWindow.swift | 3 ++- Source/Modules/WindowControllers/CtlClientListMgr.swift | 3 ++- Source/Modules/WindowControllers/CtlPrefWindow.swift | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/Modules/WindowControllers/CtlAboutWindow.swift b/Source/Modules/WindowControllers/CtlAboutWindow.swift index d1ee69a9..7502b039 100644 --- a/Source/Modules/WindowControllers/CtlAboutWindow.swift +++ b/Source/Modules/WindowControllers/CtlAboutWindow.swift @@ -17,11 +17,12 @@ class CtlAboutWindow: NSWindowController { static func show() { if shared == nil { shared = CtlAboutWindow(windowNibName: "frmAboutWindow") } - guard let sharedWindow = shared?.window else { return } + guard let shared = shared, let sharedWindow = shared.window else { return } sharedWindow.setPosition(vertical: .top, horizontal: .left, padding: 20) sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示 sharedWindow.level = .statusBar sharedWindow.titlebarAppearsTransparent = true + shared.showWindow(shared) NSApp.activate(ignoringOtherApps: true) } diff --git a/Source/Modules/WindowControllers/CtlClientListMgr.swift b/Source/Modules/WindowControllers/CtlClientListMgr.swift index 3c3be865..3680c286 100644 --- a/Source/Modules/WindowControllers/CtlClientListMgr.swift +++ b/Source/Modules/WindowControllers/CtlClientListMgr.swift @@ -18,11 +18,12 @@ class CtlClientListMgr: NSWindowController, NSTableViewDelegate, NSTableViewData static func show() { if shared == nil { shared = CtlClientListMgr(windowNibName: "frmClientListMgr") } - guard let sharedWindow = shared?.window else { return } + guard let shared = shared, let sharedWindow = shared.window else { return } sharedWindow.setPosition(vertical: .center, horizontal: .right, padding: 20) sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示 sharedWindow.level = .statusBar sharedWindow.titlebarAppearsTransparent = true + shared.showWindow(shared) NSApp.activate(ignoringOtherApps: true) } diff --git a/Source/Modules/WindowControllers/CtlPrefWindow.swift b/Source/Modules/WindowControllers/CtlPrefWindow.swift index 0e3a511b..180de72e 100644 --- a/Source/Modules/WindowControllers/CtlPrefWindow.swift +++ b/Source/Modules/WindowControllers/CtlPrefWindow.swift @@ -66,13 +66,14 @@ class CtlPrefWindow: NSWindowController, NSWindowDelegate { public static var shared: CtlPrefWindow? static func show() { - shared = CtlPrefWindow(windowNibName: "frmPrefWindow") - guard let sharedWindow = shared?.window else { return } + if shared == nil { shared = CtlPrefWindow(windowNibName: "frmPrefWindow") } + guard let shared = shared, let sharedWindow = shared.window else { return } sharedWindow.delegate = shared sharedWindow.setPosition(vertical: .top, horizontal: .right, padding: 20) sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示 sharedWindow.level = .statusBar sharedWindow.titlebarAppearsTransparent = true + shared.showWindow(shared) NSApp.activate(ignoringOtherApps: true) }