summaryrefslogtreecommitdiffstats
path: root/pkg/gui/view_helpers.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2018-12-12 22:34:20 +1100
committerJesse Duffield <jessedduffield@gmail.com>2018-12-12 22:34:20 +1100
commita26c15dafa7e8c80a56ce0f452137e0af16a883e (patch)
tree29f0222e1709d480fe84055e07fd1ca3c002af5f /pkg/gui/view_helpers.go
parentc71bcc64ed7e3a5dc921b14df53dbe9d2837a20a (diff)
some fixes for issues around the credentials panel
Diffstat (limited to 'pkg/gui/view_helpers.go')
-rw-r--r--pkg/gui/view_helpers.go41
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)
}