Compare commits

...

3 Commits

Author SHA1 Message Date
177167510b Shift+Ctrl+Z now works for redo 2024-09-06 00:16:27 -04:00
3077249a13 TextInput updates state better when typing 2024-09-06 00:14:10 -04:00
38d950f44a Remove debug line 2024-09-06 00:13:15 -04:00

View File

@ -159,6 +159,7 @@ func (this *TextInput) Redo () {
// Type types a character at the current dot position.
func (this *TextInput) Type (char rune) {
dot := this.Dot()
this.historySwapDot()
this.text, dot = text.Type(this.text, dot, rune(char))
this.Select(dot)
this.box.SetText(string(this.text))
@ -214,6 +215,7 @@ func (this *TextInput) handleKeyDown (key input.Key, numpad bool) bool {
this.box.SetText(string(txt))
this.box.Select(dot)
this.on.valueChange.Broadcast()
this.on.dotChange.Broadcast()
this.logKeystroke()
}
} ()
@ -246,7 +248,7 @@ func (this *TextInput) handleKeyDown (key input.Key, numpad bool) bool {
case key.Printable() && !modifiers.Control:
typeRune()
return true
case key == 'z' && modifiers.Control:
case key == 'z' || key == 'Z' && modifiers.Control:
if modifiers.Shift {
this.Redo()
} else {
@ -296,7 +298,6 @@ func (this *TextInput) handleScroll (x, y float64) bool {
}
func (this *TextInput) handleDotChange () {
println("asdjhk")
this.historySwapDot()
this.on.dotChange.Broadcast()
}