From 1be970eaec22d5ea1832fdfe8f45b686dbfcf979 Mon Sep 17 00:00:00 2001 From: Chris Cummer Date: Wed, 18 Jul 2018 10:06:28 -0700 Subject: [PATCH] List highlights span entire widget width --- jira/widget.go | 10 ++++++---- todo/display.go | 5 +++++ todoist/display.go | 17 +++++++++++------ todoist/project.go | 2 -- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/jira/widget.go b/jira/widget.go index f9ac3c1c..5e3dc110 100644 --- a/jira/widget.go +++ b/jira/widget.go @@ -56,7 +56,7 @@ func (widget *Widget) display() { widget.View.SetWrap(false) widget.View.SetTitle( fmt.Sprintf( - "%s- [green]%s[white]", + "%s- [green]%s[white] ", widget.Name, wtf.Config.UString("wtf.mods.jira.project"), ), @@ -95,7 +95,8 @@ func (widget *Widget) contentFrom(searchResult *SearchResult) string { for idx, issue := range searchResult.Issues { str = str + fmt.Sprintf( - " [%s]%-6s[white] [green]%-10s [%s]%s\n", + "[%s] [%s]%-6s[white] [green]%-10s[white] [%s]%s\n", + widget.rowColor(idx), widget.issueTypeColor(&issue), issue.IssueFields.IssueType.Name, issue.Key, @@ -109,8 +110,9 @@ func (widget *Widget) contentFrom(searchResult *SearchResult) string { func (widget *Widget) rowColor(idx int) string { if widget.View.HasFocus() && (idx == widget.selected) { - foreColor := wtf.Config.UString("wtf.mods.jira.colors.highlight.fore", "black") - backColor := wtf.Config.UString("wtf.mods.jira.colors.highlight.back", "white") + foreColor := wtf.Config.UString("wtf.colors.highlight.fore", "black") + backColor := wtf.Config.UString("wtf.colors.highlight.back", "orange") + return fmt.Sprintf("%s:%s", foreColor, backColor) } return wtf.RowColor("jira", idx) diff --git a/todo/display.go b/todo/display.go index 91a8193b..1a2027b5 100644 --- a/todo/display.go +++ b/todo/display.go @@ -50,5 +50,10 @@ func (widget *Widget) formattedItemLine(item *wtf.ChecklistItem, selectedItem *w tview.Escape(item.Text), ) + _, _, w, _ := widget.View.GetInnerRect() + if w > maxLen { + maxLen = w + } + return str + wtf.PadRow((checkWidth+len(item.Text)), (checkWidth+maxLen+1)) + "\n" } diff --git a/todoist/display.go b/todoist/display.go index c6004c22..31626997 100644 --- a/todoist/display.go +++ b/todoist/display.go @@ -9,15 +9,15 @@ import ( const checkWidth = 4 -func (w *Widget) display() { - proj := w.CurrentProject() +func (widget *Widget) display() { + proj := widget.CurrentProject() if proj == nil { return } - w.View.SetTitle(fmt.Sprintf("%s- [green]%s[white] ", w.Name, proj.Project.Name)) - str := wtf.SigilStr(len(w.projects), w.idx, w.View) + "\n" + widget.View.SetTitle(fmt.Sprintf("%s- [green]%s[white] ", widget.Name, proj.Project.Name)) + str := wtf.SigilStr(len(widget.projects), widget.idx, widget.View) + "\n" maxLen := proj.LongestLine() @@ -36,9 +36,14 @@ func (w *Widget) display() { tview.Escape(item.Content), ) + _, _, w, _ := widget.View.GetInnerRect() + if w > maxLen { + maxLen = w + } + str = str + row + wtf.PadRow((checkWidth+len(item.Content)), (checkWidth+maxLen+1)) + "\n" } - w.View.Clear() - w.View.SetText(str) + //widget.View.Clear() + widget.View.SetText(str) } diff --git a/todoist/project.go b/todoist/project.go index 50e95e36..15895abb 100644 --- a/todoist/project.go +++ b/todoist/project.go @@ -10,7 +10,6 @@ type Project struct { todoist.Project index int - list wtf.Checklist tasks []todoist.Task } @@ -24,7 +23,6 @@ func NewProject(id int) *Project { Project: project, index: -1, - list: wtf.NewChecklist(), } proj.loadTasks()