From 523a0bec2c7125cebad815a780913fc781e0bb77 Mon Sep 17 00:00:00 2001 From: Chris Cummer Date: Fri, 23 Aug 2019 21:18:30 -0700 Subject: [PATCH] Remove the need for every module to define a widget.Refresh keyboard control --- modules/datadog/keyboard.go | 3 +-- modules/feedreader/keyboard.go | 3 +-- modules/gerrit/keyboard.go | 3 +-- modules/git/keyboard.go | 3 +-- modules/github/keyboard.go | 3 +-- modules/gitlab/keyboard.go | 3 +-- modules/gitter/keyboard.go | 3 +-- modules/hackernews/keyboard.go | 3 +-- modules/jenkins/keyboard.go | 3 +-- modules/jira/keyboard.go | 3 +-- modules/mercurial/keyboard.go | 3 +-- modules/nbascore/keyboard.go | 3 +-- modules/rollbar/keyboard.go | 3 +-- modules/spotify/keyboard.go | 3 +-- modules/spotifyweb/keyboard.go | 3 +-- modules/textfile/keyboard.go | 2 +- modules/todo/keyboard.go | 3 +-- modules/todoist/keyboard.go | 3 +-- modules/transmission/keyboard.go | 2 +- modules/travisci/keyboard.go | 3 +-- modules/twitter/keyboard.go | 3 +-- modules/weatherservices/weather/keyboard.go | 3 +-- modules/zendesk/keyboard.go | 3 +-- view/keyboard_widget.go | 6 +++++- 24 files changed, 28 insertions(+), 45 deletions(-) diff --git a/modules/datadog/keyboard.go b/modules/datadog/keyboard.go index ac6921d5..3538fdc2 100644 --- a/modules/datadog/keyboard.go +++ b/modules/datadog/keyboard.go @@ -5,9 +5,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openItem, "Open item in browser") diff --git a/modules/feedreader/keyboard.go b/modules/feedreader/keyboard.go index 2759e8bc..4c17aaa3 100644 --- a/modules/feedreader/keyboard.go +++ b/modules/feedreader/keyboard.go @@ -3,9 +3,8 @@ package feedreader import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openStory, "Open story in browser") diff --git a/modules/gerrit/keyboard.go b/modules/gerrit/keyboard.go index 6f2677c8..d9307caa 100644 --- a/modules/gerrit/keyboard.go +++ b/modules/gerrit/keyboard.go @@ -5,9 +5,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("h", widget.prevProject, "Select previous project") widget.SetKeyboardChar("l", widget.nextProject, "Select next project") widget.SetKeyboardChar("j", widget.nextReview, "Select next review") diff --git a/modules/git/keyboard.go b/modules/git/keyboard.go index 63116c3f..783a1fcf 100644 --- a/modules/git/keyboard.go +++ b/modules/git/keyboard.go @@ -3,9 +3,8 @@ package git import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("p", widget.Pull, "Pull repo") diff --git a/modules/github/keyboard.go b/modules/github/keyboard.go index a32a52e9..d3f39bec 100644 --- a/modules/github/keyboard.go +++ b/modules/github/keyboard.go @@ -5,9 +5,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("o", widget.openRepo, "Open item in browser") diff --git a/modules/gitlab/keyboard.go b/modules/gitlab/keyboard.go index b8c8fe69..fbf3ee20 100644 --- a/modules/gitlab/keyboard.go +++ b/modules/gitlab/keyboard.go @@ -3,9 +3,8 @@ package gitlab import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous project") widget.SetKeyboardChar("l", widget.NextSource, "Select next project") diff --git a/modules/gitter/keyboard.go b/modules/gitter/keyboard.go index 73a8c2d4..4bfe71c7 100644 --- a/modules/gitter/keyboard.go +++ b/modules/gitter/keyboard.go @@ -3,9 +3,8 @@ package gitter import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") diff --git a/modules/hackernews/keyboard.go b/modules/hackernews/keyboard.go index fc896e46..b6d1db87 100644 --- a/modules/hackernews/keyboard.go +++ b/modules/hackernews/keyboard.go @@ -3,9 +3,8 @@ package hackernews import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openStory, "Open story in browser") diff --git a/modules/jenkins/keyboard.go b/modules/jenkins/keyboard.go index ee0ce9ac..b6fc1110 100644 --- a/modules/jenkins/keyboard.go +++ b/modules/jenkins/keyboard.go @@ -3,9 +3,8 @@ package jenkins import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openJob, "Open job in browser") diff --git a/modules/jira/keyboard.go b/modules/jira/keyboard.go index 50e5bc2d..34083a7d 100644 --- a/modules/jira/keyboard.go +++ b/modules/jira/keyboard.go @@ -5,9 +5,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.openItem, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openItem, "Open item in browser") diff --git a/modules/mercurial/keyboard.go b/modules/mercurial/keyboard.go index bdbd0afc..b775ce10 100644 --- a/modules/mercurial/keyboard.go +++ b/modules/mercurial/keyboard.go @@ -3,9 +3,8 @@ package mercurial import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("p", widget.Pull, "Pull repo") diff --git a/modules/nbascore/keyboard.go b/modules/nbascore/keyboard.go index c77c58f6..5861961a 100644 --- a/modules/nbascore/keyboard.go +++ b/modules/nbascore/keyboard.go @@ -3,9 +3,8 @@ package nbascore import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("l", widget.next, "Select next item") widget.SetKeyboardChar("h", widget.prev, "Select previous item") widget.SetKeyboardChar("c", widget.center, "Center on item") diff --git a/modules/rollbar/keyboard.go b/modules/rollbar/keyboard.go index 33a8fa9a..09870c6a 100644 --- a/modules/rollbar/keyboard.go +++ b/modules/rollbar/keyboard.go @@ -3,9 +3,8 @@ package rollbar import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openBuild, "Open item in browser") diff --git a/modules/spotify/keyboard.go b/modules/spotify/keyboard.go index e439c1c9..cbdedc3f 100644 --- a/modules/spotify/keyboard.go +++ b/modules/spotify/keyboard.go @@ -7,9 +7,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widgett") widget.SetKeyboardChar("l", widget.next, "Select next item") widget.SetKeyboardChar("h", widget.previous, "Select previous item") widget.SetKeyboardChar(" ", widget.playPause, "Play/pause song") diff --git a/modules/spotifyweb/keyboard.go b/modules/spotifyweb/keyboard.go index ccc23a62..1d3fd4d5 100644 --- a/modules/spotifyweb/keyboard.go +++ b/modules/spotifyweb/keyboard.go @@ -7,9 +7,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("/", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("h", widget.selectPrevious, "Select previous item") widget.SetKeyboardChar("l", widget.selectNext, "Select next item") widget.SetKeyboardChar(" ", widget.playPause, "Play/pause") diff --git a/modules/textfile/keyboard.go b/modules/textfile/keyboard.go index 4eb90bde..bfeeb25a 100644 --- a/modules/textfile/keyboard.go +++ b/modules/textfile/keyboard.go @@ -6,7 +6,7 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(nil) widget.SetKeyboardChar("l", widget.NextSource, "Select next file") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous file") diff --git a/modules/todo/keyboard.go b/modules/todo/keyboard.go index 793a5e85..a04962f7 100644 --- a/modules/todo/keyboard.go +++ b/modules/todo/keyboard.go @@ -9,9 +9,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - 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") diff --git a/modules/todoist/keyboard.go b/modules/todoist/keyboard.go index 7ce284e9..b6cc2134 100644 --- a/modules/todoist/keyboard.go +++ b/modules/todoist/keyboard.go @@ -3,9 +3,8 @@ package todoist import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("d", widget.Delete, "Delete item") widget.SetKeyboardChar("j", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Next, "Select next item") diff --git a/modules/transmission/keyboard.go b/modules/transmission/keyboard.go index 644aecb3..1f9dc56f 100644 --- a/modules/transmission/keyboard.go +++ b/modules/transmission/keyboard.go @@ -3,7 +3,7 @@ package transmission import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(nil) widget.SetKeyboardChar("j", widget.Prev, "Select previous item") widget.SetKeyboardChar("k", widget.Next, "Select next item") diff --git a/modules/travisci/keyboard.go b/modules/travisci/keyboard.go index b65c8b16..c5a91a6a 100644 --- a/modules/travisci/keyboard.go +++ b/modules/travisci/keyboard.go @@ -3,9 +3,8 @@ package travisci import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openBuild, "Open item in browser") diff --git a/modules/twitter/keyboard.go b/modules/twitter/keyboard.go index c1263b3d..959ab9f2 100644 --- a/modules/twitter/keyboard.go +++ b/modules/twitter/keyboard.go @@ -6,9 +6,8 @@ import ( ) func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("l", widget.NextSource, "Select next source") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") widget.SetKeyboardChar("o", widget.openFile, "Open source") diff --git a/modules/weatherservices/weather/keyboard.go b/modules/weatherservices/weather/keyboard.go index 81a4ca9a..080a7ced 100644 --- a/modules/weatherservices/weather/keyboard.go +++ b/modules/weatherservices/weather/keyboard.go @@ -3,9 +3,8 @@ package weather import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh Widget") widget.SetKeyboardChar("h", widget.PrevSource, "Select previous city") widget.SetKeyboardChar("l", widget.NextSource, "Select next city") diff --git a/modules/zendesk/keyboard.go b/modules/zendesk/keyboard.go index f0191a9c..4c135cd8 100644 --- a/modules/zendesk/keyboard.go +++ b/modules/zendesk/keyboard.go @@ -3,9 +3,8 @@ package zendesk import "github.com/gdamore/tcell" func (widget *Widget) initializeKeyboardControls() { - widget.InitializeCommonControls() + widget.InitializeCommonControls(widget.Refresh) - widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget") widget.SetKeyboardChar("j", widget.Next, "Select next item") widget.SetKeyboardChar("k", widget.Prev, "Select previous item") widget.SetKeyboardChar("o", widget.openTicket, "Open item") diff --git a/view/keyboard_widget.go b/view/keyboard_widget.go index e68e1393..ba9ffbf0 100644 --- a/view/keyboard_widget.go +++ b/view/keyboard_widget.go @@ -74,8 +74,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() { +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