Zonble: KeyHandler // Allow BPMF output via Ctrl+Enter.
Co-Authored-By: Weizhong Yang a.k.a zonble <zonble@gmail.com>
This commit is contained in:
parent
f35b7f3e04
commit
618318c792
|
@ -490,6 +490,9 @@ static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot";
|
||||||
|
|
||||||
// MARK: Enter
|
// MARK: Enter
|
||||||
if (charCode == 13) {
|
if (charCode == 13) {
|
||||||
|
if ([input isControlHold]) {
|
||||||
|
return [self _handleCtrlEnterWithState:state stateCallback:stateCallback errorCallback:errorCallback];
|
||||||
|
}
|
||||||
return [self _handleEnterWithState:state stateCallback:stateCallback errorCallback:errorCallback];
|
return [self _handleEnterWithState:state stateCallback:stateCallback errorCallback:errorCallback];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -791,6 +794,24 @@ static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot";
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (BOOL)_handleCtrlEnterWithState:(InputState *)state stateCallback:(void (^)(InputState *))stateCallback errorCallback:(void (^)(void))errorCallback
|
||||||
|
{
|
||||||
|
if (![state isKindOfClass:[InputStateInputting class]]) {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
NSArray *readings = [self _currentReadings];
|
||||||
|
NSString *composingBuffer = [readings componentsJoinedByString:@"-"];
|
||||||
|
|
||||||
|
[self clear];
|
||||||
|
|
||||||
|
InputStateCommitting *committing = [[InputStateCommitting alloc] initWithPoppedText:composingBuffer];
|
||||||
|
stateCallback(committing);
|
||||||
|
InputStateEmpty *empty = [[InputStateEmpty alloc] init];
|
||||||
|
stateCallback(empty);
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)_handleEnterWithState:(InputState *)state stateCallback:(void (^)(InputState *))stateCallback errorCallback:(void (^)(void))errorCallback
|
- (BOOL)_handleEnterWithState:(InputState *)state stateCallback:(void (^)(InputState *))stateCallback errorCallback:(void (^)(void))errorCallback
|
||||||
{
|
{
|
||||||
if (![state isKindOfClass:[InputStateInputting class]]) {
|
if (![state isKindOfClass:[InputStateInputting class]]) {
|
||||||
|
|
Loading…
Reference in New Issue