summaryrefslogtreecommitdiffstats
path: root/pkg/gui/commit_files_panel.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2019-11-05 18:10:47 +1100
committerJesse Duffield <jessedduffield@gmail.com>2019-11-05 19:22:01 +1100
commitcd3874ffb7826099574f2661475ff24298d16a64 (patch)
tree2503e86c6ab46f227ff4ca65503c57cad00f1289 /pkg/gui/commit_files_panel.go
parent10fe88a2cf79d525f4dfa767b2d0fab1793127e8 (diff)
don't let patch manager ever be nil
Diffstat (limited to 'pkg/gui/commit_files_panel.go')
-rw-r--r--pkg/gui/commit_files_panel.go20
1 files changed, 10 insertions, 10 deletions
diff --git a/pkg/gui/commit_files_panel.go b/pkg/gui/commit_files_panel.go
index 0141e25b8..c0cab24cb 100644
--- a/pkg/gui/commit_files_panel.go
+++ b/pkg/gui/commit_files_panel.go
@@ -136,8 +136,8 @@ func (gui *Gui) handleToggleFileForPatch(g *gocui.Gui, v *gocui.View) error {
}
toggleTheFile := func() error {
- if gui.GitCommand.PatchManager == nil {
- if err := gui.createPatchManager(); err != nil {
+ if gui.GitCommand.PatchManager.IsEmpty() {
+ if err := gui.startPatchManager(); err != nil {
return err
}
}
@@ -147,9 +147,9 @@ func (gui *Gui) handleToggleFileForPatch(g *gocui.Gui, v *gocui.View) error {
return gui.refreshCommitFilesView()
}
- if gui.GitCommand.PatchManager != nil && gui.GitCommand.PatchManager.CommitSha != commitFile.Sha {
+ if !gui.GitCommand.PatchManager.IsEmpty() && gui.GitCommand.PatchManager.CommitSha != commitFile.Sha {
return gui.createConfirmationPanel(g, v, true, gui.Tr.SLocalize("DiscardPatch"), gui.Tr.SLocalize("DiscardPatchConfirm"), func(g *gocui.Gui, v *gocui.View) error {
- gui.GitCommand.PatchManager = nil
+ gui.GitCommand.PatchManager.Reset()
return toggleTheFile()
}, nil)
}
@@ -157,7 +157,7 @@ func (gui *Gui) handleToggleFileForPatch(g *gocui.Gui, v *gocui.View) error {
return toggleTheFile()
}
-func (gui *Gui) createPatchManager() error {
+func (gui *Gui) startPatchManager() error {
diffMap := map[string]string{}
for _, commitFile := range gui.State.CommitFiles {
commitText, err := gui.GitCommand.ShowCommitFile(commitFile.Sha, commitFile.Name, true)
@@ -172,7 +172,7 @@ func (gui *Gui) createPatchManager() error {
return errors.New("No commit selected")
}
- gui.GitCommand.PatchManager = commands.NewPatchManager(gui.Log, gui.GitCommand.ApplyPatch, commit.Sha, diffMap)
+ gui.GitCommand.PatchManager.Start(commit.Sha, diffMap)
return nil
}
@@ -187,8 +187,8 @@ func (gui *Gui) handleEnterCommitFile(g *gocui.Gui, v *gocui.View) error {
}
enterTheFile := func() error {
- if gui.GitCommand.PatchManager == nil {
- if err := gui.createPatchManager(); err != nil {
+ if gui.GitCommand.PatchManager.IsEmpty() {
+ if err := gui.startPatchManager(); err != nil {
return err
}
}
@@ -202,9 +202,9 @@ func (gui *Gui) handleEnterCommitFile(g *gocui.Gui, v *gocui.View) error {
return gui.refreshPatchBuildingPanel()
}
- if gui.GitCommand.PatchManager != nil && gui.GitCommand.PatchManager.CommitSha != commitFile.Sha {
+ if !gui.GitCommand.PatchManager.IsEmpty() && gui.GitCommand.PatchManager.CommitSha != commitFile.Sha {
return gui.createConfirmationPanel(g, v, false, gui.Tr.SLocalize("DiscardPatch"), gui.Tr.SLocalize("DiscardPatchConfirm"), func(g *gocui.Gui, v *gocui.View) error {
- gui.GitCommand.PatchManager = nil
+ gui.GitCommand.PatchManager.Reset()
return enterTheFile()
}, nil)
}