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

Fixed central sort. Close #33

This commit is contained in:
Toxblh 2018-04-23 00:54:29 +01:00
parent 719a212913
commit ffbbafa9d9
2 changed files with 15 additions and 3 deletions

View File

@ -23,6 +23,11 @@ extension String {
return substring(from: range.lowerBound, to: range.upperBound)
}
func indexDistance(of character: Character) -> Int? {
guard let index = index(of: character) else { return nil }
return distance(from: startIndex, to: index)
}
func stripComments() -> String {
let str = self
let singleComment = 1;
@ -44,6 +49,8 @@ extension String {
}
if (insideString) {
let jumpStr = String(str[str.index(startIndex, offsetBy: i)..<str.endIndex])
i += (jumpStr.indexDistance(of: "\""))!
continue
}

View File

@ -55,6 +55,7 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
var itemDefinitions: [NSTouchBarItem.Identifier: BarItemDefinition] = [:]
var items: [NSTouchBarItem.Identifier: NSTouchBarItem] = [:]
var leftIdentifiers: [NSTouchBarItem.Identifier] = []
var centerIdentifiers: [NSTouchBarItem.Identifier] = []
var centerItems: [NSTouchBarItem] = []
var rightIdentifiers: [NSTouchBarItem.Identifier] = []
var scrollArea: NSCustomTouchBarItem?
@ -80,9 +81,10 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
}
loadItemDefinitions(jsonItems: jsonItems!)
createItems()
centerItems = self.itemDefinitions.compactMap { (identifier, definition) -> NSTouchBarItem? in
return definition.align == .center ? items[identifier] : nil
}
centerItems = centerIdentifiers.compactMap({ (identifier) -> NSTouchBarItem? in
return items[identifier]
})
self.centerScrollArea = NSTouchBarItem.Identifier("com.toxblh.mtmr.scrollArea.".appending(UUID().uuidString))
self.scrollArea = ScrollViewItem(identifier: centerScrollArea, items: centerItems)
@ -118,6 +120,9 @@ class TouchBarController: NSObject, NSTouchBarDelegate {
if item.align == .right {
rightIdentifiers.append(identifier)
}
if item.align == .center {
centerIdentifiers.append(identifier)
}
}
}