From d3c0868722149e8dd467c9f6fcd4a7e9141f39b2 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Wed, 23 Feb 2022 21:08:31 +0800 Subject: [PATCH] Voltaire // Allow back/forward keys to loop candidates. --- .../HorizontalCandidateController.swift | 23 ++++--------------- .../VerticalCandidateController.swift | 23 ++++--------------- 2 files changed, 8 insertions(+), 38 deletions(-) diff --git a/Source/UI/CandidateUI/HorizontalCandidateController.swift b/Source/UI/CandidateUI/HorizontalCandidateController.swift index dfe54f82..ffe8ee48 100644 --- a/Source/UI/CandidateUI/HorizontalCandidateController.swift +++ b/Source/UI/CandidateUI/HorizontalCandidateController.swift @@ -273,29 +273,14 @@ public class HorizontalCandidateController: CandidateController { } public override func highlightNextCandidate() -> Bool { - guard let delegate = delegate else { - return false - } - - let currentIndex = selectedCandidateIndex - if currentIndex + 1 >= delegate.candidateCountForController(self) { - return false - } - selectedCandidateIndex = currentIndex + 1 + guard let delegate = delegate else {return false} + selectedCandidateIndex = (selectedCandidateIndex + 1 >= delegate.candidateCountForController(self)) ? 0 : selectedCandidateIndex + 1 return true } public override func highlightPreviousCandidate() -> Bool { - guard delegate != nil else { - return false - } - - let currentIndex = selectedCandidateIndex - if currentIndex == 0 { - return false - } - - selectedCandidateIndex = currentIndex - 1 + guard let delegate = delegate else {return false} + selectedCandidateIndex = (selectedCandidateIndex == 0) ? delegate.candidateCountForController(self) - 1 : selectedCandidateIndex - 1 return true } diff --git a/Source/UI/CandidateUI/VerticalCandidateController.swift b/Source/UI/CandidateUI/VerticalCandidateController.swift index 762d178c..50fe09f7 100644 --- a/Source/UI/CandidateUI/VerticalCandidateController.swift +++ b/Source/UI/CandidateUI/VerticalCandidateController.swift @@ -279,29 +279,14 @@ public class VerticalCandidateController: CandidateController { } public override func highlightNextCandidate() -> Bool { - guard let delegate = delegate else { - return false - } - - let currentIndex = selectedCandidateIndex - if currentIndex + 1 >= delegate.candidateCountForController(self) { - return false - } - selectedCandidateIndex = currentIndex + 1 + guard let delegate = delegate else {return false} + selectedCandidateIndex = (selectedCandidateIndex + 1 >= delegate.candidateCountForController(self)) ? 0 : selectedCandidateIndex + 1 return true } public override func highlightPreviousCandidate() -> Bool { - guard delegate != nil else { - return false - } - - let currentIndex = selectedCandidateIndex - if currentIndex == 0 { - return false - } - - selectedCandidateIndex = currentIndex - 1 + guard let delegate = delegate else {return false} + selectedCandidateIndex = (selectedCandidateIndex == 0) ? delegate.candidateCountForController(self) - 1 : selectedCandidateIndex - 1 return true }