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

Remove the need for every module to define a widget.ShowHelp keyboard control

This common functionality is moved up to KeyboardWidget. Modules now
include widget.InitializeCommonControls() instead.
This commit is contained in:
Chris Cummer 2019-08-23 21:11:05 -07:00
parent 5270501fac
commit 5337656c58
24 changed files with 57 additions and 25 deletions

View File

@ -5,7 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -3,7 +3,8 @@ package feedreader
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help widget") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -5,7 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help window") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("h", widget.prevProject, "Select previous project") widget.SetKeyboardChar("h", widget.prevProject, "Select previous project")
widget.SetKeyboardChar("l", widget.nextProject, "Select next project") widget.SetKeyboardChar("l", widget.nextProject, "Select next project")

View File

@ -3,7 +3,8 @@ package git
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help window") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("l", widget.NextSource, "Select next source")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source")

View File

@ -5,7 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("l", widget.NextSource, "Select next source")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source")

View File

@ -3,7 +3,8 @@ package gitlab
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous project") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous project")
widget.SetKeyboardChar("l", widget.NextSource, "Select next project") widget.SetKeyboardChar("l", widget.NextSource, "Select next project")

View File

@ -3,7 +3,8 @@ package gitter
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -3,7 +3,8 @@ package hackernews
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help widget") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -3,7 +3,8 @@ package jenkins
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -5,7 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.openItem, "Refresh widget") widget.SetKeyboardChar("r", widget.openItem, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -3,7 +3,8 @@ package mercurial
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("l", widget.NextSource, "Select next source")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source")

View File

@ -3,7 +3,8 @@ package nbascore
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("l", widget.next, "Select next item") widget.SetKeyboardChar("l", widget.next, "Select next item")
widget.SetKeyboardChar("h", widget.prev, "Select previous item") widget.SetKeyboardChar("h", widget.prev, "Select previous item")

View File

@ -3,7 +3,8 @@ package rollbar
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -7,7 +7,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widgett") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widgett")
widget.SetKeyboardChar("l", widget.next, "Select next item") widget.SetKeyboardChar("l", widget.next, "Select next item")
widget.SetKeyboardChar("h", widget.previous, "Select previous item") widget.SetKeyboardChar("h", widget.previous, "Select previous item")

View File

@ -7,7 +7,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("/", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("/", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("h", widget.selectPrevious, "Select previous item") widget.SetKeyboardChar("h", widget.selectPrevious, "Select previous item")
widget.SetKeyboardChar("l", widget.selectNext, "Select next item") widget.SetKeyboardChar("l", widget.selectNext, "Select next item")

View File

@ -6,7 +6,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("l", widget.NextSource, "Select next file") widget.SetKeyboardChar("l", widget.NextSource, "Select next file")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous file") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous file")
widget.SetKeyboardChar("o", widget.openFile, "Open file") widget.SetKeyboardChar("o", widget.openFile, "Open file")

View File

@ -9,7 +9,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.displayNext, "Select next item") widget.SetKeyboardChar("j", widget.displayNext, "Select next item")
widget.SetKeyboardChar("k", widget.displayPrev, "Select previous item") widget.SetKeyboardChar("k", widget.displayPrev, "Select previous item")
@ -24,6 +25,7 @@ func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardKey(tcell.KeyCtrlJ, widget.demoteSelected, "Demote item") widget.SetKeyboardKey(tcell.KeyCtrlJ, widget.demoteSelected, "Demote item")
widget.SetKeyboardKey(tcell.KeyCtrlK, widget.promoteSelected, "Promote item") widget.SetKeyboardKey(tcell.KeyCtrlK, widget.promoteSelected, "Promote item")
widget.SetKeyboardKey(tcell.KeyEnter, widget.editSelected, "Edit item") widget.SetKeyboardKey(tcell.KeyEnter, widget.editSelected, "Edit item")
} }
func (widget *Widget) deleteSelected() { func (widget *Widget) deleteSelected() {

View File

@ -3,7 +3,8 @@ package todoist
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("d", widget.Delete, "Delete item") widget.SetKeyboardChar("d", widget.Delete, "Delete item")
widget.SetKeyboardChar("j", widget.Prev, "Select previous item") widget.SetKeyboardChar("j", widget.Prev, "Select previous item")

View File

@ -3,7 +3,8 @@ package transmission
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("j", widget.Prev, "Select previous item") widget.SetKeyboardChar("j", widget.Prev, "Select previous item")
widget.SetKeyboardChar("k", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Next, "Select next item")
widget.SetKeyboardChar("u", widget.Unselect, "Clear selection") widget.SetKeyboardChar("u", widget.Unselect, "Clear selection")

View File

@ -3,7 +3,8 @@ package travisci
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")

View File

@ -6,7 +6,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("l", widget.NextSource, "Select next source")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source")

View File

@ -3,7 +3,8 @@ package weather
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.Refresh, "Refresh Widget") widget.SetKeyboardChar("r", widget.Refresh, "Refresh Widget")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous city") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous city")
widget.SetKeyboardChar("l", widget.NextSource, "Select next city") widget.SetKeyboardChar("l", widget.NextSource, "Select next city")

View File

@ -3,8 +3,9 @@ package zendesk
import "github.com/gdamore/tcell" import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls()
widget.SetKeyboardChar("r", widget.ShowHelp, "Refresh widget")
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("j", widget.Next, "Select next item")
widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item")
widget.SetKeyboardChar("o", widget.openTicket, "Open item") widget.SetKeyboardChar("o", widget.openTicket, "Open item")

View File

@ -31,7 +31,7 @@ type KeyboardWidget struct {
// NewKeyboardWidget creates and returns a new instance of KeyboardWidget // NewKeyboardWidget creates and returns a new instance of KeyboardWidget
func NewKeyboardWidget(app *tview.Application, pages *tview.Pages, settings *cfg.Common) KeyboardWidget { func NewKeyboardWidget(app *tview.Application, pages *tview.Pages, settings *cfg.Common) KeyboardWidget {
return KeyboardWidget{ keyWidget := KeyboardWidget{
app: app, app: app,
pages: pages, pages: pages,
settings: settings, settings: settings,
@ -40,6 +40,8 @@ func NewKeyboardWidget(app *tview.Application, pages *tview.Pages, settings *cfg
charHelp: []helpItem{}, charHelp: []helpItem{},
keyHelp: []helpItem{}, keyHelp: []helpItem{},
} }
return keyWidget
} }
// SetKeyboardChar sets a character/function combination that responds to key presses // SetKeyboardChar sets a character/function combination that responds to key presses
@ -70,6 +72,12 @@ func (widget *KeyboardWidget) SetKeyboardKey(key tcell.Key, fn func(), helpText
} }
} }
// InitializeCommonControls sets up the keyboard controls that are common to
// all widgets that accept keyboard input
func (widget *KeyboardWidget) InitializeCommonControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt")
}
// InputCapture is the function passed to tview's SetInputCapture() function // InputCapture is the function passed to tview's SetInputCapture() function
// This is done during the main widget's creation process using the following code: // This is done during the main widget's creation process using the following code:
// //