summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-02-16 08:59:48 +1100
committerJesse Duffield <jessedduffield@gmail.com>2020-02-16 09:57:49 +1100
commit5b1f60b7eb2b2a73f582b2add0843cc26068bae5 (patch)
tree0d87906ef5b998c35c0309352ecbdcc80ef9881b /pkg/gui
parent2e1344f6118e9fb9173c1b4ea7225e4766167c06 (diff)
refactor create reset menu logic
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/commits_panel.go9
-rw-r--r--pkg/gui/reset_menu_panel.go (renamed from pkg/gui/commit_reset_menu_panel.go)18
2 files changed, 15 insertions, 12 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go
index 43b3cb802..150a7ae16 100644
--- a/pkg/gui/commits_panel.go
+++ b/pkg/gui/commits_panel.go
@@ -652,3 +652,12 @@ func (gui *Gui) handlePrevCommitsTab(g *gocui.Gui, v *gocui.View) error {
utils.ModuloWithWrap(v.TabIndex-1, len(v.Tabs)),
)
}
+
+func (gui *Gui) handleCreateCommitResetMenu(g *gocui.Gui, v *gocui.View) error {
+ commit := gui.getSelectedCommit(g)
+ if commit == nil {
+ return gui.createErrorPanel(gui.g, gui.Tr.SLocalize("NoCommitsThisBranch"))
+ }
+
+ return gui.createResetMenu(commit.Sha)
+}
diff --git a/pkg/gui/commit_reset_menu_panel.go b/pkg/gui/reset_menu_panel.go
index 8e9da1aad..10f2705dc 100644
--- a/pkg/gui/commit_reset_menu_panel.go
+++ b/pkg/gui/reset_menu_panel.go
@@ -4,15 +4,9 @@ import (
"fmt"
"github.com/fatih/color"
- "github.com/jesseduffield/gocui"
)
-func (gui *Gui) handleCreateCommitResetMenu(g *gocui.Gui, v *gocui.View) error {
- commit := gui.getSelectedCommit(g)
- if commit == nil {
- return gui.createErrorPanel(gui.g, gui.Tr.SLocalize("NoCommitsThisBranch"))
- }
-
+func (gui *Gui) createResetMenu(ref string) error {
strengths := []string{"soft", "mixed", "hard"}
menuItems := make([]*menuItem, len(strengths))
for i, strength := range strengths {
@@ -21,15 +15,15 @@ func (gui *Gui) handleCreateCommitResetMenu(g *gocui.Gui, v *gocui.View) error {
displayStrings: []string{
fmt.Sprintf("%s reset", strength),
color.New(color.FgRed).Sprint(
- fmt.Sprintf("reset --%s %s", strength, commit.Sha),
+ fmt.Sprintf("reset --%s %s", strength, ref),
),
},
onPress: func() error {
- if err := gui.GitCommand.ResetToCommit(commit.Sha, innerStrength); err != nil {
+ if err := gui.GitCommand.ResetToCommit(ref, innerStrength); err != nil {
return err
}
- if err := gui.refreshCommits(g); err != nil {
+ if err := gui.refreshCommits(gui.g); err != nil {
return err
}
if err := gui.refreshFiles(); err != nil {
@@ -40,10 +34,10 @@ func (gui *Gui) handleCreateCommitResetMenu(g *gocui.Gui, v *gocui.View) error {
}
gui.State.Panels.Commits.SelectedLine = 0
- return gui.handleCommitSelect(g, gui.getCommitsView())
+ return gui.handleCommitSelect(gui.g, gui.getCommitsView())
},
}
}
- return gui.createMenu(fmt.Sprintf("%s %s", gui.Tr.SLocalize("resetTo"), commit.Sha), menuItems, createMenuOptions{showCancel: true})
+ return gui.createMenu(fmt.Sprintf("%s %s", gui.Tr.SLocalize("resetTo"), ref), menuItems, createMenuOptions{showCancel: true})
}