From ec228fdddef666e964a98cf2c46480a278b15f7d Mon Sep 17 00:00:00 2001 From: Serg Date: Sun, 3 Jun 2018 10:30:03 +0700 Subject: [PATCH] fix wrong preset on close group --- MTMR/TouchBarController.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/MTMR/TouchBarController.swift b/MTMR/TouchBarController.swift index bde2f65..6aa8a60 100644 --- a/MTMR/TouchBarController.swift +++ b/MTMR/TouchBarController.swift @@ -59,6 +59,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate { var touchBar: NSTouchBar! + fileprivate var lastPresetPath = "" var jsonItems: [BarItemDefinition] = [] var itemDefinitions: [NSTouchBarItem.Identifier: BarItemDefinition] = [:] var items: [NSTouchBarItem.Identifier: NSTouchBarItem] = [:] @@ -95,8 +96,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate { SupportedTypesHolder.sharedInstance.register(typename: "close") { _ in return (item: .staticButton(title: ""), action: .custom(closure: { [weak self] in guard let `self` = self else { return } - self.touchbarNeedRefresh = true - self.reloadStandardConfig() //fixme current config, not standard one! + self.reloadPreset(path: self.lastPresetPath) }), longAction: .none, parameters: [.width: .width(30), .image: .image(source: (NSImage(named: .stopProgressFreestandingTemplate))!)]) } @@ -108,7 +108,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate { NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(activeApplicationChanged), name: NSWorkspace.didTerminateApplicationNotification, object: nil) NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(activeApplicationChanged), name: NSWorkspace.didActivateApplicationNotification, object: nil) - reloadPreset(path: standardConfigPath) + reloadStandardConfig() } func createAndUpdatePreset(newJsonItems: [BarItemDefinition]) { @@ -166,6 +166,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate { } func reloadPreset(path: String) { + lastPresetPath = path let items = path.fileData?.barItemDefinitions() ?? [BarItemDefinition(type: .staticButton(title: "bad preset"), action: .none, longAction: .none, additionalParameters: [:])] touchbarNeedRefresh = true createAndUpdatePreset(newJsonItems: items)