Fixed repeation of shortcut keys because of returning event even after executing shortcut
This commit is contained in:
22
app/cli.go
22
app/cli.go
@@ -89,6 +89,16 @@ func setKeyboardShortcuts() *tview.Application {
|
||||
return event
|
||||
}
|
||||
|
||||
// Global shortcuts
|
||||
switch event.Rune() {
|
||||
case 'p':
|
||||
app.SetFocus(projectPane)
|
||||
return nil
|
||||
case 't':
|
||||
app.SetFocus(taskPane)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Handle based on current focus. Handlers may modify event
|
||||
switch {
|
||||
case projectPane.HasFocus():
|
||||
@@ -99,18 +109,6 @@ func setKeyboardShortcuts() *tview.Application {
|
||||
event = taskDetailPane.handleShortcuts(event)
|
||||
}
|
||||
|
||||
// Global shortcuts
|
||||
switch event.Rune() {
|
||||
case 'p':
|
||||
app.SetFocus(projectPane)
|
||||
case 't':
|
||||
app.SetFocus(taskPane)
|
||||
case 'f':
|
||||
// @TODO : Remove
|
||||
// statusBar.showForSeconds(reflect.TypeOf(app.GetFocus()).String(), 5)
|
||||
statusBar.showForSeconds(fmt.Sprintf("Due: %#v", taskPane.activeTask), 5)
|
||||
}
|
||||
|
||||
return event
|
||||
})
|
||||
}
|
||||
|
||||
@@ -113,10 +113,13 @@ func (pane *ProjectPane) handleShortcuts(event *tcell.EventKey) *tcell.EventKey
|
||||
switch event.Rune() {
|
||||
case 'j':
|
||||
pane.list.SetCurrentItem(pane.list.GetCurrentItem() + 1)
|
||||
return nil
|
||||
case 'k':
|
||||
pane.list.SetCurrentItem(pane.list.GetCurrentItem() - 1)
|
||||
return nil
|
||||
case 'n':
|
||||
app.SetFocus(pane.newProject)
|
||||
return nil
|
||||
}
|
||||
|
||||
return event
|
||||
|
||||
@@ -286,22 +286,30 @@ func (td *TaskDetailPane) handleShortcuts(event *tcell.EventKey) *tcell.EventKey
|
||||
switch event.Key() {
|
||||
case tcell.KeyEsc:
|
||||
app.SetFocus(taskPane)
|
||||
return nil
|
||||
case tcell.KeyDown:
|
||||
td.taskDetailView.ScrollDown(1)
|
||||
return nil
|
||||
case tcell.KeyUp:
|
||||
td.taskDetailView.ScrollUp(1)
|
||||
return nil
|
||||
case tcell.KeyRune:
|
||||
switch event.Rune() {
|
||||
case 'e':
|
||||
td.activateEditor()
|
||||
return nil
|
||||
case 'v':
|
||||
td.editInExternalEditor()
|
||||
return nil
|
||||
case 'd':
|
||||
app.SetFocus(td.taskDate)
|
||||
return nil
|
||||
case 'r':
|
||||
td.header.ShowRename()
|
||||
return nil
|
||||
case ' ':
|
||||
td.toggleTaskStatus()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -103,12 +103,16 @@ func (pane *TaskPane) handleShortcuts(event *tcell.EventKey) *tcell.EventKey {
|
||||
switch event.Rune() {
|
||||
case 'j':
|
||||
pane.list.SetCurrentItem(pane.list.GetCurrentItem() + 1)
|
||||
return nil
|
||||
case 'k':
|
||||
pane.list.SetCurrentItem(pane.list.GetCurrentItem() - 1)
|
||||
return nil
|
||||
case 'h':
|
||||
app.SetFocus(projectPane)
|
||||
return nil
|
||||
case 'n':
|
||||
app.SetFocus(pane.newTask)
|
||||
return nil
|
||||
}
|
||||
|
||||
return event
|
||||
|
||||
Reference in New Issue
Block a user