Skip to content

Commit 1667254

Browse files
committed
fixup! Add merge options menu
1 parent 49b5ae6 commit 1667254

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

pkg/gui/controllers/files_controller.go

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,13 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types
178178
Description: self.c.Tr.OpenDiffTool,
179179
},
180180
{
181-
Key: opts.GetKey(opts.Config.Files.OpenMergeOptions),
182-
Handler: self.withItems(self.openMergeConflictMenu),
183-
Description: self.c.Tr.ViewMergeConflictOptions,
184-
Tooltip: self.c.Tr.ViewMergeConflictOptionsTooltip,
185-
OpensMenu: true,
186-
DisplayOnScreen: true,
181+
Key: opts.GetKey(opts.Config.Files.OpenMergeOptions),
182+
Handler: self.withItems(self.openMergeConflictMenu),
183+
Description: self.c.Tr.ViewMergeConflictOptions,
184+
Tooltip: self.c.Tr.ViewMergeConflictOptionsTooltip,
185+
GetDisabledReason: self.require(self.itemsSelected(self.canOpenMergeConflictMenu)),
186+
OpensMenu: true,
187+
DisplayOnScreen: true,
187188
},
188189
{
189190
Key: opts.GetKey(opts.Config.Files.Fetch),
@@ -1040,6 +1041,20 @@ func (self *FilesController) openMergeConflictMenu(nodes []*filetree.FileNode) e
10401041
return self.c.Helpers().WorkingTree.CreateMergeConflictMenu(filepaths)
10411042
}
10421043

1044+
func (self *FilesController) canOpenMergeConflictMenu(nodes []*filetree.FileNode) *types.DisabledReason {
1045+
normalizedNodes := normalisedSelectedNodes(nodes)
1046+
1047+
hasFileNodesWithConflicts := lo.SomeBy(normalizedNodes, func(node *filetree.FileNode) bool {
1048+
return node.File != nil && node.File.HasInlineMergeConflicts
1049+
})
1050+
1051+
if !hasFileNodesWithConflicts {
1052+
return &types.DisabledReason{Text: self.c.Tr.NoFilesWithMergeConflicts}
1053+
}
1054+
1055+
return nil
1056+
}
1057+
10431058
func (self *FilesController) openCopyMenu() error {
10441059
node := self.context().GetSelected()
10451060

pkg/i18n/english.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -899,6 +899,7 @@ type TranslationSet struct {
899899
BreakingChangesByVersion map[string]string
900900
ViewMergeConflictOptions string
901901
ViewMergeConflictOptionsTooltip string
902+
NoFilesWithMergeConflicts string
902903
MergeConflictOptionsTitle string
903904
UseCurrentChanges string
904905
UseIncomingChanges string
@@ -1976,6 +1977,7 @@ func EnglishTranslationSet() *TranslationSet {
19761977
SelectCommitsOfCurrentBranch: "Select commits of current branch",
19771978
ViewMergeConflictOptions: "View merge conflict options",
19781979
ViewMergeConflictOptionsTooltip: "View options for resolving merge conflicts.",
1980+
NoFilesWithMergeConflicts: "There are no files with merge conflicts.",
19791981
MergeConflictOptionsTitle: "Resolve merge conflicts",
19801982
UseCurrentChanges: "Use current changes",
19811983
UseIncomingChanges: "Use incoming changes",

0 commit comments

Comments
 (0)