From 4e2a43f0a335de3cab45b8cd238dd265643c019f Mon Sep 17 00:00:00 2001 From: Roman Geraskin Date: Thu, 21 Aug 2025 00:06:23 +0300 Subject: [PATCH] feat(preferences): add open custom layouts folder button --- .../LayoutsPreferencesViewController.swift | 11 +++++++++++ .../LayoutsPreferencesViewController.xib | 14 ++++++++++++++ 2 files changed, 25 insertions(+) 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 @@ +