Skip to content

Commit 68c9665

Browse files
committed
Show radio buttons in the sort order menu for branches
1 parent 20a4aea commit 68c9665

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

pkg/gui/controllers/branches_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -696,7 +696,8 @@ func (self *BranchesController) createSortMenu() error {
696696
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
697697
}
698698
return nil
699-
})
699+
},
700+
self.c.GetAppState().LocalBranchSortOrder)
700701
}
701702

702703
func (self *BranchesController) createResetMenu(selectedBranch *models.Branch) error {

pkg/gui/controllers/helpers/refs_helper.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func (self *RefsHelper) ResetToRef(ref string, strength string, envVars []string
190190
return nil
191191
}
192192

193-
func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelected func(sortOrder string) error) error {
193+
func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelected func(sortOrder string) error, currentValue string) error {
194194
type sortMenuOption struct {
195195
key types.Key
196196
label string
@@ -221,7 +221,8 @@ func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, onSelecte
221221
OnPress: func() error {
222222
return onSelected(opt.sortOrder)
223223
},
224-
Key: opt.key,
224+
Key: opt.key,
225+
Widget: types.MakeMenuRadioButton(opt.sortOrder == currentValue),
225226
}
226227
})
227228
return self.c.Menu(types.CreateMenuOptions{

pkg/gui/controllers/remote_branches_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,8 @@ func (self *RemoteBranchesController) createSortMenu() error {
145145
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.REMOTES}})
146146
}
147147
return nil
148-
})
148+
},
149+
self.c.GetAppState().RemoteBranchSortOrder)
149150
}
150151

151152
func (self *RemoteBranchesController) createResetMenu(selectedBranch *models.RemoteBranch) error {

pkg/integration/tests/branch/sort_local_branches.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ var SortLocalBranches = NewIntegrationTest(NewIntegrationTestArgs{
3737
Press(keys.Branches.SortOrder)
3838

3939
t.ExpectPopup().Menu().Title(Equals("Sort order")).
40+
Lines(
41+
Contains("r (•) Recency").IsSelected(),
42+
Contains("a ( ) Alphabetical"),
43+
Contains("d ( ) Date"),
44+
Contains(" Cancel"),
45+
).
4046
Select(Contains("-committerdate")).
4147
Confirm()
4248

@@ -53,6 +59,12 @@ var SortLocalBranches = NewIntegrationTest(NewIntegrationTestArgs{
5359
Press(keys.Branches.SortOrder)
5460

5561
t.ExpectPopup().Menu().Title(Equals("Sort order")).
62+
Lines(
63+
Contains("r ( ) Recency").IsSelected(),
64+
Contains("a ( ) Alphabetical"),
65+
Contains("d (•) Date"),
66+
Contains(" Cancel"),
67+
).
5668
Select(Contains("refname")).
5769
Confirm()
5870

pkg/integration/tests/branch/sort_remote_branches.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ var SortRemoteBranches = NewIntegrationTest(NewIntegrationTestArgs{
4141
Press(keys.Branches.SortOrder)
4242

4343
t.ExpectPopup().Menu().Title(Equals("Sort order")).
44+
Lines(
45+
Contains("a (•) Alphabetical").IsSelected(),
46+
Contains("d ( ) Date"),
47+
Contains(" Cancel"),
48+
).
4449
Select(Contains("-committerdate")).
4550
Confirm()
4651

0 commit comments

Comments
 (0)