summaryrefslogtreecommitdiffstats
path: root/pkg/gui/undoing.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/undoing.go')
-rw-r--r--pkg/gui/undoing.go38
1 files changed, 22 insertions, 16 deletions
diff --git a/pkg/gui/undoing.go b/pkg/gui/undoing.go
index 06057af37..7bc128b89 100644
--- a/pkg/gui/undoing.go
+++ b/pkg/gui/undoing.go
@@ -166,24 +166,30 @@ func (gui *Gui) handleHardResetWithAutoStash(commitSha string, options handleHar
dirtyWorkingTree := len(gui.trackedFiles()) > 0
if dirtyWorkingTree {
// offer to autostash changes
- return gui.createConfirmationPanel(gui.g, gui.getBranchesView(), true, gui.Tr.SLocalize("AutoStashTitle"), gui.Tr.SLocalize("AutoStashPrompt"), func(g *gocui.Gui, v *gocui.View) error {
- return gui.WithWaitingStatus(options.WaitingStatus, func() error {
- if err := gui.GitCommand.StashSave(gui.Tr.SLocalize("StashPrefix") + commitSha); err != nil {
- return gui.surfaceError(err)
- }
- if err := reset(); err != nil {
- return err
- }
-
- if err := gui.GitCommand.StashDo(0, "pop"); err != nil {
- if err := gui.refreshSidePanels(refreshOptions{}); err != nil {
+ return gui.createConfirmationPanel(createConfirmationPanelOpts{
+ returnToView: gui.getBranchesView(),
+ returnFocusOnClose: true,
+ title: gui.Tr.SLocalize("AutoStashTitle"),
+ prompt: gui.Tr.SLocalize("AutoStashPrompt"),
+ handleConfirm: func() error {
+ return gui.WithWaitingStatus(options.WaitingStatus, func() error {
+ if err := gui.GitCommand.StashSave(gui.Tr.SLocalize("StashPrefix") + commitSha); err != nil {
+ return gui.surfaceError(err)
+ }
+ if err := reset(); err != nil {
return err
}
- return gui.surfaceError(err)
- }
- return nil
- })
- }, nil)
+
+ if err := gui.GitCommand.StashDo(0, "pop"); err != nil {
+ if err := gui.refreshSidePanels(refreshOptions{}); err != nil {
+ return err
+ }
+ return gui.surfaceError(err)
+ }
+ return nil
+ })
+ },
+ })
}
return gui.WithWaitingStatus(options.WaitingStatus, func() error {