From c0936e3272bc0488b28176a49f471681bc87e3dc Mon Sep 17 00:00:00 2001 From: Ethan Wong Date: Sat, 12 Nov 2022 10:33:45 +0800 Subject: [PATCH] Prefer default button implementation for standard toolbar items. --- Mac/MainWindow/MainWindowController.swift | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Mac/MainWindow/MainWindowController.swift b/Mac/MainWindow/MainWindowController.swift index 64dd77e59..5a3afd4e1 100644 --- a/Mac/MainWindow/MainWindowController.swift +++ b/Mac/MainWindow/MainWindowController.swift @@ -1386,19 +1386,25 @@ private extension MainWindowController { } } - func buildToolbarButton(_ itemIdentifier: NSToolbarItem.Identifier, _ title: String, _ image: NSImage, _ selector: String) -> NSToolbarItem { + func buildToolbarButton(_ itemIdentifier: NSToolbarItem.Identifier, _ title: String, _ image: NSImage, _ selector: String, usesCustomButtonView: Bool = false) -> NSToolbarItem { let toolbarItem = RSToolbarItem(itemIdentifier: itemIdentifier) toolbarItem.autovalidates = true - let button = NSButton() - button.bezelStyle = .texturedRounded - button.image = image - button.imageScaling = .scaleProportionallyDown - button.action = Selector((selector)) - - toolbarItem.view = button toolbarItem.toolTip = title toolbarItem.label = title + + if usesCustomButtonView { + let button = NSButton() + button.bezelStyle = .texturedRounded + button.image = image + button.imageScaling = .scaleProportionallyDown + button.action = Selector((selector)) + toolbarItem.view = button + } else { + toolbarItem.image = image + toolbarItem.isBordered = true + toolbarItem.action = Selector((selector)) + } return toolbarItem }