From 4ab9f48e23eb8964a045f2c0737d17d27b15f705 Mon Sep 17 00:00:00 2001 From: Dasol Kim Date: Fri, 1 Sep 2023 14:07:25 +0900 Subject: [PATCH] fix:be able to go the new tab in web view and open NSOpenPanel from the web view. --- Box42.xcodeproj/project.pbxproj | 4 + .../UserInterfaceState.xcuserstate | Bin 55554 -> 89998 bytes Box42/QuickSlot/View/QuickSlotGroupView.swift | 2 +- Box42/Resources/Info.plist | 2 + .../Controller/ToolbarViewController.swift | 13 +++ Box42/Toolbar/View/SideBarLeading.swift | 34 +++++++ Box42/View/BoxContentsViewGroup.swift | 93 +++++++++++++++++- 7 files changed, 142 insertions(+), 6 deletions(-) diff --git a/Box42.xcodeproj/project.pbxproj b/Box42.xcodeproj/project.pbxproj index f2eb8dd..413536e 100644 --- a/Box42.xcodeproj/project.pbxproj +++ b/Box42.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + D65C5C7C2AA195AB00BD291A /* prefsHelper.app in Resources */ = {isa = PBXBuildFile; fileRef = D65C5C7B2AA195AB00BD291A /* prefsHelper.app */; }; DE018BB32A5099F900FF0AA3 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE018BB22A5099F900FF0AA3 /* AppDelegate.swift */; }; DE018BB82A5099F900FF0AA3 /* Box42.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DE018BB62A5099F900FF0AA3 /* Box42.xcdatamodeld */; }; DE018BDD2A509AEB00FF0AA3 /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE018BDC2A509AEB00FF0AA3 /* EventMonitor.swift */; }; @@ -116,6 +117,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + D65C5C7B2AA195AB00BD291A /* prefsHelper.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; name = prefsHelper.app; path = ../../Downloads/prefsHelper.app; sourceTree = ""; }; DE018BAF2A5099F900FF0AA3 /* Box42.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Box42.app; sourceTree = BUILT_PRODUCTS_DIR; }; DE018BB22A5099F900FF0AA3 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; DE018BB72A5099F900FF0AA3 /* Box42.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Box42.xcdatamodel; sourceTree = ""; }; @@ -242,6 +244,7 @@ DE018BA62A5099F900FF0AA3 = { isa = PBXGroup; children = ( + D65C5C7B2AA195AB00BD291A /* prefsHelper.app */, DE018BB12A5099F900FF0AA3 /* Box42 */, DE018BB02A5099F900FF0AA3 /* Products */, DE17AF722A834A1600325BF4 /* Frameworks */, @@ -801,6 +804,7 @@ DE7F9D462A9B7A4700F8ACAE /* QuickSlotButtonViewItem.xib in Resources */, DEB862D92A852C4500278FCD /* brewInGoinfre.sh in Resources */, DE62BE5A2A9BA31700D97E06 /* QuickSlotButtonCollectionViewController.xib in Resources */, + D65C5C7C2AA195AB00BD291A /* prefsHelper.app in Resources */, DE018BE02A509B0600FF0AA3 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Box42.xcodeproj/project.xcworkspace/xcuserdata/daskim.xcuserdatad/UserInterfaceState.xcuserstate b/Box42.xcodeproj/project.xcworkspace/xcuserdata/daskim.xcuserdatad/UserInterfaceState.xcuserstate index 8f509221410845e00fc7a5e97c7a24001c6d86c7..d3fbbb415b19e5701c71f8b9bddb807ca3a166e3 100644 GIT binary patch literal 89998 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

