summaryrefslogtreecommitdiffstats
path: root/pkg/gui/diff_context_size.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/diff_context_size.go')
-rw-r--r--pkg/gui/diff_context_size.go24
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