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

Merge branch 'master' into configdocs

This commit is contained in:
Chris Cummer
2019-05-24 18:14:34 -07:00
committed by GitHub
7 changed files with 41 additions and 64 deletions

View File

@@ -5,9 +5,9 @@ import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt")
widget.SetKeyboardChar("r", widget.Refresh, "Refresh widget")
widget.SetKeyboardChar("h", widget.Prev, "Select previous item")
widget.SetKeyboardChar("l", widget.Next, "Select next item")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous project")
widget.SetKeyboardChar("l", widget.NextSource, "Select next project")
widget.SetKeyboardKey(tcell.KeyLeft, widget.Prev, "Select previous item")
widget.SetKeyboardKey(tcell.KeyRight, widget.Next, "Select next item")
widget.SetKeyboardKey(tcell.KeyLeft, widget.PrevSource, "Select previous project")
widget.SetKeyboardKey(tcell.KeyRight, widget.NextSource, "Select next project")
}

View File

@@ -8,10 +8,10 @@ import (
type Widget struct {
wtf.KeyboardWidget
wtf.MultiSourceWidget
wtf.TextWidget
GitlabProjects []*GitlabProject
Idx int
gitlab *glb.Client
settings *Settings
@@ -26,10 +26,9 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *
}
widget := Widget{
KeyboardWidget: wtf.NewKeyboardWidget(app, pages, settings.common),
TextWidget: wtf.NewTextWidget(app, settings.common, true),
Idx: 0,
KeyboardWidget: wtf.NewKeyboardWidget(app, pages, settings.common),
MultiSourceWidget: wtf.NewMultiSourceWidget(settings.common, "repository", "repositories"),
TextWidget: wtf.NewTextWidget(app, settings.common, true),
gitlab: gitlab,
settings: settings,
@@ -39,6 +38,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *
widget.initializeKeyboardControls()
widget.View.SetInputCapture(widget.InputCapture)
widget.SetDisplayFunction(widget.display)
widget.KeyboardWidget.SetView(widget.View)
@@ -55,24 +55,6 @@ func (widget *Widget) Refresh() {
widget.display()
}
func (widget *Widget) Next() {
widget.Idx++
if widget.Idx == len(widget.GitlabProjects) {
widget.Idx = 0
}
widget.display()
}
func (widget *Widget) Prev() {
widget.Idx--
if widget.Idx < 0 {
widget.Idx = len(widget.GitlabProjects) - 1
}
widget.display()
}
func (widget *Widget) HelpText() string {
return widget.KeyboardWidget.HelpText()
}

View File

@@ -53,14 +53,16 @@ func (widget *Widget) ProjectAt(idx int) *Project {
return widget.projects[idx]
}
func (w *Widget) Refresh() {
if w.Disabled() || w.CurrentProject() == nil {
w.SetItemCount(0)
func (widget *Widget) Refresh() {
if widget.Disabled() || widget.CurrentProject() == nil {
widget.SetItemCount(0)
return
}
w.SetItemCount(len(w.CurrentProject().tasks))
w.display()
widget.loadProjects()
widget.SetItemCount(len(widget.CurrentProject().tasks))
widget.display()
}
func (widget *Widget) HelpText() string {

View File

@@ -4,9 +4,10 @@ import "github.com/gdamore/tcell"
func (widget *Widget) initializeKeyboardControls() {
widget.SetKeyboardChar("/", widget.ShowHelp, "Show/hide this help prompt")
widget.SetKeyboardChar("h", widget.Prev, "Select previous item")
widget.SetKeyboardChar("l", widget.Next, "Select next item")
widget.SetKeyboardChar("r", widget.Refresh, "Refresh Widget")
widget.SetKeyboardChar("h", widget.PrevSource, "Select previous city")
widget.SetKeyboardChar("l", widget.NextSource, "Select next city")
widget.SetKeyboardKey(tcell.KeyLeft, widget.Prev, "Select previous item")
widget.SetKeyboardKey(tcell.KeyRight, widget.Next, "Select next item")
widget.SetKeyboardKey(tcell.KeyLeft, widget.PrevSource, "Select previous city")
widget.SetKeyboardKey(tcell.KeyRight, widget.NextSource, "Select next city")
}

View File

@@ -9,29 +9,32 @@ import (
// Widget is the container for weather data.
type Widget struct {
wtf.KeyboardWidget
wtf.MultiSourceWidget
wtf.TextWidget
// APIKey string
Data []*owm.CurrentWeatherData
Idx int
pages *tview.Pages
settings *Settings
}
// NewWidget creates and returns a new instance of the weather Widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{
KeyboardWidget: wtf.NewKeyboardWidget(app, pages, settings.common),
TextWidget: wtf.NewTextWidget(app, settings.common, true),
Idx: 0,
KeyboardWidget: wtf.NewKeyboardWidget(app, pages, settings.common),
MultiSourceWidget: wtf.NewMultiSourceWidget(settings.common, "cityid", "cityids"),
TextWidget: wtf.NewTextWidget(app, settings.common, true),
pages: pages,
settings: settings,
}
widget.initializeKeyboardControls()
widget.View.SetInputCapture(widget.InputCapture)
widget.SetDisplayFunction(widget.display)
widget.KeyboardWidget.SetView(widget.View)
return &widget
@@ -65,28 +68,6 @@ func (widget *Widget) Refresh() {
widget.display()
}
// Next displays data for the next city data in the list. If the current city is the last
// city, it wraps to the first city.
func (widget *Widget) Next() {
widget.Idx++
if widget.Idx == len(widget.Data) {
widget.Idx = 0
}
widget.display()
}
// Prev displays data for the previous city in the list. If the previous city is the first
// city, it wraps to the last city.
func (widget *Widget) Prev() {
widget.Idx--
if widget.Idx < 0 {
widget.Idx = len(widget.Data) - 1
}
widget.display()
}
func (widget *Widget) HelpText() string {
return widget.KeyboardWidget.HelpText()
}