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

Merge pull request #537 from wtfutil/20190823-universal-info-modal

20190823 universal info modal
This commit is contained in:
Chris Cummer 2019-08-23 21:25:13 -07:00 committed by GitHub
commit 250eff740e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 60 additions and 45 deletions

View File

@ -5,8 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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.openItem, "Open item in browser") widget.SetKeyboardChar("o", widget.openItem, "Open item in browser")

View File

@ -3,8 +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.Refresh)
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.openStory, "Open story in browser") widget.SetKeyboardChar("o", widget.openStory, "Open story in browser")

View File

@ -5,8 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help window") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar("j", widget.nextReview, "Select next review") widget.SetKeyboardChar("j", widget.nextReview, "Select next review")

View File

@ -3,8 +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.Refresh)
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")
widget.SetKeyboardChar("p", widget.Pull, "Pull repo") widget.SetKeyboardChar("p", widget.Pull, "Pull repo")

View File

@ -5,8 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar("o", widget.openRepo, "Open item in browser") widget.SetKeyboardChar("o", widget.openRepo, "Open item in browser")

View File

@ -3,8 +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.Refresh)
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,8 +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.Refresh)
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,8 +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.Refresh)
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.openStory, "Open story in browser") widget.SetKeyboardChar("o", widget.openStory, "Open story in browser")

View File

@ -3,8 +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.Refresh)
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.openJob, "Open job in browser") widget.SetKeyboardChar("o", widget.openJob, "Open job in browser")

View File

@ -5,8 +5,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar("o", widget.openItem, "Open item in browser") widget.SetKeyboardChar("o", widget.openItem, "Open item in browser")

View File

@ -3,8 +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.Refresh)
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")
widget.SetKeyboardChar("p", widget.Pull, "Pull repo") widget.SetKeyboardChar("p", widget.Pull, "Pull repo")

View File

@ -3,8 +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.Refresh)
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")
widget.SetKeyboardChar("c", widget.center, "Center on item") widget.SetKeyboardChar("c", widget.center, "Center on item")

View File

@ -3,8 +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.Refresh)
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.openBuild, "Open item in browser") widget.SetKeyboardChar("o", widget.openBuild, "Open item in browser")

View File

@ -7,8 +7,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar(" ", widget.playPause, "Play/pause song") widget.SetKeyboardChar(" ", widget.playPause, "Play/pause song")

View File

@ -7,8 +7,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar(" ", widget.playPause, "Play/pause") widget.SetKeyboardChar(" ", widget.playPause, "Play/pause")

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(nil)
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,8 +9,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar(" ", widget.toggleChecked, "Toggle checkmark") widget.SetKeyboardChar(" ", widget.toggleChecked, "Toggle checkmark")
@ -24,6 +24,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,8 +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.Refresh)
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")
widget.SetKeyboardChar("k", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Next, "Select next 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(nil)
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,8 +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.Refresh)
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.openBuild, "Open item in browser") widget.SetKeyboardChar("o", widget.openBuild, "Open item in browser")

View File

@ -6,8 +6,8 @@ import (
) )
func (widget *Widget) initializeKeyboardControls() { func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt") widget.InitializeCommonControls(widget.Refresh)
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")
widget.SetKeyboardChar("o", widget.openFile, "Open source") widget.SetKeyboardChar("o", widget.openFile, "Open source")

View File

@ -3,8 +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.Refresh)
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,8 @@ 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.Refresh)
widget.SetKeyboardChar("r", widget.ShowHelp, "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,16 @@ 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(refreshFunc func()) {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt")
if refreshFunc != nil {
widget.SetKeyboardChar("r", refreshFunc, "Refresh widget")
}
}
// 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:
// //