diff options
author | Mark Kopenga <mkopenga@gmail.com> | 2018-12-06 08:31:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-06 08:31:12 +0100 |
commit | 1b6d34e76a4d5d132f95072139fb3aba760eb771 (patch) | |
tree | fb6cc607a67f0d3d2ef0b9d66fafd439864e6d9a /pkg/gui/files_panel.go | |
parent | 67115436347dec591d12a1a31d1c971915cf0b05 (diff) | |
parent | 1a6a69a8f1f7c44978a384ba56321149f973223d (diff) |
Merge branch 'master' into https-ask-for-username-password
Diffstat (limited to 'pkg/gui/files_panel.go')
-rw-r--r-- | pkg/gui/files_panel.go | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go index 64efd5b9c..6b52970c3 100644 --- a/pkg/gui/files_panel.go +++ b/pkg/gui/files_panel.go @@ -45,6 +45,28 @@ func (gui *Gui) stageSelectedFile(g *gocui.Gui) error { return gui.GitCommand.StageFile(file.Name) } +func (gui *Gui) handleSwitchToStagingPanel(g *gocui.Gui, v *gocui.View) error { + stagingView, err := g.View("staging") + if err != nil { + return err + } + file, err := gui.getSelectedFile(g) + if err != nil { + if err != gui.Errors.ErrNoFiles { + return err + } + return nil + } + if !file.HasUnstagedChanges { + gui.Log.WithField("staging", "staging").Info("making error panel") + return gui.createErrorPanel(g, gui.Tr.SLocalize("FileStagingRequirements")) + } + if err := gui.switchFocus(g, v, stagingView); err != nil { + return err + } + return gui.refreshStagingPanel() +} + func (gui *Gui) handleFilePress(g *gocui.Gui, v *gocui.View) error { file, err := gui.getSelectedFile(g) if err != nil { @@ -188,12 +210,11 @@ func (gui *Gui) handleFileSelect(g *gocui.Gui, v *gocui.View) error { if err := gui.renderfilesOptions(g, file); err != nil { return err } - var content string if file.HasMergeConflicts { return gui.refreshMergePanel(g) } - content = gui.GitCommand.Diff(file) + content := gui.GitCommand.Diff(file, false) return gui.renderString(g, "main", content) } |