diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2018-12-12 22:34:20 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2018-12-12 22:34:20 +1100 |
commit | a26c15dafa7e8c80a56ce0f452137e0af16a883e (patch) | |
tree | 29f0222e1709d480fe84055e07fd1ca3c002af5f /pkg/gui/view_helpers.go | |
parent | c71bcc64ed7e3a5dc921b14df53dbe9d2837a20a (diff) |
some fixes for issues around the credentials panel
Diffstat (limited to 'pkg/gui/view_helpers.go')
-rw-r--r-- | pkg/gui/view_helpers.go | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go index 298e0be7f..fa676a47d 100644 --- a/pkg/gui/view_helpers.go +++ b/pkg/gui/view_helpers.go @@ -222,22 +222,26 @@ func (gui *Gui) focusPoint(cx int, cy int, v *gocui.View) error { return nil } +func (gui *Gui) synchronousRenderString(g *gocui.Gui, viewName, s string) error { + v, err := g.View(viewName) + // just in case the view disappeared as this function was called, we'll + // silently return if it's not found + if err != nil { + return nil + } + v.Clear() + if err := v.SetOrigin(0, 0); err != nil { + return err + } + output := string(bom.Clean([]byte(s))) + output = utils.NormalizeLinefeeds(output) + fmt.Fprint(v, output) + return nil +} + func (gui *Gui) renderString(g *gocui.Gui, viewName, s string) error { g.Update(func(*gocui.Gui) error { - v, err := g.View(viewName) - // just in case the view disappeared as this function was called, we'll - // silently return if it's not found - if err != nil { - return nil - } - v.Clear() - if err := v.SetOrigin(0, 0); err != nil { - return err - } - output := string(bom.Clean([]byte(s))) - output = utils.NormalizeLinefeeds(output) - fmt.Fprint(v, output) - return nil + return gui.synchronousRenderString(gui.g, viewName, s) }) return nil } @@ -311,19 +315,16 @@ func (gui *Gui) resizeCurrentPopupPanel(g *gocui.Gui) error { // HandleCredentialsPopup handles the views after executing a command that might ask for credentials func (gui *Gui) HandleCredentialsPopup(g *gocui.Gui, popupOpened bool, cmdErr error) { + if popupOpened { + _ = g.DeleteView("credentials") + } if cmdErr != nil { errMessage := cmdErr.Error() if errMessage == "exit status 128" { errMessage = gui.Tr.SLocalize("PassUnameWrong") } _ = gui.createErrorPanel(g, errMessage) - if popupOpened { - _ = g.DeleteView("credentials") - } } else { - if popupOpened { - _ = g.DeleteView("credentials") - } _ = gui.closeConfirmationPrompt(g) _ = gui.refreshSidePanels(g) } |