mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
72 lines
1.9 KiB
Go
72 lines
1.9 KiB
Go
package todo
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/gdamore/tcell"
|
|
"github.com/wtfutil/wtf/cfg"
|
|
"github.com/wtfutil/wtf/wtf"
|
|
)
|
|
|
|
func (widget *Widget) initializeKeyboardControls() {
|
|
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt")
|
|
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
|
|
widget.SetKeyboardChar("j", widget.displayNext, "Select next item")
|
|
widget.SetKeyboardChar("k", widget.displayPrev, "Select previous item")
|
|
widget.SetKeyboardChar(" ", widget.toggleChecked, "Toggle checkmark")
|
|
widget.SetKeyboardChar("n", widget.newItem, "Create new item")
|
|
widget.SetKeyboardChar("o", widget.openFile, "Open file")
|
|
|
|
widget.SetKeyboardKey(tcell.KeyDown, widget.displayNext, "Select next item")
|
|
widget.SetKeyboardKey(tcell.KeyUp, widget.displayPrev, "Select previous item")
|
|
widget.SetKeyboardKey(tcell.KeyEsc, widget.unselect, "Clear selection")
|
|
widget.SetKeyboardKey(tcell.KeyCtrlD, widget.deleteSelected, "Delete item")
|
|
widget.SetKeyboardKey(tcell.KeyCtrlJ, widget.demoteSelected, "Demote item")
|
|
widget.SetKeyboardKey(tcell.KeyCtrlK, widget.promoteSelected, "Promote item")
|
|
widget.SetKeyboardKey(tcell.KeyEnter, widget.editSelected, "Edit item")
|
|
}
|
|
|
|
func (widget *Widget) deleteSelected() {
|
|
widget.list.Delete()
|
|
widget.persist()
|
|
widget.display()
|
|
}
|
|
|
|
func (widget *Widget) demoteSelected() {
|
|
widget.list.Demote()
|
|
widget.persist()
|
|
widget.display()
|
|
}
|
|
|
|
func (widget *Widget) displayNext() {
|
|
widget.list.Next()
|
|
widget.display()
|
|
}
|
|
|
|
func (widget *Widget) displayPrev() {
|
|
widget.list.Prev()
|
|
widget.display()
|
|
}
|
|
|
|
func (widget *Widget) openFile() {
|
|
confDir, _ := cfg.WtfConfigDir()
|
|
wtf.OpenFile(fmt.Sprintf("%s/%s", confDir, widget.filePath))
|
|
}
|
|
|
|
func (widget *Widget) promoteSelected() {
|
|
widget.list.Promote()
|
|
widget.persist()
|
|
widget.display()
|
|
}
|
|
|
|
func (widget *Widget) toggleChecked() {
|
|
widget.list.Toggle()
|
|
widget.persist()
|
|
widget.display()
|
|
}
|
|
|
|
func (widget *Widget) unselect() {
|
|
widget.list.Unselect()
|
|
widget.display()
|
|
}
|