From a283dd8ed847c14c24bfce5247bfe2a83e8911d1 Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Thu, 23 May 2019 20:45:01 -0400 Subject: [PATCH] Migrate gitlab to multisource widget --- modules/gitlab/keyboard.go | 8 ++++---- modules/gitlab/widget.go | 28 +++++----------------------- 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/modules/gitlab/keyboard.go b/modules/gitlab/keyboard.go index 3891d565e..5d3791d73 100644 --- a/modules/gitlab/keyboard.go +++ b/modules/gitlab/keyboard.go @@ -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") } diff --git a/modules/gitlab/widget.go b/modules/gitlab/widget.go index adc725570..bad0b118d 100644 --- a/modules/gitlab/widget.go +++ b/modules/gitlab/widget.go @@ -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() }