diff options
| author | James Campos <james.r.campos@gmail.com> | 2020-08-29 22:02:23 -0700 | 
|---|---|---|
| committer | James Campos <james.r.campos@gmail.com> | 2020-08-29 22:02:23 -0700 | 
| commit | 4a9c1a0bf6addaa1992f4ca9d1d482de50a79355 (patch) | |
| tree | c65c5f7c4a6be5b38ce5f2f213774f2f952c4974 | |
| parent | 8e094724ca23c2edd2f617750c3e000e5f9740d7 (diff) | |
| download | bk-4a9c1a0bf6addaa1992f4ca9d1d482de50a79355.tar.gz | |
try to start nav with current chapter centered
| -rw-r--r-- | src/view.rs | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/src/view.rs b/src/view.rs index 092631d..bc9bd77 100644 --- a/src/view.rs +++ b/src/view.rs @@ -107,6 +107,11 @@ PageDown Right Space f l  Page Down  pub struct Nav;  impl Nav { +    fn start(&self, bk: &mut Bk) { +        bk.nav_top = bk.chapter.saturating_sub(bk.rows / 2); +        bk.mark('\''); +        bk.view = Some(&Self); +    }      fn scroll_up(&self, bk: &mut Bk) {          if bk.chapter > 0 {              if bk.chapter == bk.nav_top { @@ -257,11 +262,7 @@ impl View for Page {      fn on_key(&self, bk: &mut Bk, kc: KeyCode) {          match kc {              Esc | Char('q') => bk.view = None, -            Tab => { -                bk.nav_top = bk.chapter.saturating_sub(bk.rows - 1); -                bk.mark('\''); -                bk.view = Some(&Nav); -            } +            Tab => Nav.start(bk),              F(_) => bk.view = Some(&Help),              Char('m') => bk.view = Some(&Mark),              Char('\'') => bk.view = Some(&Jump), | 
