From 4d4af25b2e99e6b3bc692245a0f75a1626a45079 Mon Sep 17 00:00:00 2001 From: Alex Rodionov Date: Wed, 11 Sep 2019 14:53:25 +0600 Subject: [PATCH] Allow to add additional separator after "Clear" item Closes #45 --- Maccy/Maccy.swift | 6 +++++- Maccy/Menu.swift | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Maccy/Maccy.swift b/Maccy/Maccy.swift index 5c847b29..9c5a4ecc 100644 --- a/Maccy/Maccy.swift +++ b/Maccy/Maccy.swift @@ -7,6 +7,7 @@ class Maccy { private let showInStatusBar = "showInStatusBar" private let pasteByDefault = "pasteByDefault" + private let saratovSeparator = "enableSaratovSeparator" private let history: History private let clipboard: Clipboard @@ -28,7 +29,7 @@ class Maccy { self.clipboard = clipboard menu.history = history - UserDefaults.standard.register(defaults: [showInStatusBar: true, pasteByDefault: false]) + UserDefaults.standard.register(defaults: [showInStatusBar: true, pasteByDefault: false, saratovSeparator: false]) } func start() { @@ -74,6 +75,9 @@ class Maccy { private func populateFooter() { menu.addItem(NSMenuItem.separator()) menu.addItem(clearItem) + if UserDefaults.standard.bool(forKey: saratovSeparator) { + menu.addItem(NSMenuItem.separator()) + } menu.addItem(aboutItem) menu.addItem(NSMenuItem(title: "Quit", action: #selector(NSApp.stop), keyEquivalent: "q")) } diff --git a/Maccy/Menu.swift b/Maccy/Menu.swift index b77967f2..4defc92a 100644 --- a/Maccy/Menu.swift +++ b/Maccy/Menu.swift @@ -173,7 +173,7 @@ class Menu: NSMenu, NSMenuDelegate { } private func isSystemItem(item: NSMenuItem) -> Bool { - let items = allItems.split(whereSeparator: { $0.isSeparatorItem }) + let items = allItems.split(maxSplits: 1, omittingEmptySubsequences: true, whereSeparator: { $0.isSeparatorItem }) return items.count > 1 && items[1].contains(item) } }