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

filter center items, prepare for scrollView

This commit is contained in:
Serg 2018-04-14 00:32:12 +07:00
parent 85785018f4
commit bbc3d9dcfe

View File

@ -47,6 +47,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
var itemDefinitions: [NSTouchBarItem.Identifier: BarItemDefinition] = [:] var itemDefinitions: [NSTouchBarItem.Identifier: BarItemDefinition] = [:]
var items: [NSTouchBarItem.Identifier: NSTouchBarItem] = [:] var items: [NSTouchBarItem.Identifier: NSTouchBarItem] = [:]
var orderedIdentifiers: [NSTouchBarItem.Identifier] = [] var orderedIdentifiers: [NSTouchBarItem.Identifier] = []
var centerItems: [NSTouchBarItem] = []
private override init() { private override init() {
super.init() super.init()
@ -56,6 +57,9 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
loadItemDefinitions() loadItemDefinitions()
createItems() createItems()
centerItems = self.orderedIdentifiers.flatMap { identifier -> NSTouchBarItem? in
return itemDefinitions[identifier]?.centerAligned == true ? items[identifier] : nil
}
touchBar.delegate = self touchBar.delegate = self
touchBar.defaultItemIdentifiers = self.orderedIdentifiers touchBar.defaultItemIdentifiers = self.orderedIdentifiers
@ -110,7 +114,9 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
} }
func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItem.Identifier) -> NSTouchBarItem? { func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItem.Identifier) -> NSTouchBarItem? {
guard let item = self.items[identifier] else { guard let item = self.items[identifier],
let definition = self.itemDefinitions[identifier],
!definition.centerAligned else {
return nil return nil
} }
return item return item
@ -133,6 +139,10 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
barItem = VolumeViewController(identifier: identifier) barItem = VolumeViewController(identifier: identifier)
case .brightness: case .brightness:
barItem = BrightnessViewController(identifier: identifier) barItem = BrightnessViewController(identifier: identifier)
// case .scrollArea:
// for item in centerItems {
// //todo:add item.view to scrollview
// }
} }
for parameter in item.additionalParameters { for parameter in item.additionalParameters {
if case .width(let value) = parameter, let widthBarItem = barItem as? CanSetWidth { if case .width(let value) = parameter, let widthBarItem = barItem as? CanSetWidth {