Show radio buttons in the sort order menu for branches

This commit is contained in:
Stefan Haller 2024-06-01 20:21:43 +02:00
parent 20a4aeab6e
commit 68c966567c
5 changed files with 24 additions and 4 deletions

View file

@ -696,7 +696,8 @@ func (self *BranchesController) createSortMenu() error {
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
}
return nil
})
},
self.c.GetAppState().LocalBranchSortOrder)
}
func (self *BranchesController) createResetMenu(selectedBranch *models.Branch) error {

View file

@ -190,7 +190,7 @@ func (self *RefsHelper) ResetToRef(ref string, strength string, envVars []string
return nil
}
func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelected func(sortOrder string) error) error {
func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelected func(sortOrder string) error, currentValue string) error {
type sortMenuOption struct {
key types.Key
label string
@ -221,7 +221,8 @@ func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelecte
OnPress: func() error {
return onSelected(opt.sortOrder)
},
Key: opt.key,
Key: opt.key,
Widget: types.MakeMenuRadioButton(opt.sortOrder == currentValue),
}
})
return self.c.Menu(types.CreateMenuOptions{

View file

@ -145,7 +145,8 @@ func (self *RemoteBranchesController) createSortMenu() error {
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.REMOTES}})
}
return nil
})
},
self.c.GetAppState().RemoteBranchSortOrder)
}
func (self *RemoteBranchesController) createResetMenu(selectedBranch *models.RemoteBranch) error {

View file

@ -37,6 +37,12 @@ var SortLocalBranches = NewIntegrationTest(NewIntegrationTestArgs{
Press(keys.Branches.SortOrder)
t.ExpectPopup().Menu().Title(Equals("Sort order")).
Lines(
Contains("r (•) Recency").IsSelected(),
Contains("a ( ) Alphabetical"),
Contains("d ( ) Date"),
Contains(" Cancel"),
).
Select(Contains("-committerdate")).
Confirm()
@ -53,6 +59,12 @@ var SortLocalBranches = NewIntegrationTest(NewIntegrationTestArgs{
Press(keys.Branches.SortOrder)
t.ExpectPopup().Menu().Title(Equals("Sort order")).
Lines(
Contains("r ( ) Recency").IsSelected(),
Contains("a ( ) Alphabetical"),
Contains("d (•) Date"),
Contains(" Cancel"),
).
Select(Contains("refname")).
Confirm()

View file

@ -41,6 +41,11 @@ var SortRemoteBranches = NewIntegrationTest(NewIntegrationTestArgs{
Press(keys.Branches.SortOrder)
t.ExpectPopup().Menu().Title(Equals("Sort order")).
Lines(
Contains("a (•) Alphabetical").IsSelected(),
Contains("d ( ) Date"),
Contains(" Cancel"),
).
Select(Contains("-committerdate")).
Confirm()