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 self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
} }
return nil return nil
}) },
self.c.GetAppState().LocalBranchSortOrder)
} }
func (self *BranchesController) createResetMenu(selectedBranch *models.Branch) error { 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 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 { type sortMenuOption struct {
key types.Key key types.Key
label string label string
@ -222,6 +222,7 @@ func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelecte
return onSelected(opt.sortOrder) return onSelected(opt.sortOrder)
}, },
Key: opt.key, Key: opt.key,
Widget: types.MakeMenuRadioButton(opt.sortOrder == currentValue),
} }
}) })
return self.c.Menu(types.CreateMenuOptions{ 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 self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.REMOTES}})
} }
return nil return nil
}) },
self.c.GetAppState().RemoteBranchSortOrder)
} }
func (self *RemoteBranchesController) createResetMenu(selectedBranch *models.RemoteBranch) error { func (self *RemoteBranchesController) createResetMenu(selectedBranch *models.RemoteBranch) error {

View file

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

View file

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