Voltaire // Allow back/forward keys to loop candidates.

This commit is contained in:
ShikiSuen 2022-02-23 21:08:31 +08:00
parent d73a5497c7
commit d3c0868722
2 changed files with 8 additions and 38 deletions

View File

@ -273,29 +273,14 @@ public class HorizontalCandidateController: CandidateController {
} }
public override func highlightNextCandidate() -> Bool { public override func highlightNextCandidate() -> Bool {
guard let delegate = delegate else { guard let delegate = delegate else {return false}
return false selectedCandidateIndex = (selectedCandidateIndex + 1 >= delegate.candidateCountForController(self)) ? 0 : selectedCandidateIndex + 1
}
let currentIndex = selectedCandidateIndex
if currentIndex + 1 >= delegate.candidateCountForController(self) {
return false
}
selectedCandidateIndex = currentIndex + 1
return true return true
} }
public override func highlightPreviousCandidate() -> Bool { public override func highlightPreviousCandidate() -> Bool {
guard delegate != nil else { guard let delegate = delegate else {return false}
return false selectedCandidateIndex = (selectedCandidateIndex == 0) ? delegate.candidateCountForController(self) - 1 : selectedCandidateIndex - 1
}
let currentIndex = selectedCandidateIndex
if currentIndex == 0 {
return false
}
selectedCandidateIndex = currentIndex - 1
return true return true
} }

View File

@ -279,29 +279,14 @@ public class VerticalCandidateController: CandidateController {
} }
public override func highlightNextCandidate() -> Bool { public override func highlightNextCandidate() -> Bool {
guard let delegate = delegate else { guard let delegate = delegate else {return false}
return false selectedCandidateIndex = (selectedCandidateIndex + 1 >= delegate.candidateCountForController(self)) ? 0 : selectedCandidateIndex + 1
}
let currentIndex = selectedCandidateIndex
if currentIndex + 1 >= delegate.candidateCountForController(self) {
return false
}
selectedCandidateIndex = currentIndex + 1
return true return true
} }
public override func highlightPreviousCandidate() -> Bool { public override func highlightPreviousCandidate() -> Bool {
guard delegate != nil else { guard let delegate = delegate else {return false}
return false selectedCandidateIndex = (selectedCandidateIndex == 0) ? delegate.candidateCountForController(self) - 1 : selectedCandidateIndex - 1
}
let currentIndex = selectedCandidateIndex
if currentIndex == 0 {
return false
}
selectedCandidateIndex = currentIndex - 1
return true return true
} }