Fixes duplicated code and typos.

This commit is contained in:
zonble 2022-01-11 13:46:29 +08:00
parent 11d33c0b42
commit f339948219
11 changed files with 108 additions and 120 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
build
.build
*.pbxuser
*.mode1v3
*.tm_build_errors

View File

@ -312,9 +312,9 @@ public class HorizontalCandidateController : CandidateController {
return result < delegate.candidateCountForController(self) ? result : UInt.max
}
@objc public override var selectedCandidateIndex: UInt {
public override var selectedCandidateIndex: UInt {
get {
return currentPage * UInt(keyLabels.count) + candidateView.highlightedIndex
currentPage * UInt(keyLabels.count) + candidateView.highlightedIndex
}
set {
guard let delegate = delegate else {
@ -362,7 +362,7 @@ extension HorizontalCandidateController {
frameRect.size = newSize
candidateView.frame = frameRect
if self.pageCount > 1 {
if pageCount > 1 {
var buttonRect = nextPageButton.frame
var spacing = 0.0
@ -397,7 +397,7 @@ extension HorizontalCandidateController {
frameRect.size = newSize
frameRect.origin = NSMakePoint(topLeftPoint.x, topLeftPoint.y - frameRect.size.height)
self.window?.setFrame(frameRect, display: false)
self.candidateView.setNeedsDisplay(candidateView.bounds)
candidateView.setNeedsDisplay(candidateView.bounds)
}
@objc fileprivate func pageButtonAction(_ sender: Any) {
@ -412,7 +412,7 @@ extension HorizontalCandidateController {
}
@objc fileprivate func candidateViewMouseDidClick(_ sender: Any) {
delegate?.candidateController(self, didSelectCandidateAtIndex: self.selectedCandidateIndex)
delegate?.candidateController(self, didSelectCandidateAtIndex: selectedCandidateIndex)
}
}

View File

@ -172,7 +172,7 @@ public class VerticalCandidateController: CandidateController {
public override func reloadData() {
maxCandidateAttrStringWidth = ceil(candidateFont.pointSize * 2.0 + candidateTextPadding)
tableView.reloadData()
self.layoutCandidateView()
layoutCandidateView()
if delegate?.candidateCountForController(self) ?? 0 > 0 {
selectedCandidateIndex = 0
}
@ -210,7 +210,7 @@ public class VerticalCandidateController: CandidateController {
return UInt.max
}
@objc public override var selectedCandidateIndex: UInt {
public override var selectedCandidateIndex: UInt {
get {
let selectedRow = tableView.selectedRow
return selectedRow == -1 ? UInt.max : UInt(selectedRow)
@ -390,11 +390,11 @@ extension VerticalCandidateController: NSTableViewDataSource, NSTableViewDelegat
private func layoutCandidateView() {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) { [self] in
self.doLayoutCanaditeView()
doLayoutCandidateView()
}
}
private func doLayoutCanaditeView() {
private func doLayoutCandidateView() {
guard let delegate = delegate else {
return
}

View File

@ -68,7 +68,7 @@
// a special deferred client for Terminal.app fix
id _currentDeferredClient;
// currently available candidates
// current available candidates
NSMutableArray *_candidates;
// current input mode

View File

@ -1140,6 +1140,31 @@ NS_INLINE size_t max(size_t a, size_t b) { return a > b ? a : b; }
string layout = [self currentLayout];
string customPunctuation = string("_punctuation_") + layout + string(1, (char)charCode);
if (_languageModel->hasUnigramsForKey(customPunctuation)) {
[self handlePunctuation:customPunctuation usingVerticalMode:useVerticalMode client:client];
return YES;
}
// if nothing is matched, see if it's a punctuation key
string punctuation = string("_punctuation_") + string(1, (char)charCode);
if (_languageModel->hasUnigramsForKey(punctuation)) {
[self handlePunctuation:punctuation usingVerticalMode:useVerticalMode client:client];
return YES;
}
// still nothing, then we update the composing buffer (some app has
// strange behavior if we don't do this, "thinking" the key is not
// actually consumed)
if ([_composingBuffer length] || !_bpmfReadingBuffer->isEmpty()) {
[self beep];
[self updateClientComposingBuffer:client];
return YES;
}
return NO;
}
- (void)handlePunctuation:(string)customPunctuation usingVerticalMode:(BOOL)useVerticalMode client:(id)client
{
if (_bpmfReadingBuffer->isEmpty()) {
_builder->insertReadingAtCursor(customPunctuation);
[self popOverflowComposingTextAndWalk:client];
@ -1158,45 +1183,6 @@ NS_INLINE size_t max(size_t a, size_t b) { return a > b ? a : b; }
[self _showCandidateWindowUsingVerticalMode:useVerticalMode client:client];
}
}
return YES;
}
// if nothing is matched, see if it's a punctuation key
string punctuation = string("_punctuation_") + string(1, (char)charCode);
if (_languageModel->hasUnigramsForKey(punctuation)) {
if (_bpmfReadingBuffer->isEmpty()) {
_builder->insertReadingAtCursor(punctuation);
[self popOverflowComposingTextAndWalk:client];
}
else { // If there is still unfinished bpmf reading, ignore the punctuation
[self beep];
}
[self updateClientComposingBuffer:client];
if (_inputMode == kPlainBopomofoModeIdentifier && _bpmfReadingBuffer->isEmpty()) {
[self collectCandidates];
if ([_candidates count] == 1) {
[self commitComposition:client];
}
else {
[self _showCandidateWindowUsingVerticalMode:useVerticalMode client:client];
}
}
return YES;
}
// still nothing, then we update the composing buffer (some app has
// strange behavior if we don't do this, "thinking" the key is not
// actually consumed)
if ([_composingBuffer length] || !_bpmfReadingBuffer->isEmpty()) {
[self beep];
[self updateClientComposingBuffer:client];
return YES;
}
return NO;
}
- (BOOL)handleCandidateEventWithInputText:(NSString *)inputText charCode:(UniChar)charCode keyCode:(NSUInteger)keyCode

View File

@ -50,8 +50,8 @@ public class InputSourceHelper: NSObject {
public static func inputSource(for propertyKey: CFString, stringValue: String) -> TISInputSource? {
let stringID = CFStringGetTypeID()
for source in allInstalledInputSources() {
if let proprtyPtr = TISGetInputSourceProperty(source, propertyKey) {
let property = Unmanaged<CFTypeRef>.fromOpaque(proprtyPtr).takeUnretainedValue()
if let propertyPtr = TISGetInputSourceProperty(source, propertyKey) {
let property = Unmanaged<CFTypeRef>.fromOpaque(propertyPtr).takeUnretainedValue()
let typeID = CFGetTypeID(property)
if typeID != stringID {
continue

View File

@ -40,7 +40,8 @@ import Cocoa
}
class NonModalAlertWindowController: NSWindowController {
@objc(sharedInstance) static let shared = NonModalAlertWindowController(windowNibName: "NonModalAlertWindowController")
@objc (sharedInstance)
static let shared = NonModalAlertWindowController(windowNibName: "NonModalAlertWindowController")
@IBOutlet weak var titleTextField: NSTextField!
@IBOutlet weak var contentTextField: NSTextField!
@ -62,7 +63,7 @@ class NonModalAlertWindowController: NSWindowController {
var newFrame = confirmButton.frame
newFrame.size.width = max(90, newFrame.size.width + 10)
newFrame.origin.x += oldFrame.size.width - newFrame.size.width
self.confirmButton.frame = newFrame
confirmButton.frame = newFrame
if let cancelButtonTitle = cancelButtonTitle {
cancelButton.title = cancelButtonTitle
@ -70,10 +71,10 @@ class NonModalAlertWindowController: NSWindowController {
var adjustFrame = cancelButton.frame
adjustFrame.size.width = max(90, adjustFrame.size.width + 10)
adjustFrame.origin.x = newFrame.origin.x - adjustFrame.size.width
self.confirmButton.frame = adjustFrame
self.cancelButton.isHidden = false
confirmButton.frame = adjustFrame
cancelButton.isHidden = false
} else {
self.cancelButton.isHidden = true
cancelButton.isHidden = true
}
cancelButton.nextKeyView = confirmButton

View File

@ -13,10 +13,10 @@ class OpenCCBridge: NSObject {
}
@objc static func convert(_ string: String) -> String? {
return shared.converter?.convert(string)
shared.converter?.convert(string)
}
private func convert(_ string: String) -> String? {
return converter?.convert(string)
converter?.convert(string)
}
}