mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	Show "Log (x of y)" in the title bar when there is more than one branch log command (#4943)
Addresses #4939.
This commit is contained in:
		| @@ -13,7 +13,7 @@ import ( | ||||
|  | ||||
| type BranchCommands struct { | ||||
| 	*GitCommon | ||||
| 	allBranchesLogCmdIndex uint8 // keeps track of current all branches log command | ||||
| 	allBranchesLogCmdIndex int // keeps track of current all branches log command | ||||
| } | ||||
|  | ||||
| func NewBranchCommands(gitCommon *GitCommon) *BranchCommands { | ||||
| @@ -278,6 +278,10 @@ func (self *BranchCommands) allBranchesLogCandidates() []string { | ||||
| func (self *BranchCommands) AllBranchesLogCmdObj() *oscommands.CmdObj { | ||||
| 	candidates := self.allBranchesLogCandidates() | ||||
|  | ||||
| 	if self.allBranchesLogCmdIndex >= len(candidates) { | ||||
| 		self.allBranchesLogCmdIndex = 0 | ||||
| 	} | ||||
|  | ||||
| 	i := self.allBranchesLogCmdIndex | ||||
| 	return self.cmd.New(str.ToArgv(candidates[i])).DontLog() | ||||
| } | ||||
| @@ -285,7 +289,13 @@ func (self *BranchCommands) AllBranchesLogCmdObj() *oscommands.CmdObj { | ||||
| func (self *BranchCommands) RotateAllBranchesLogIdx() { | ||||
| 	n := len(self.allBranchesLogCandidates()) | ||||
| 	i := self.allBranchesLogCmdIndex | ||||
| 	self.allBranchesLogCmdIndex = uint8((int(i) + 1) % n) | ||||
| 	self.allBranchesLogCmdIndex = (i + 1) % n | ||||
| } | ||||
|  | ||||
| func (self *BranchCommands) GetAllBranchesLogIdxAndCount() (int, int) { | ||||
| 	n := len(self.allBranchesLogCandidates()) | ||||
| 	i := self.allBranchesLogCmdIndex | ||||
| 	return i, n | ||||
| } | ||||
|  | ||||
| func (self *BranchCommands) IsBranchMerged(branch *models.Branch, mainBranches *MainBranches) (bool, error) { | ||||
|   | ||||
| @@ -181,10 +181,14 @@ func (self *StatusController) showAllBranchLogs() { | ||||
| 	cmdObj := self.c.Git().Branch.AllBranchesLogCmdObj() | ||||
| 	task := types.NewRunPtyTask(cmdObj.GetCmd()) | ||||
|  | ||||
| 	title := self.c.Tr.LogTitle | ||||
| 	if i, n := self.c.Git().Branch.GetAllBranchesLogIdxAndCount(); n > 1 { | ||||
| 		title = fmt.Sprintf(self.c.Tr.LogXOfYTitle, i+1, n) | ||||
| 	} | ||||
| 	self.c.RenderToMainViews(types.RefreshMainOpts{ | ||||
| 		Pair: self.c.MainViewPairs().Normal, | ||||
| 		Main: &types.ViewUpdateOpts{ | ||||
| 			Title: self.c.Tr.LogTitle, | ||||
| 			Title: title, | ||||
| 			Task:  task, | ||||
| 		}, | ||||
| 	}) | ||||
| @@ -196,7 +200,7 @@ func (self *StatusController) switchToOrRotateAllBranchesLogs() { | ||||
| 	// A bit of a hack to ensure we only rotate to the next branch log command | ||||
| 	// if we currently are looking at a branch log. Otherwise, we should just show | ||||
| 	// the current index (if we are coming from the dashboard). | ||||
| 	if self.c.Views().Main.Title == self.c.Tr.LogTitle { | ||||
| 	if self.c.Views().Main.Title != self.c.Tr.StatusTitle { | ||||
| 		self.c.Git().Branch.RotateAllBranchesLogIdx() | ||||
| 	} | ||||
| 	self.showAllBranchLogs() | ||||
|   | ||||
| @@ -30,6 +30,7 @@ type TranslationSet struct { | ||||
| 	RegularMergeTooltip                   string | ||||
| 	NormalTitle                           string | ||||
| 	LogTitle                              string | ||||
| 	LogXOfYTitle                          string | ||||
| 	CommitSummary                         string | ||||
| 	CredentialsUsername                   string | ||||
| 	CredentialsPassword                   string | ||||
| @@ -1110,6 +1111,7 @@ func EnglishTranslationSet() *TranslationSet { | ||||
| 		MergingTitle:                         "Main panel (merging)", | ||||
| 		NormalTitle:                          "Main panel (normal)", | ||||
| 		LogTitle:                             "Log", | ||||
| 		LogXOfYTitle:                         "Log (%d of %d)", | ||||
| 		CommitSummary:                        "Commit summary", | ||||
| 		CredentialsUsername:                  "Username", | ||||
| 		CredentialsPassword:                  "Password", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user