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

Update native widgets to use new actions parameter

This commit is contained in:
Matteo Piccina 2020-07-29 20:52:25 +02:00
parent 420614b7ba
commit 2c179606d3
7 changed files with 40 additions and 10 deletions

View File

@ -11,7 +11,7 @@ class DarkModeBarItem: CustomButtonTouchBarItem, Widget {
isBordered = false isBordered = false
setWidth(value: 24) setWidth(value: 24)
tapClosure = { [weak self] in self?.DarkModeToggle() } actions[.singleTap] = { [weak self] in self?.DarkModeToggle() }
timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(refresh), userInfo: nil, repeats: true) timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(refresh), userInfo: nil, repeats: true)

View File

@ -16,7 +16,7 @@ class DnDBarItem: CustomButtonTouchBarItem {
isBordered = false isBordered = false
setWidth(value: 32) setWidth(value: 32)
tapClosure = { [weak self] in self?.DnDToggle() } actions[.singleTap] = { [weak self] in self?.DnDToggle() }
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(refresh), userInfo: nil, repeats: true) timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(refresh), userInfo: nil, repeats: true)

View File

@ -42,8 +42,11 @@ class MusicBarItem: CustomButtonTouchBarItem {
super.init(identifier: identifier, title: "") super.init(identifier: identifier, title: "")
isBordered = false isBordered = false
tapClosure = { [weak self] in self?.playPause() } actions = [
longTapClosure = { [weak self] in self?.nextTrack() } .singleTap: { [weak self] in self?.playPause() },
.doubleTap: { [weak self] in self?.previousTrack() },
.longTap: { [weak self] in self?.nextTrack() }
]
refreshAndSchedule() refreshAndSchedule()
} }
@ -178,6 +181,31 @@ class MusicBarItem: CustomButtonTouchBarItem {
} }
} }
@objc func previousTrack() {
for ident in playerBundleIdentifiers {
if let musicPlayer = SBApplication(bundleIdentifier: ident.rawValue) {
if musicPlayer.isRunning {
if ident == .Spotify {
let mp = (musicPlayer as SpotifyApplication)
mp.previousTrack!()
updatePlayer()
return
} else if ident == .iTunes {
let mp = (musicPlayer as iTunesApplication)
mp.previousTrack!()
updatePlayer()
return
} else if ident == .Music {
let mp = (musicPlayer as MusicApplication)
mp.previousTrack!()
updatePlayer()
return
}
}
}
}
}
func refreshAndSchedule() { func refreshAndSchedule() {
DispatchQueue.main.async { DispatchQueue.main.async {
self.updatePlayer() self.updatePlayer()

View File

@ -31,7 +31,7 @@ class NightShiftBarItem: CustomButtonTouchBarItem {
isBordered = false isBordered = false
setWidth(value: 28) setWidth(value: 28)
tapClosure = { [weak self] in self?.nightShiftAction() } actions[.singleTap] = { [weak self] in self?.nightShiftAction() }
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(refresh), userInfo: nil, repeats: true) timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(refresh), userInfo: nil, repeats: true)

View File

@ -50,8 +50,10 @@ class PomodoroBarItem: CustomButtonTouchBarItem, Widget {
self.workTime = workTime self.workTime = workTime
self.restTime = restTime self.restTime = restTime
super.init(identifier: identifier, title: defaultTitle) super.init(identifier: identifier, title: defaultTitle)
tapClosure = { [weak self] in self?.startStopWork() } actions = [
longTapClosure = { [weak self] in self?.startStopRest() } .singleTap: { [weak self] in self?.startStopWork() },
.longTap: { [weak self] in self?.startStopRest() }
]
} }
required init?(coder _: NSCoder) { required init?(coder _: NSCoder) {

View File

@ -75,7 +75,7 @@ class UpNextScrubberTouchBarItem: NSCustomTouchBarItem {
let item = UpNextItem(event: event) let item = UpNextItem(event: event)
item.backgroundColor = self.getBackgroundColor(startDate: event.startDate) item.backgroundColor = self.getBackgroundColor(startDate: event.startDate)
// Bind tap event // Bind tap event
item.tapClosure = { [weak self] in item.actions[.singleTap] = { [weak self] in
self?.switchToApp(event: event) self?.switchToApp(event: event)
} }
// Add to view // Add to view

View File

@ -51,7 +51,7 @@ class YandexWeatherBarItem: CustomButtonTouchBarItem, CLLocationManagerDelegate
manager.desiredAccuracy = kCLLocationAccuracyHundredMeters manager.desiredAccuracy = kCLLocationAccuracyHundredMeters
manager.startUpdatingLocation() manager.startUpdatingLocation()
tapClosure = tapClosure ?? defaultTapAction actions[.singleTap] = actions[.singleTap] ?? defaultTapAction
} }
required init?(coder _: NSCoder) { required init?(coder _: NSCoder) {