diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-08-19 19:07:14 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-08-23 14:29:18 +1000 |
commit | 2b812b01e9d80409a0bf212eb7208dcdd6f5c974 (patch) | |
tree | 4c1b0cd51ba170c92bc38410ec6005373736720b /pkg/gui/global_handlers.go | |
parent | 2f5d5034dbe4523c44faa58ba6f30c2fef06c128 (diff) |
more standardisation of rendering
Diffstat (limited to 'pkg/gui/global_handlers.go')
-rw-r--r-- | pkg/gui/global_handlers.go | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/pkg/gui/global_handlers.go b/pkg/gui/global_handlers.go index ef98b98e6..d37fb8dea 100644 --- a/pkg/gui/global_handlers.go +++ b/pkg/gui/global_handlers.go @@ -9,15 +9,23 @@ import ( "github.com/jesseduffield/lazygit/pkg/utils" ) +// these views need to be re-rendered when the screen mode changes. The commits view, +// for example, will show authorship information in half and full screen mode. +func (gui *Gui) viewsWithScreenModeDependentContent() []string { + return []string{"branches", "commits"} +} + func (gui *Gui) nextScreenMode(g *gocui.Gui, v *gocui.View) error { gui.State.ScreenMode = utils.NextIntInCycle([]int{SCREEN_NORMAL, SCREEN_HALF, SCREEN_FULL}, gui.State.ScreenMode) // commits render differently depending on whether we're in fullscreen more or not if err := gui.refreshCommitsViewWithSelection(); err != nil { return err } - // same with branches - if err := gui.refreshBranchesViewWithSelection(); err != nil { - return err + + for _, viewName := range gui.viewsWithScreenModeDependentContent() { + if err := gui.rerenderView(viewName); err != nil { + return err + } } return nil @@ -25,13 +33,11 @@ func (gui *Gui) nextScreenMode(g *gocui.Gui, v *gocui.View) error { func (gui *Gui) prevScreenMode(g *gocui.Gui, v *gocui.View) error { gui.State.ScreenMode = utils.PrevIntInCycle([]int{SCREEN_NORMAL, SCREEN_HALF, SCREEN_FULL}, gui.State.ScreenMode) - // commits render differently depending on whether we're in fullscreen more or not - if err := gui.refreshCommitsViewWithSelection(); err != nil { - return err - } - // same with branches - if err := gui.refreshBranchesViewWithSelection(); err != nil { - return err + + for _, viewName := range gui.viewsWithScreenModeDependentContent() { + if err := gui.rerenderView(viewName); err != nil { + return err + } } return nil |