summaryrefslogtreecommitdiffstats
path: root/pkg/gui/global_handlers.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-08-19 19:07:14 +1000
committerJesse Duffield <jessedduffield@gmail.com>2020-08-23 14:29:18 +1000
commit2b812b01e9d80409a0bf212eb7208dcdd6f5c974 (patch)
tree4c1b0cd51ba170c92bc38410ec6005373736720b /pkg/gui/global_handlers.go
parent2f5d5034dbe4523c44faa58ba6f30c2fef06c128 (diff)
more standardisation of rendering
Diffstat (limited to 'pkg/gui/global_handlers.go')
-rw-r--r--pkg/gui/global_handlers.go26
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