From 1ad9c6faac18d5a683d631452e6a8f8f9c88b9da Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Mon, 11 Mar 2019 09:28:47 +1100 Subject: minor cleanup --- pkg/commands/commit_file.go | 2 +- pkg/gui/commit_files_panel.go | 2 +- pkg/gui/commits_panel.go | 4 ++-- pkg/gui/gui.go | 11 ++++++++++- pkg/gui/keybindings.go | 8 ++++---- pkg/gui/view_helpers.go | 7 ++++++- pkg/i18n/dutch.go | 6 ++++++ pkg/i18n/english.go | 6 ++++++ pkg/i18n/polish.go | 6 ++++++ 9 files changed, 42 insertions(+), 10 deletions(-) (limited to 'pkg') diff --git a/pkg/commands/commit_file.go b/pkg/commands/commit_file.go index 5910ccfec..8bc6a11c2 100644 --- a/pkg/commands/commit_file.go +++ b/pkg/commands/commit_file.go @@ -8,6 +8,6 @@ type CommitFile struct { } // GetDisplayStrings is a function. -func (f *CommitFile) GetDisplayStrings() []string { +func (f *CommitFile) GetDisplayStrings(isFocused bool) []string { return []string{f.DisplayString} } diff --git a/pkg/gui/commit_files_panel.go b/pkg/gui/commit_files_panel.go index 1f2b33d4b..cb4bee807 100644 --- a/pkg/gui/commit_files_panel.go +++ b/pkg/gui/commit_files_panel.go @@ -17,7 +17,7 @@ func (gui *Gui) getSelectedCommitFile(g *gocui.Gui) *commands.CommitFile { func (gui *Gui) handleCommitFileSelect(g *gocui.Gui, v *gocui.View) error { commitFile := gui.getSelectedCommitFile(g) if commitFile == nil { - return gui.renderString(g, "commit files", gui.Tr.SLocalize("NoCommiteFiles")) + return gui.renderString(g, "commitFiles", gui.Tr.SLocalize("NoCommiteFiles")) } if err := gui.focusPoint(0, gui.State.Panels.CommitFiles.SelectedLine, v); err != nil { diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go index e1d520be1..0de71e875 100644 --- a/pkg/gui/commits_panel.go +++ b/pkg/gui/commits_panel.go @@ -445,7 +445,7 @@ func (gui *Gui) handleSwitchToCommitFilesPanel(g *gocui.Gui, v *gocui.View) erro return nil } - commitfileView, err := g.View("commit files") + commitfileView, err := g.View("commitFiles") if err != nil { return err } @@ -470,6 +470,6 @@ func (gui *Gui) handleSwitchToCommitFilesPanel(g *gocui.Gui, v *gocui.View) erro }) } - gui.renderString(g, "commit files", files) + gui.renderListPanel(gui.getCommitFilesView(), gui.State.CommitFiles) return gui.switchFocus(g, v, commitfileView) } diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index f156a6d60..fc40cda07 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -260,9 +260,18 @@ func (gui *Gui) onFocusLost(v *gocui.View) error { return nil } + // if we have lost focus to a first-class panel, we need to do some cleanup if err := gui.changeContext("main", "normal"); err != nil { return err } + + } else if v.Name() == "commitFiles" { + // if we have lost focus to a popup panel, that's okay + if gui.popupPanelFocused() { + return nil + } + + gui.g.SetViewOnBottom(v.Name()) } gui.Log.Info(v.Name() + " focus lost") return nil @@ -358,7 +367,7 @@ func (gui *Gui) layout(g *gocui.Gui) error { branchesView.FgColor = gocui.ColorWhite } - if v, err := g.SetView("commit files", 0, commitsBranchesBoundary+panelSpacing, leftSideWidth, commitsStashBoundary, gocui.TOP|gocui.BOTTOM); err != nil { + if v, err := g.SetView("commitFiles", 0, commitsBranchesBoundary+panelSpacing, leftSideWidth, commitsStashBoundary, gocui.TOP|gocui.BOTTOM); err != nil { if err.Error() != "unknown view" { return err } diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 4fdc3d969..4f03a3c47 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -393,7 +393,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Key: gocui.KeyEnter, Modifier: gocui.ModNone, Handler: gui.handleSwitchToCommitFilesPanel, - Description: gui.Tr.SLocalize("CommitFiles"), + Description: gui.Tr.SLocalize("viewCommitFiles"), }, { ViewName: "stash", Key: gocui.KeySpace, @@ -448,11 +448,11 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Modifier: gocui.ModNone, Handler: gui.handleDonate, }, { - ViewName: "commit files", + ViewName: "commitFiles", Key: gocui.KeyEsc, Modifier: gocui.ModNone, Handler: gui.handleSwitchToCommitsPanel, - Description: gui.Tr.SLocalize("CommitsTitle"), + Description: gui.Tr.SLocalize("goBack"), }, } @@ -477,7 +477,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { "commits": {prevLine: gui.handleCommitsPrevLine, nextLine: gui.handleCommitsNextLine, focus: gui.handleCommitSelect}, "stash": {prevLine: gui.handleStashPrevLine, nextLine: gui.handleStashNextLine, focus: gui.handleStashEntrySelect}, "status": {focus: gui.handleStatusSelect}, - "commit files": {prevLine: gui.handleCommitFilesPrevLine, nextLine: gui.handleCommitFilesNextLine}, + "commitFiles": {prevLine: gui.handleCommitFilesPrevLine, nextLine: gui.handleCommitFilesNextLine, focus: gui.handleCommitFileSelect}, } for viewName, functions := range listPanelMap { diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go index 9cf58144a..eb46a7f8b 100644 --- a/pkg/gui/view_helpers.go +++ b/pkg/gui/view_helpers.go @@ -95,7 +95,7 @@ func (gui *Gui) newLineFocused(g *gocui.Gui, v *gocui.View) error { return gui.handleBranchSelect(g, v) case "commits": return gui.handleCommitSelect(g, v) - case "commit files": + case "commitFiles": return gui.handleCommitFileSelect(g, v) case "stash": return gui.handleStashEntrySelect(g, v) @@ -285,6 +285,11 @@ func (gui *Gui) getStashView() *gocui.View { return v } +func (gui *Gui) getCommitFilesView() *gocui.View { + v, _ := gui.g.View("commitFiles") + return v +} + func (gui *Gui) trimmedContent(v *gocui.View) string { return strings.TrimSpace(v.Buffer()) } diff --git a/pkg/i18n/dutch.go b/pkg/i18n/dutch.go index 57afcc74b..0d8cc2d63 100644 --- a/pkg/i18n/dutch.go +++ b/pkg/i18n/dutch.go @@ -646,6 +646,12 @@ func addDutch(i18nObject *i18n.Bundle) error { }, &i18n.Message{ ID: "CommitFiles", Other: "Commit files", + }, &i18n.Message{ + ID: "viewCommitFiles", + Other: "view commit's files", + }, &i18n.Message{ + ID: "goBack", + Other: "go back", }, &i18n.Message{ ID: "NoCommiteFiles", Other: "No files for this commit", diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go index 6acb43f0f..4a0b40b27 100644 --- a/pkg/i18n/english.go +++ b/pkg/i18n/english.go @@ -669,6 +669,12 @@ func addEnglish(i18nObject *i18n.Bundle) error { }, &i18n.Message{ ID: "CommitFiles", Other: "Commit files", + }, &i18n.Message{ + ID: "viewCommitFiles", + Other: "view commit's files", + }, &i18n.Message{ + ID: "goBack", + Other: "go back", }, &i18n.Message{ ID: "NoCommiteFiles", Other: "No files for this commit", diff --git a/pkg/i18n/polish.go b/pkg/i18n/polish.go index 4ec11817a..ba855eaf7 100644 --- a/pkg/i18n/polish.go +++ b/pkg/i18n/polish.go @@ -629,6 +629,12 @@ func addPolish(i18nObject *i18n.Bundle) error { }, &i18n.Message{ ID: "CommitFiles", Other: "Commit files", + }, &i18n.Message{ + ID: "viewCommitFiles", + Other: "view commit's files", + }, &i18n.Message{ + ID: "goBack", + Other: "go back", }, &i18n.Message{ ID: "NoCommiteFiles", Other: "No files for this commit", -- cgit v1.2.3