| 479 | } |
| 480 | |
| 481 | func (sb *showBug) scrollDown(g *gocui.Gui, v *gocui.View) error { |
| 482 | _, maxY := v.Size() |
| 483 | |
| 484 | lastViewName := sb.mainSelectableView[len(sb.mainSelectableView)-1] |
| 485 | |
| 486 | lastView, err := g.View(lastViewName) |
| 487 | if err != nil { |
| 488 | return err |
| 489 | } |
| 490 | |
| 491 | _, vMaxY := lastView.Size() |
| 492 | |
| 493 | _, vy0, _, _, err := g.ViewPosition(lastViewName) |
| 494 | if err != nil { |
| 495 | return err |
| 496 | } |
| 497 | |
| 498 | maxScroll := vy0 + sb.scroll + vMaxY - maxY |
| 499 | |
| 500 | sb.scroll += maxY / 2 |
| 501 | |
| 502 | sb.scroll = minInt(sb.scroll, maxScroll) |
| 503 | |
| 504 | return nil |
| 505 | } |
| 506 | |
| 507 | func (sb *showBug) selectPrevious(g *gocui.Gui, v *gocui.View) error { |
| 508 | var selectable []string |