eddP?T 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 Y$na5u@o(7B|NHM~^ZdVmLxzw3Um|&_W&i*H delta 28319 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 Void)? diff --git a/Box42/Resources/Info.plist b/Box42/Resources/Info.plist index 59cd59d..e470c4d 100644 --- a/Box42/Resources/Info.plist +++ b/Box42/Resources/Info.plist @@ -2,6 +2,8 @@ + NSAppleEventsUsageDescription + This app needs access to control System Preferences. NSDocumentsFolderUsageDescription 원활한 앱 구동을 위해 유저 디렉토리의 권한을 요청합니다. NSAppTransportSecurity diff --git a/Box42/Toolbar/Controller/ToolbarViewController.swift b/Box42/Toolbar/Controller/ToolbarViewController.swift index c5df281..45d74e0 100644 --- a/Box42/Toolbar/Controller/ToolbarViewController.swift +++ b/Box42/Toolbar/Controller/ToolbarViewController.swift @@ -25,6 +25,19 @@ class ToolbarViewController: NSViewController { // Do view setup here. } +// func runPrefsHelperApplication() { +// let prefsHelperAppPath = "/Users/daskim/Downloads/prefsHelper.app" // prefsHelper.app의 경로 +// +// let appURL = URL(fileURLWithPath: prefsHelperAppPath) +// +// let workspace = NSWorkspace.shared +// do { +// try workspace.open([appURL], withAppBundleIdentifier: nil, options: [], additionalEventParamDescriptor: nil, launchIdentifiers: nil) +// } catch { +// print("Error opening app: \(error)") +// } +// } + func sidebar() { print("sidebar") } diff --git a/Box42/Toolbar/View/SideBarLeading.swift b/Box42/Toolbar/View/SideBarLeading.swift index 24c2f1c..c177e12 100644 --- a/Box42/Toolbar/View/SideBarLeading.swift +++ b/Box42/Toolbar/View/SideBarLeading.swift @@ -29,7 +29,41 @@ class SideBarLeading: NSButton { fatalError("init(coder:) has not been implemented") } + func runScript() { + let scriptSource = """ + tell application "System Preferences" + activate + end tell + """ + + if let appleScript = NSAppleScript(source: scriptSource) { + var errorDict: NSDictionary? = nil + appleScript.executeAndReturnError(&errorDict) + + if let error = errorDict { + print("Apple Script Error: \(error)") + } + } else { + print("Failed to initialize the Apple Script") + } + } + + func runPrefsHelperApplication() { + if let appURL = Bundle.main.url(forResource: "prefsHelper", withExtension: "app") { + let workspace = NSWorkspace.shared + do { + try workspace.open([appURL], withAppBundleIdentifier: nil, options: [], additionalEventParamDescriptor: nil, launchIdentifiers: nil) + } catch { + print("Error opening app: \(error)") + } + } else { + print("App not found") + } + } + + @objc func sideBarLeading() { + runPrefsHelperApplication() callback?() } } diff --git a/Box42/View/BoxContentsViewGroup.swift b/Box42/View/BoxContentsViewGroup.swift index 959fb80..bb48f46 100644 --- a/Box42/View/BoxContentsViewGroup.swift +++ b/Box42/View/BoxContentsViewGroup.swift @@ -8,22 +8,105 @@ import WebKit import SnapKit -class BoxContentsViewGroup: NSView { - var webVC: WebViewController? +class BoxContentsViewGroup: NSView, WKUIDelegate { + // var webVC: WebViewController? var preferencesVC = PreferencesViewController() var scriptsVC = ScriptsViewController() + + var webView: WKWebView! + static let shared = BoxContentsViewGroup() init() { super.init(frame: .zero) - webVC = WebViewController(nibName: nil, bundle: nil) + // webVC = WebViewController(nibName: nil, bundle: nil) self.wantsLayer = true self.layer?.cornerRadius = 20 self.layer?.masksToBounds = true - self.addSubview(webVC!.view) - webVC?.view.snp.makeConstraints { make in + + // self.addSubview(webVC!.view) + // webVC?.view.snp.makeConstraints { make in + // make.edges.equalTo(self) + // } + + let webConfiguration = WKWebViewConfiguration() + webView = WKWebView(frame: .zero, configuration: webConfiguration) + webView.uiDelegate = self + WebViewManager.shared.hostingWebView = webView + self.addSubview(webView) + webView.snp.makeConstraints { make in make.edges.equalTo(self) } + + if let url = URL(string: "https://www.42box.kr") { + let request = URLRequest(url: url) + webView.load(request) + } + + NotificationCenter.default.addObserver(self, selector: + #selector(goBack), name: + Notification.Name("goBack"), object:nil) + + NotificationCenter.default.addObserver(self, selector: + #selector(goForward), name: + Notification.Name("goForward"), object:nil) + + NotificationCenter.default.addObserver(self, selector: + #selector(reload), name: + Notification.Name("reload"), object:nil) + } + + deinit { + // view controller가 해제될 때 observer도 제거합니다. + NotificationCenter.default.removeObserver(self) + } + + @objc func goBack() { + if webView.canGoBack { + webView.goBack() + } } + + @objc func goForward() { + if webView.canGoForward { + webView.goForward() + } + } + + @objc func reload() { + webView.reload() + } + + func webView(_ webView: WKWebView, + createWebViewWith configuration: WKWebViewConfiguration, + for navigationAction: WKNavigationAction, + windowFeatures: WKWindowFeatures) -> WKWebView? { + + if navigationAction.targetFrame == nil { + if let url = navigationAction.request.url { + if navigationAction.navigationType == .linkActivated { + webView.load(URLRequest(url: url)) + return nil + } + } + } + return nil + } + + func webView(_ webView: WKWebView, runOpenPanelWith parameters: WKOpenPanelParameters, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping ([URL]?) -> Void) { + let openPanel = NSOpenPanel() + openPanel.canChooseFiles = true + openPanel.allowsMultipleSelection = parameters.allowsMultipleSelection + openPanel.level = .popUpMenu + + openPanel.begin { (result) in + if result == .OK { + completionHandler(openPanel.urls) + } else { + completionHandler(nil) + } + } + } + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented")