pressing left after accepting a word erases the automatically added space, if any
This commit is contained in:
parent
f64588b850
commit
d645e7f425
1 changed files with 31 additions and 1 deletions
|
|
@ -64,6 +64,10 @@ public abstract class HotkeyHandler extends CommandHandler {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT && onTrimTrailingSpace(validateOnly)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (keyCode == settings.getKeyAddWord()) {
|
if (keyCode == settings.getKeyAddWord()) {
|
||||||
return onKeyAddWord(validateOnly);
|
return onKeyAddWord(validateOnly);
|
||||||
}
|
}
|
||||||
|
|
@ -177,7 +181,10 @@ public abstract class HotkeyHandler extends CommandHandler {
|
||||||
|
|
||||||
public boolean onKeyMoveCursor(boolean backward) {
|
public boolean onKeyMoveCursor(boolean backward) {
|
||||||
if (textSelection.isEmpty()) {
|
if (textSelection.isEmpty()) {
|
||||||
return appHacks.onMoveCursor(backward) || textField.moveCursor(backward);
|
return
|
||||||
|
appHacks.onMoveCursor(backward)
|
||||||
|
|| (backward && onTrimTrailingSpace(false))
|
||||||
|
|| textField.moveCursor(backward);
|
||||||
} else {
|
} else {
|
||||||
textSelection.clear(backward);
|
textSelection.clear(backward);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -398,4 +405,27 @@ public abstract class HotkeyHandler extends CommandHandler {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean onTrimTrailingSpace(boolean validateOnly) {
|
||||||
|
if (!settings.getAutoSpace() || !suggestionOps.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
String after = textField.getStringAfterCursor(1);
|
||||||
|
if (!after.isEmpty() && after.charAt(0) != '\n') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
String before = textField.getStringBeforeCursor(2);
|
||||||
|
if (before.length() != 2 || !Character.isWhitespace(before.charAt(1)) || Character.isWhitespace(before.charAt(0))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!validateOnly) {
|
||||||
|
textField.deleteChars(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue