1
0
mirror of https://github.com/Toxblh/MTMR.git synced 2026-01-11 01:18:39 +00:00

Merge pull request #54 from Toxblh/fix-leaked-items-and-timers

Fix leaking timers
This commit is contained in:
Anton Palgunov 2018-04-29 18:19:55 +01:00 committed by GitHub
commit 9c5a19925b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View File

@ -35,7 +35,7 @@ class AppleScriptTouchBarItem: CustomButtonTouchBarItem {
func refreshAndSchedule() {
#if DEBUG
print("refresh happened")
print("refresh happened (interval \(self.interval)), self \(self.identifier.rawValue))")
#endif
let scriptResult = self.execute()
DispatchQueue.main.async {

View File

@ -50,7 +50,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
static let shared = TouchBarController()
let touchBar = NSTouchBar()
var touchBar: NSTouchBar!
var itemDefinitions: [NSTouchBarItem.Identifier: BarItemDefinition] = [:]
var items: [NSTouchBarItem.Identifier: NSTouchBarItem] = [:]
@ -69,6 +69,10 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
}
func createAndUpdatePreset(jsonItems: [BarItemDefinition]? = nil) {
if let oldBar = self.touchBar {
NSTouchBar.minimizeSystemModalFunctionBar(oldBar)
}
self.touchBar = NSTouchBar()
var jsonItems = jsonItems
self.itemDefinitions = [:]
self.items = [:]
@ -110,8 +114,11 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
}
func loadItemDefinitions(jsonItems: [BarItemDefinition]) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH-mm-ss"
let time = dateFormatter.string(from: Date())
for item in jsonItems {
let identifierString = item.type.identifierBase.appending(UUID().uuidString)
let identifierString = item.type.identifierBase.appending(time + "--" + UUID().uuidString)
let identifier = NSTouchBarItem.Identifier(identifierString)
itemDefinitions[identifier] = item
if item.align == .left {