Fixed repeation of shortcut keys because of returning event even after executing shortcut

This commit is contained in:
Anis Ahmad
2021-01-15 21:32:09 +06:00
parent 0c09a29550
commit d8677ca6d7
4 changed files with 25 additions and 12 deletions

View File

@@ -89,6 +89,16 @@ func setKeyboardShortcuts() *tview.Application {
return event 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 // Handle based on current focus. Handlers may modify event
switch { switch {
case projectPane.HasFocus(): case projectPane.HasFocus():
@@ -99,18 +109,6 @@ func setKeyboardShortcuts() *tview.Application {
event = taskDetailPane.handleShortcuts(event) 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 return event
}) })
} }

View File

@@ -113,10 +113,13 @@ func (pane *ProjectPane) handleShortcuts(event *tcell.EventKey) *tcell.EventKey
switch event.Rune() { switch event.Rune() {
case 'j': case 'j':
pane.list.SetCurrentItem(pane.list.GetCurrentItem() + 1) pane.list.SetCurrentItem(pane.list.GetCurrentItem() + 1)
return nil
case 'k': case 'k':
pane.list.SetCurrentItem(pane.list.GetCurrentItem() - 1) pane.list.SetCurrentItem(pane.list.GetCurrentItem() - 1)
return nil
case 'n': case 'n':
app.SetFocus(pane.newProject) app.SetFocus(pane.newProject)
return nil
} }
return event return event

View File

@@ -286,22 +286,30 @@ func (td *TaskDetailPane) handleShortcuts(event *tcell.EventKey) *tcell.EventKey
switch event.Key() { switch event.Key() {
case tcell.KeyEsc: case tcell.KeyEsc:
app.SetFocus(taskPane) app.SetFocus(taskPane)
return nil
case tcell.KeyDown: case tcell.KeyDown:
td.taskDetailView.ScrollDown(1) td.taskDetailView.ScrollDown(1)
return nil
case tcell.KeyUp: case tcell.KeyUp:
td.taskDetailView.ScrollUp(1) td.taskDetailView.ScrollUp(1)
return nil
case tcell.KeyRune: case tcell.KeyRune:
switch event.Rune() { switch event.Rune() {
case 'e': case 'e':
td.activateEditor() td.activateEditor()
return nil
case 'v': case 'v':
td.editInExternalEditor() td.editInExternalEditor()
return nil
case 'd': case 'd':
app.SetFocus(td.taskDate) app.SetFocus(td.taskDate)
return nil
case 'r': case 'r':
td.header.ShowRename() td.header.ShowRename()
return nil
case ' ': case ' ':
td.toggleTaskStatus() td.toggleTaskStatus()
return nil
} }
} }

View File

@@ -103,12 +103,16 @@ func (pane *TaskPane) handleShortcuts(event *tcell.EventKey) *tcell.EventKey {
switch event.Rune() { switch event.Rune() {
case 'j': case 'j':
pane.list.SetCurrentItem(pane.list.GetCurrentItem() + 1) pane.list.SetCurrentItem(pane.list.GetCurrentItem() + 1)
return nil
case 'k': case 'k':
pane.list.SetCurrentItem(pane.list.GetCurrentItem() - 1) pane.list.SetCurrentItem(pane.list.GetCurrentItem() - 1)
return nil
case 'h': case 'h':
app.SetFocus(projectPane) app.SetFocus(projectPane)
return nil
case 'n': case 'n':
app.SetFocus(pane.newTask) app.SetFocus(pane.newTask)
return nil
} }
return event return event