Fixes issue where percent read was incorrect when moving through history
This commit is contained in:
parent
fdaf6312ab
commit
8c42748432
16
client.go
16
client.go
|
@ -101,6 +101,7 @@ func (c *client) Draw() {
|
||||||
} else {
|
} else {
|
||||||
screen.WriteString(fmt.Sprintf("%-*.*s", contentWidth, contentWidth, " "))
|
screen.WriteString(fmt.Sprintf("%-*.*s", contentWidth, contentWidth, " "))
|
||||||
}
|
}
|
||||||
|
screen.WriteString("\033[500C\033[39D")
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.Options["theme"] == "inverse" && !c.BookMarks.IsFocused {
|
if c.Options["theme"] == "inverse" && !c.BookMarks.IsFocused {
|
||||||
|
@ -125,7 +126,7 @@ func (c *client) Draw() {
|
||||||
screen.WriteString(fmt.Sprintf("%-*.*s", c.Width, c.Width, pageContent[i]))
|
screen.WriteString(fmt.Sprintf("%-*.*s", c.Width, c.Width, pageContent[i]))
|
||||||
screen.WriteString("\n")
|
screen.WriteString("\n")
|
||||||
} else {
|
} else {
|
||||||
screen.WriteString(fmt.Sprintf("%*s", c.Width, " "))
|
screen.WriteString(fmt.Sprintf("%*.*s", c.Width, c.Width, " "))
|
||||||
screen.WriteString("\n")
|
screen.WriteString("\n")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,6 +183,7 @@ func (c *client) TakeControlInput() {
|
||||||
c.DrawMessage()
|
c.DrawMessage()
|
||||||
} else {
|
} else {
|
||||||
c.SetHeaderUrl()
|
c.SetHeaderUrl()
|
||||||
|
c.SetPercentRead()
|
||||||
c.Draw()
|
c.Draw()
|
||||||
}
|
}
|
||||||
case 'B':
|
case 'B':
|
||||||
|
@ -197,6 +199,7 @@ func (c *client) TakeControlInput() {
|
||||||
c.DrawMessage()
|
c.DrawMessage()
|
||||||
} else {
|
} else {
|
||||||
c.SetHeaderUrl()
|
c.SetHeaderUrl()
|
||||||
|
c.SetPercentRead()
|
||||||
c.Draw()
|
c.Draw()
|
||||||
}
|
}
|
||||||
case '\t':
|
case '\t':
|
||||||
|
@ -610,6 +613,17 @@ func (c *client) Scroll(amount int) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *client) SetPercentRead() {
|
||||||
|
page := c.PageState.History[c.PageState.Position]
|
||||||
|
var percentRead int
|
||||||
|
if len(page.WrappedContent) < c.Height - 3 {
|
||||||
|
percentRead = 100
|
||||||
|
} else {
|
||||||
|
percentRead = int(float32(page.ScrollPosition + c.Height - 3) / float32(len(page.WrappedContent)) * 100.0)
|
||||||
|
}
|
||||||
|
c.FootBar.SetPercentRead(percentRead)
|
||||||
|
}
|
||||||
|
|
||||||
func (c *client) displayConfigValue(setting string) {
|
func (c *client) displayConfigValue(setting string) {
|
||||||
if val, ok := c.Options[setting]; ok {
|
if val, ok := c.Options[setting]; ok {
|
||||||
c.SetMessage(fmt.Sprintf("%s is set to: %q", setting, val), false)
|
c.SetMessage(fmt.Sprintf("%s is set to: %q", setting, val), false)
|
||||||
|
|
Loading…
Reference in New Issue