Highlight whole room list row even if room name is short

This commit is contained in:
Tulir Asokan 2018-05-04 01:09:55 +03:00
parent 122b2441c9
commit 2a02f518b2
2 changed files with 13 additions and 1 deletions

View File

@ -718,7 +718,7 @@ func (list *RoomList) Draw(screen tcell.Screen) {
lineWidth -= len(unreadMessageCount) + 1 lineWidth -= len(unreadMessageCount) + 1
} }
widget.WriteLine(screen, tview.AlignLeft, text, x, y, lineWidth, style) widget.WriteLinePadded(screen, tview.AlignLeft, text, x, y, lineWidth, style)
y++ y++
if y >= bottomLimit { if y >= bottomLimit {

View File

@ -20,6 +20,8 @@ import (
"github.com/mattn/go-runewidth" "github.com/mattn/go-runewidth"
"maunium.net/go/tcell" "maunium.net/go/tcell"
"maunium.net/go/tview" "maunium.net/go/tview"
"fmt"
"strconv"
) )
func WriteLineSimple(screen tcell.Screen, line string, x, y int) { func WriteLineSimple(screen tcell.Screen, line string, x, y int) {
@ -57,3 +59,13 @@ func WriteLine(screen tcell.Screen, align int, line string, x, y, maxWidth int,
} }
} }
} }
func WriteLinePadded(screen tcell.Screen, align int, line string, x, y, maxWidth int, style tcell.Style) {
padding := strconv.Itoa(maxWidth)
if align == tview.AlignRight {
line = fmt.Sprintf("%"+padding+"s", line)
} else {
line = fmt.Sprintf("%-"+padding+"s", line)
}
WriteLine(screen, tview.AlignLeft, line, x, y, maxWidth, style)
}