1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Better keyboard support for todo

This commit is contained in:
Chris Cummer 2018-04-23 17:05:37 -07:00
parent a92af549fe
commit 34dcdbbe66
3 changed files with 20 additions and 10 deletions

View File

@ -4,7 +4,6 @@ import ()
type Item struct {
Checked bool
Index int
Text string
}

View File

@ -11,7 +11,6 @@ type List struct {
}
func (list *List) Delete() {
fmt.Println("del")
list.Items = append(list.Items[:list.selected], list.Items[list.selected+1:]...)
}

View File

@ -67,30 +67,42 @@ func (widget *Widget) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
case "e":
// Edit selected item
return nil
case "h":
// Show help menu
fmt.Println("HELP!")
return nil
case "j":
widget.list.Next()
widget.display()
return nil
case "k":
widget.list.Prev()
widget.display()
return nil
case "n":
// Add a new item
return nil
}
switch event.Key() {
case tcell.KeyCtrlA:
// Move the selected item up
widget.list.Promote()
widget.persist()
widget.display()
return nil
case tcell.KeyCtrlD:
// Delete the selected item
widget.list.Delete()
widget.persist()
widget.display()
return nil
case tcell.KeyCtrlZ:
// Move the selected item down
case tcell.KeyCtrlJ:
// Move selected item down in the list
widget.list.Demote()
widget.persist()
widget.display()
return nil
case tcell.KeyCtrlK:
// Move selected item up in the list
widget.list.Promote()
widget.persist()
widget.display()
return nil
case tcell.KeyDown:
// Select the next item down
widget.list.Next()