diff options
Diffstat (limited to 'pkg/gui/diff_context_size.go')
-rw-r--r-- | pkg/gui/diff_context_size.go | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/pkg/gui/diff_context_size.go b/pkg/gui/diff_context_size.go index a54a9c418..fdf147496 100644 --- a/pkg/gui/diff_context_size.go +++ b/pkg/gui/diff_context_size.go @@ -1,5 +1,9 @@ package gui +import ( + "errors" +) + func isShowingDiff(gui *Gui) bool { key := gui.currentStaticContext().GetKey() @@ -8,8 +12,12 @@ func isShowingDiff(gui *Gui) bool { func (gui *Gui) IncreaseContextInDiffView() error { if isShowingDiff(gui) { + if err := gui.CheckCanChangeContext(); err != nil { + return gui.surfaceError(err) + } + gui.Config.GetUserConfig().Git.DiffContextSize = gui.Config.GetUserConfig().Git.DiffContextSize + 1 - return gui.postRefreshUpdate(gui.currentStaticContext()) + return gui.currentStaticContext().HandleRenderToMain() } return nil @@ -19,8 +27,20 @@ func (gui *Gui) DecreaseContextInDiffView() error { old_size := gui.Config.GetUserConfig().Git.DiffContextSize if isShowingDiff(gui) && old_size > 1 { + if err := gui.CheckCanChangeContext(); err != nil { + return gui.surfaceError(err) + } + gui.Config.GetUserConfig().Git.DiffContextSize = old_size - 1 - return gui.postRefreshUpdate(gui.currentStaticContext()) + return gui.currentStaticContext().HandleRenderToMain() + } + + return nil +} + +func (gui *Gui) CheckCanChangeContext() error { + if gui.GitCommand.PatchManager.Active() { + return errors.New(gui.Tr.CantChangeContextSizeError) } return nil |