summaryrefslogtreecommitdiffstats
path: root/pkg/gui/commits_panel.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-08-18 22:02:35 +1000
committerJesse Duffield <jessedduffield@gmail.com>2020-08-23 14:29:18 +1000
commitf5b22d94d939b0fc1aff433686e891e0a7507950 (patch)
tree9812c4c7f3855d7e3fe973dacf5533ef04463c3d /pkg/gui/commits_panel.go
parent3c87ff4eff46449d5e697e954b3bdf01d2c76f19 (diff)
WIP
Diffstat (limited to 'pkg/gui/commits_panel.go')
-rw-r--r--pkg/gui/commits_panel.go38
1 files changed, 18 insertions, 20 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go
index ed27a8495..7f2df104b 100644
--- a/pkg/gui/commits_panel.go
+++ b/pkg/gui/commits_panel.go
@@ -26,9 +26,8 @@ func (gui *Gui) handleCommitSelect() error {
return nil
}
- // this probably belongs in an 'onFocus' function than a 'commit selected' function
- if err := gui.refreshSecondaryPatchPanel(); err != nil {
- return err
+ if gui.inDiffMode() {
+ return gui.renderDiff()
}
state := gui.State.Panels.Commits
@@ -41,27 +40,26 @@ func (gui *Gui) handleCommitSelect() error {
}()
}
- gui.getMainView().Title = "Patch"
- gui.getSecondaryView().Title = "Custom Patch"
gui.handleEscapeLineByLinePanel()
+ var task updateTask
commit := gui.getSelectedCommit()
if commit == nil {
- return gui.newStringTask("main", gui.Tr.SLocalize("NoCommitsThisBranch"))
- }
-
- if gui.inDiffMode() {
- return gui.renderDiff()
- }
-
- cmd := gui.OSCommand.ExecutableFromString(
- gui.GitCommand.ShowCmdStr(commit.Sha, gui.State.FilterPath),
- )
- if err := gui.newPtyTask("main", cmd); err != nil {
- gui.Log.Error(err)
- }
-
- return nil
+ task = gui.createRenderStringTask(gui.Tr.SLocalize("NoCommitsThisBranch"))
+ } else {
+ cmd := gui.OSCommand.ExecutableFromString(
+ gui.GitCommand.ShowCmdStr(commit.Sha, gui.State.FilterPath),
+ )
+ task = gui.createRunPtyTask(cmd)
+ }
+
+ return gui.refreshMain(refreshMainOpts{
+ main: &viewUpdateOpts{
+ title: "Patch",
+ task: task,
+ },
+ secondary: gui.secondaryPatchPanelUpdateOpts(),
+ })
}
// during startup, the bottleneck is fetching the reflog entries. We need these