mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-27 00:51:18 +02:00
Show current files filter as radio buttons
I renamed the "Reset filter" item to "No filter" to make it look more like a state than an action, so that it fits the radio button concept better. When there are conflicts and we set the filter to show only conflicting files, then none of the radio buttons light up, which is slightly strange. I guess it's ok though.
This commit is contained in:
@ -753,6 +753,7 @@ func (self *FilesController) isResolvingConflicts() bool {
|
||||
}
|
||||
|
||||
func (self *FilesController) handleStatusFilterPressed() error {
|
||||
currentFilter := self.context().GetFilter()
|
||||
return self.c.Menu(types.CreateMenuOptions{
|
||||
Title: self.c.Tr.FilteringMenuTitle,
|
||||
Items: []*types.MenuItem{
|
||||
@ -761,35 +762,40 @@ func (self *FilesController) handleStatusFilterPressed() error {
|
||||
OnPress: func() error {
|
||||
return self.setStatusFiltering(filetree.DisplayStaged)
|
||||
},
|
||||
Key: 's',
|
||||
Key: 's',
|
||||
Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayStaged),
|
||||
},
|
||||
{
|
||||
Label: self.c.Tr.FilterUnstagedFiles,
|
||||
OnPress: func() error {
|
||||
return self.setStatusFiltering(filetree.DisplayUnstaged)
|
||||
},
|
||||
Key: 'u',
|
||||
Key: 'u',
|
||||
Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayUnstaged),
|
||||
},
|
||||
{
|
||||
Label: self.c.Tr.FilterTrackedFiles,
|
||||
OnPress: func() error {
|
||||
return self.setStatusFiltering(filetree.DisplayTracked)
|
||||
},
|
||||
Key: 't',
|
||||
Key: 't',
|
||||
Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayTracked),
|
||||
},
|
||||
{
|
||||
Label: self.c.Tr.FilterUntrackedFiles,
|
||||
OnPress: func() error {
|
||||
return self.setStatusFiltering(filetree.DisplayUntracked)
|
||||
},
|
||||
Key: 'T',
|
||||
Key: 'T',
|
||||
Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayUntracked),
|
||||
},
|
||||
{
|
||||
Label: self.c.Tr.ResetFilter,
|
||||
Label: self.c.Tr.NoFilter,
|
||||
OnPress: func() error {
|
||||
return self.setStatusFiltering(filetree.DisplayAll)
|
||||
},
|
||||
Key: 'r',
|
||||
Key: 'r',
|
||||
Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayAll),
|
||||
},
|
||||
},
|
||||
})
|
||||
|
@ -89,7 +89,7 @@ type TranslationSet struct {
|
||||
FilterUnstagedFiles string
|
||||
FilterTrackedFiles string
|
||||
FilterUntrackedFiles string
|
||||
ResetFilter string
|
||||
NoFilter string
|
||||
MergeConflictsTitle string
|
||||
Checkout string
|
||||
CheckoutTooltip string
|
||||
@ -1115,7 +1115,7 @@ func EnglishTranslationSet() *TranslationSet {
|
||||
FilterUnstagedFiles: "Show only unstaged files",
|
||||
FilterTrackedFiles: "Show only tracked files",
|
||||
FilterUntrackedFiles: "Show only untracked files",
|
||||
ResetFilter: "Reset filter",
|
||||
NoFilter: "No filter",
|
||||
NoChangedFiles: "No changed files",
|
||||
SoftReset: "Soft reset",
|
||||
AlreadyCheckedOutBranch: "You have already checked out this branch",
|
||||
|
@ -25,7 +25,7 @@ var Filter = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Tap(func() {
|
||||
t.ExpectPopup().Menu().
|
||||
Title(Equals("Filtering")).
|
||||
Select(Contains("Reset filter")).
|
||||
Select(Contains("No filter")).
|
||||
Confirm()
|
||||
}).
|
||||
Lines(
|
||||
|
@ -52,7 +52,7 @@ var FilterByFileStatus = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Tap(func() {
|
||||
t.ExpectPopup().Menu().
|
||||
Title(Equals("Filtering")).
|
||||
Select(Contains("Reset filter")).
|
||||
Select(Contains("No filter")).
|
||||
Confirm()
|
||||
}).
|
||||
Lines(
|
||||
|
Reference in New Issue
Block a user