diff --git a/Amethyst/Preferences/LayoutsPreferencesViewController.swift b/Amethyst/Preferences/LayoutsPreferencesViewController.swift index cffb3242..c5fd328d 100644 --- a/Amethyst/Preferences/LayoutsPreferencesViewController.swift +++ b/Amethyst/Preferences/LayoutsPreferencesViewController.swift @@ -12,6 +12,7 @@ class LayoutsPreferencesViewController: NSViewController, NSTableViewDataSource, private var layoutKeys: [String] = [] @IBOutlet var layoutsTableView: NSTableView? + @IBOutlet weak var openCustomLayoutsFolderButton: NSButton? @IBOutlet weak var relaunchButton: NSButton? override func awakeFromNib() { @@ -100,6 +101,16 @@ class LayoutsPreferencesViewController: NSViewController, NSTableViewDataSource, AppManager.relaunch() } + @IBAction func openCustomLayoutsFolder(_ sender: AnyObject) { + do { + let layoutsDirectory = try FileManager.default.layoutsDirectory() + NSWorkspace.shared.open(layoutsDirectory) + } catch { + // Handle error - could show an alert or log the error + NSLog("Failed to open layouts directory: \(error)") + } + } + func tableView(_ tableView: NSTableView, acceptDrop info: NSDraggingInfo, row: Int, dropOperation: NSTableView.DropOperation) -> Bool { if let dragData = info.draggingPasteboard.data(forType: .string), let rowString = String(bytes: dragData, encoding: .utf8), diff --git a/Amethyst/Preferences/LayoutsPreferencesViewController.xib b/Amethyst/Preferences/LayoutsPreferencesViewController.xib index d683bfea..65772835 100644 --- a/Amethyst/Preferences/LayoutsPreferencesViewController.xib +++ b/Amethyst/Preferences/LayoutsPreferencesViewController.xib @@ -9,6 +9,7 @@ + @@ -163,6 +164,16 @@ +