diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml index 391b9523..093ae4e0 100644 --- a/src/Resources/Styles.axaml +++ b/src/Resources/Styles.axaml @@ -838,7 +838,13 @@ ContentTemplate="{TemplateBinding HeaderTemplate}" VerticalAlignment="Center" HorizontalAlignment="Stretch" - RecognizesAccessKey="False"/> + RecognizesAccessKey="False"> + + + + + + x.FullName == branch.Upstream); if (TrackingRemoteBranch != null) - DeleteTrackingRemoteTip = new Views.NameHighlightedTextBlock("DeleteBranch.WithTrackingRemote", TrackingRemoteBranch.FriendlyName); + DeleteTrackingRemoteTip = App.Text("DeleteBranch.WithTrackingRemote", TrackingRemoteBranch.FriendlyName); } } diff --git a/src/ViewModels/Histories.cs b/src/ViewModels/Histories.cs index ca73fa0b..a4a3c515 100644 --- a/src/ViewModels/Histories.cs +++ b/src/ViewModels/Histories.cs @@ -411,7 +411,7 @@ namespace SourceGit.ViewModels if (current.Head != commit.SHA) { var reset = new MenuItem(); - reset.Header = new Views.NameHighlightedTextBlock("CommitCM.Reset", current.Name); + reset.Header = App.Text("CommitCM.Reset", current.Name); reset.Icon = App.CreateMenuIcon("Icons.Reset"); reset.Click += (_, e) => { @@ -476,7 +476,7 @@ namespace SourceGit.ViewModels if (!commit.IsMerged) { var rebase = new MenuItem(); - rebase.Header = new Views.NameHighlightedTextBlock("CommitCM.Rebase", current.Name); + rebase.Header = App.Text("CommitCM.Rebase", current.Name); rebase.Icon = App.CreateMenuIcon("Icons.Rebase"); rebase.Click += (_, e) => { @@ -489,7 +489,7 @@ namespace SourceGit.ViewModels if (!commit.HasDecorators) { var merge = new MenuItem(); - merge.Header = new Views.NameHighlightedTextBlock("CommitCM.Merge", current.Name); + merge.Header = App.Text("CommitCM.Merge", current.Name); merge.Icon = App.CreateMenuIcon("Icons.Merge"); merge.Click += (_, e) => { @@ -560,7 +560,7 @@ namespace SourceGit.ViewModels }; var interactiveRebase = new MenuItem(); - interactiveRebase.Header = new Views.NameHighlightedTextBlock("CommitCM.InteractiveRebase", current.Name); + interactiveRebase.Header = App.Text("CommitCM.InteractiveRebase", current.Name); interactiveRebase.Icon = App.CreateMenuIcon("Icons.InteractiveRebase"); interactiveRebase.Click += (_, e) => { @@ -897,7 +897,7 @@ namespace SourceGit.ViewModels var upstream = current.Upstream.Substring(13); var fastForward = new MenuItem(); - fastForward.Header = new Views.NameHighlightedTextBlock("BranchCM.FastForward", upstream); + fastForward.Header = App.Text("BranchCM.FastForward", upstream); fastForward.Icon = App.CreateMenuIcon("Icons.FastForward"); fastForward.IsEnabled = current.TrackStatus.Ahead.Count == 0; fastForward.Click += (_, e) => @@ -914,7 +914,7 @@ namespace SourceGit.ViewModels submenu.Items.Add(fastForward); var pull = new MenuItem(); - pull.Header = new Views.NameHighlightedTextBlock("BranchCM.Pull", upstream); + pull.Header = App.Text("BranchCM.Pull", upstream); pull.Icon = App.CreateMenuIcon("Icons.Pull"); pull.Click += (_, e) => { @@ -926,7 +926,7 @@ namespace SourceGit.ViewModels } var push = new MenuItem(); - push.Header = new Views.NameHighlightedTextBlock("BranchCM.Push", current.Name); + push.Header = App.Text("BranchCM.Push", current.Name); push.Icon = App.CreateMenuIcon("Icons.Push"); push.IsEnabled = _repo.Remotes.Count > 0; push.Click += (_, e) => @@ -938,7 +938,7 @@ namespace SourceGit.ViewModels submenu.Items.Add(push); var rename = new MenuItem(); - rename.Header = new Views.NameHighlightedTextBlock("BranchCM.Rename", current.Name); + rename.Header = App.Text("BranchCM.Rename", current.Name); rename.Icon = App.CreateMenuIcon("Icons.Rename"); rename.Click += (_, e) => { @@ -955,7 +955,7 @@ namespace SourceGit.ViewModels if (detect.IsGitFlowBranch) { var finish = new MenuItem(); - finish.Header = new Views.NameHighlightedTextBlock("BranchCM.Finish", current.Name); + finish.Header = App.Text("BranchCM.Finish", current.Name); finish.Icon = App.CreateMenuIcon("Icons.GitFlow"); finish.Click += (_, e) => { @@ -992,7 +992,7 @@ namespace SourceGit.ViewModels if (!_repo.IsBare) { var checkout = new MenuItem(); - checkout.Header = new Views.NameHighlightedTextBlock("BranchCM.Checkout", branch.Name); + checkout.Header = App.Text("BranchCM.Checkout", branch.Name); checkout.Icon = App.CreateMenuIcon("Icons.Check"); checkout.Click += (_, e) => { @@ -1002,7 +1002,7 @@ namespace SourceGit.ViewModels submenu.Items.Add(checkout); var merge = new MenuItem(); - merge.Header = new Views.NameHighlightedTextBlock("BranchCM.Merge", branch.Name, current.Name); + merge.Header = App.Text("BranchCM.Merge", branch.Name, current.Name); merge.Icon = App.CreateMenuIcon("Icons.Merge"); merge.IsEnabled = !merged; merge.Click += (_, e) => @@ -1015,7 +1015,7 @@ namespace SourceGit.ViewModels } var rename = new MenuItem(); - rename.Header = new Views.NameHighlightedTextBlock("BranchCM.Rename", branch.Name); + rename.Header = App.Text("BranchCM.Rename", branch.Name); rename.Icon = App.CreateMenuIcon("Icons.Rename"); rename.Click += (_, e) => { @@ -1026,7 +1026,7 @@ namespace SourceGit.ViewModels submenu.Items.Add(rename); var delete = new MenuItem(); - delete.Header = new Views.NameHighlightedTextBlock("BranchCM.Delete", branch.Name); + delete.Header = App.Text("BranchCM.Delete", branch.Name); delete.Icon = App.CreateMenuIcon("Icons.Clear"); delete.Click += (_, e) => { @@ -1043,7 +1043,7 @@ namespace SourceGit.ViewModels if (detect.IsGitFlowBranch) { var finish = new MenuItem(); - finish.Header = new Views.NameHighlightedTextBlock("BranchCM.Finish", branch.Name); + finish.Header = App.Text("BranchCM.Finish", branch.Name); finish.Icon = App.CreateMenuIcon("Icons.GitFlow"); finish.Click += (_, e) => { @@ -1080,7 +1080,7 @@ namespace SourceGit.ViewModels FillBranchVisibilityMenu(submenu, branch); var checkout = new MenuItem(); - checkout.Header = new Views.NameHighlightedTextBlock("BranchCM.Checkout", name); + checkout.Header = App.Text("BranchCM.Checkout", name); checkout.Icon = App.CreateMenuIcon("Icons.Check"); checkout.Click += (_, e) => { @@ -1090,7 +1090,7 @@ namespace SourceGit.ViewModels submenu.Items.Add(checkout); var merge = new MenuItem(); - merge.Header = new Views.NameHighlightedTextBlock("BranchCM.Merge", name, current.Name); + merge.Header = App.Text("BranchCM.Merge", name, current.Name); merge.Icon = App.CreateMenuIcon("Icons.Merge"); merge.IsEnabled = !merged; merge.Click += (_, e) => @@ -1103,7 +1103,7 @@ namespace SourceGit.ViewModels submenu.Items.Add(merge); var delete = new MenuItem(); - delete.Header = new Views.NameHighlightedTextBlock("BranchCM.Delete", name); + delete.Header = App.Text("BranchCM.Delete", name); delete.Icon = App.CreateMenuIcon("Icons.Clear"); delete.Click += (_, e) => { @@ -1137,7 +1137,7 @@ namespace SourceGit.ViewModels FillTagVisibilityMenu(submenu, tag); var push = new MenuItem(); - push.Header = new Views.NameHighlightedTextBlock("TagCM.Push", tag.Name); + push.Header = App.Text("TagCM.Push", tag.Name); push.Icon = App.CreateMenuIcon("Icons.Push"); push.IsEnabled = _repo.Remotes.Count > 0; push.Click += (_, e) => @@ -1151,7 +1151,7 @@ namespace SourceGit.ViewModels if (!_repo.IsBare && !merged) { var merge = new MenuItem(); - merge.Header = new Views.NameHighlightedTextBlock("TagCM.Merge", tag.Name, current.Name); + merge.Header = App.Text("TagCM.Merge", tag.Name, current.Name); merge.Icon = App.CreateMenuIcon("Icons.Merge"); merge.Click += (_, e) => { @@ -1163,7 +1163,7 @@ namespace SourceGit.ViewModels } var delete = new MenuItem(); - delete.Header = new Views.NameHighlightedTextBlock("TagCM.Delete", tag.Name); + delete.Header = App.Text("TagCM.Delete", tag.Name); delete.Icon = App.CreateMenuIcon("Icons.Clear"); delete.Click += (_, e) => { diff --git a/src/ViewModels/Repository.cs b/src/ViewModels/Repository.cs index edd711b3..3ce40751 100644 --- a/src/ViewModels/Repository.cs +++ b/src/ViewModels/Repository.cs @@ -1563,7 +1563,7 @@ namespace SourceGit.ViewModels var menu = new ContextMenu(); var push = new MenuItem(); - push.Header = new Views.NameHighlightedTextBlock("BranchCM.Push", branch.Name); + push.Header = App.Text("BranchCM.Push", branch.Name); push.Icon = App.CreateMenuIcon("Icons.Push"); push.IsEnabled = _remotes.Count > 0; push.Click += (_, e) => @@ -1594,7 +1594,7 @@ namespace SourceGit.ViewModels { var upstream = branch.Upstream.Substring(13); var fastForward = new MenuItem(); - fastForward.Header = new Views.NameHighlightedTextBlock("BranchCM.FastForward", upstream); + fastForward.Header = App.Text("BranchCM.FastForward", upstream); fastForward.Icon = App.CreateMenuIcon("Icons.FastForward"); fastForward.IsEnabled = branch.TrackStatus.Ahead.Count == 0; fastForward.Click += (_, e) => @@ -1610,7 +1610,7 @@ namespace SourceGit.ViewModels }; var pull = new MenuItem(); - pull.Header = new Views.NameHighlightedTextBlock("BranchCM.Pull", upstream); + pull.Header = App.Text("BranchCM.Pull", upstream); pull.Icon = App.CreateMenuIcon("Icons.Pull"); pull.Click += (_, e) => { @@ -1631,7 +1631,7 @@ namespace SourceGit.ViewModels if (!IsBare) { var checkout = new MenuItem(); - checkout.Header = new Views.NameHighlightedTextBlock("BranchCM.Checkout", branch.Name); + checkout.Header = App.Text("BranchCM.Checkout", branch.Name); checkout.Icon = App.CreateMenuIcon("Icons.Check"); checkout.Click += (_, e) => { @@ -1647,7 +1647,7 @@ namespace SourceGit.ViewModels if (upstream != null && worktree == null) { var fastForward = new MenuItem(); - fastForward.Header = new Views.NameHighlightedTextBlock("BranchCM.FastForward", upstream.FriendlyName); + fastForward.Header = App.Text("BranchCM.FastForward", upstream.FriendlyName); fastForward.Icon = App.CreateMenuIcon("Icons.FastForward"); fastForward.IsEnabled = branch.TrackStatus.Ahead.Count == 0; fastForward.Click += (_, e) => @@ -1658,7 +1658,7 @@ namespace SourceGit.ViewModels }; var fetchInto = new MenuItem(); - fetchInto.Header = new Views.NameHighlightedTextBlock("BranchCM.FetchInto", upstream.FriendlyName, branch.Name); + fetchInto.Header = App.Text("BranchCM.FetchInto", upstream.FriendlyName, branch.Name); fetchInto.Icon = App.CreateMenuIcon("Icons.Fetch"); fetchInto.IsEnabled = branch.TrackStatus.Ahead.Count == 0; fetchInto.Click += (_, e) => @@ -1678,7 +1678,7 @@ namespace SourceGit.ViewModels if (!IsBare) { var merge = new MenuItem(); - merge.Header = new Views.NameHighlightedTextBlock("BranchCM.Merge", branch.Name, _currentBranch.Name); + merge.Header = App.Text("BranchCM.Merge", branch.Name, _currentBranch.Name); merge.Icon = App.CreateMenuIcon("Icons.Merge"); merge.Click += (_, e) => { @@ -1688,7 +1688,7 @@ namespace SourceGit.ViewModels }; var rebase = new MenuItem(); - rebase.Header = new Views.NameHighlightedTextBlock("BranchCM.Rebase", _currentBranch.Name, branch.Name); + rebase.Header = App.Text("BranchCM.Rebase", _currentBranch.Name, branch.Name); rebase.Icon = App.CreateMenuIcon("Icons.Rebase"); rebase.Click += (_, e) => { @@ -1740,7 +1740,7 @@ namespace SourceGit.ViewModels if (detect.IsGitFlowBranch) { var finish = new MenuItem(); - finish.Header = new Views.NameHighlightedTextBlock("BranchCM.Finish", branch.Name); + finish.Header = App.Text("BranchCM.Finish", branch.Name); finish.Icon = App.CreateMenuIcon("Icons.GitFlow"); finish.Click += (_, e) => { @@ -1754,7 +1754,7 @@ namespace SourceGit.ViewModels } var rename = new MenuItem(); - rename.Header = new Views.NameHighlightedTextBlock("BranchCM.Rename", branch.Name); + rename.Header = App.Text("BranchCM.Rename", branch.Name); rename.Icon = App.CreateMenuIcon("Icons.Rename"); rename.Click += (_, e) => { @@ -1764,7 +1764,7 @@ namespace SourceGit.ViewModels }; var delete = new MenuItem(); - delete.Header = new Views.NameHighlightedTextBlock("BranchCM.Delete", branch.Name); + delete.Header = App.Text("BranchCM.Delete", branch.Name); delete.Icon = App.CreateMenuIcon("Icons.Clear"); delete.IsEnabled = !branch.IsCurrent; delete.Click += (_, e) => @@ -1936,7 +1936,7 @@ namespace SourceGit.ViewModels var name = branch.FriendlyName; var checkout = new MenuItem(); - checkout.Header = new Views.NameHighlightedTextBlock("BranchCM.Checkout", name); + checkout.Header = App.Text("BranchCM.Checkout", name); checkout.Icon = App.CreateMenuIcon("Icons.Check"); checkout.Click += (_, e) => { @@ -1949,7 +1949,7 @@ namespace SourceGit.ViewModels if (_currentBranch != null) { var pull = new MenuItem(); - pull.Header = new Views.NameHighlightedTextBlock("BranchCM.PullInto", name, _currentBranch.Name); + pull.Header = App.Text("BranchCM.PullInto", name, _currentBranch.Name); pull.Icon = App.CreateMenuIcon("Icons.Pull"); pull.Click += (_, e) => { @@ -1959,7 +1959,7 @@ namespace SourceGit.ViewModels }; var merge = new MenuItem(); - merge.Header = new Views.NameHighlightedTextBlock("BranchCM.Merge", name, _currentBranch.Name); + merge.Header = App.Text("BranchCM.Merge", name, _currentBranch.Name); merge.Icon = App.CreateMenuIcon("Icons.Merge"); merge.Click += (_, e) => { @@ -1969,7 +1969,7 @@ namespace SourceGit.ViewModels }; var rebase = new MenuItem(); - rebase.Header = new Views.NameHighlightedTextBlock("BranchCM.Rebase", _currentBranch.Name, name); + rebase.Header = App.Text("BranchCM.Rebase", _currentBranch.Name, name); rebase.Icon = App.CreateMenuIcon("Icons.Rebase"); rebase.Click += (_, e) => { @@ -2017,7 +2017,7 @@ namespace SourceGit.ViewModels menu.Items.Add(new MenuItem() { Header = "-" }); var delete = new MenuItem(); - delete.Header = new Views.NameHighlightedTextBlock("BranchCM.Delete", name); + delete.Header = App.Text("BranchCM.Delete", name); delete.Icon = App.CreateMenuIcon("Icons.Clear"); delete.Click += (_, e) => { @@ -2091,7 +2091,7 @@ namespace SourceGit.ViewModels }; var pushTag = new MenuItem(); - pushTag.Header = new Views.NameHighlightedTextBlock("TagCM.Push", tag.Name); + pushTag.Header = App.Text("TagCM.Push", tag.Name); pushTag.Icon = App.CreateMenuIcon("Icons.Push"); pushTag.IsEnabled = _remotes.Count > 0; pushTag.Click += (_, ev) => @@ -2102,7 +2102,7 @@ namespace SourceGit.ViewModels }; var deleteTag = new MenuItem(); - deleteTag.Header = new Views.NameHighlightedTextBlock("TagCM.Delete", tag.Name); + deleteTag.Header = App.Text("TagCM.Delete", tag.Name); deleteTag.Icon = App.CreateMenuIcon("Icons.Clear"); deleteTag.Click += (_, ev) => { diff --git a/src/ViewModels/WorkingCopy.cs b/src/ViewModels/WorkingCopy.cs index 49560335..65759412 100644 --- a/src/ViewModels/WorkingCopy.cs +++ b/src/ViewModels/WorkingCopy.cs @@ -628,23 +628,23 @@ namespace SourceGit.ViewModels if (_inProgressContext is CherryPickInProgress cherryPick) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", cherryPick.HeadName); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + useTheirs.Header = App.Text("FileCM.ResolveUsing", cherryPick.HeadName); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); } else if (_inProgressContext is RebaseInProgress rebase) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", rebase.HeadName); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", rebase.BaseName); + useTheirs.Header = App.Text("FileCM.ResolveUsing", rebase.HeadName); + useMine.Header = App.Text("FileCM.ResolveUsing", rebase.BaseName); } else if (_inProgressContext is RevertInProgress revert) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", revert.Head.SHA.Substring(0, 10) + " (revert)"); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + useTheirs.Header = App.Text("FileCM.ResolveUsing", revert.Head.SHA.Substring(0, 10) + " (revert)"); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); } else if (_inProgressContext is MergeInProgress merge) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", merge.SourceName); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + useTheirs.Header = App.Text("FileCM.ResolveUsing", merge.SourceName); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); } menu.Items.Add(useTheirs); @@ -987,23 +987,23 @@ namespace SourceGit.ViewModels if (_inProgressContext is CherryPickInProgress cherryPick) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", cherryPick.HeadName); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + useTheirs.Header = App.Text("FileCM.ResolveUsing", cherryPick.HeadName); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); } else if (_inProgressContext is RebaseInProgress rebase) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", rebase.HeadName); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", rebase.BaseName); + useTheirs.Header = App.Text("FileCM.ResolveUsing", rebase.HeadName); + useMine.Header = App.Text("FileCM.ResolveUsing", rebase.BaseName); } else if (_inProgressContext is RevertInProgress revert) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", revert.Head.SHA.Substring(0, 10) + " (revert)"); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + useTheirs.Header = App.Text("FileCM.ResolveUsing", revert.Head.SHA.Substring(0, 10) + " (revert)"); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); } else if (_inProgressContext is MergeInProgress merge) { - useTheirs.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", merge.SourceName); - useMine.Header = new Views.NameHighlightedTextBlock("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + useTheirs.Header = App.Text("FileCM.ResolveUsing", merge.SourceName); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); } menu.Items.Add(useTheirs); @@ -1406,7 +1406,7 @@ namespace SourceGit.ViewModels { var template = _repo.Settings.CommitTemplates[i]; var item = new MenuItem(); - item.Header = new Views.NameHighlightedTextBlock("WorkingCopy.UseCommitTemplate", template.Name); + item.Header = App.Text("WorkingCopy.UseCommitTemplate", template.Name); item.Icon = App.CreateMenuIcon("Icons.Code"); item.Click += (_, e) => { @@ -1428,7 +1428,7 @@ namespace SourceGit.ViewModels } var gitTemplateItem = new MenuItem(); - gitTemplateItem.Header = new Views.NameHighlightedTextBlock("WorkingCopy.UseCommitTemplate", friendlyName); + gitTemplateItem.Header = App.Text("WorkingCopy.UseCommitTemplate", friendlyName); gitTemplateItem.Icon = App.CreateMenuIcon("Icons.Code"); gitTemplateItem.Click += (_, e) => { diff --git a/src/Views/DeleteBranch.axaml b/src/Views/DeleteBranch.axaml index 9239e47b..3439fc9e 100644 --- a/src/Views/DeleteBranch.axaml +++ b/src/Views/DeleteBranch.axaml @@ -3,6 +3,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:vm="using:SourceGit.ViewModels" + xmlns:v="using:SourceGit.Views" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="SourceGit.Views.DeleteBranch" x:DataType="vm:DeleteBranch"> @@ -39,7 +40,9 @@ - + + + diff --git a/src/Views/NameHighlightedTextBlock.cs b/src/Views/NameHighlightedTextBlock.cs index 82eb0827..a7ff5015 100644 --- a/src/Views/NameHighlightedTextBlock.cs +++ b/src/Views/NameHighlightedTextBlock.cs @@ -49,12 +49,6 @@ namespace SourceGit.Views AffectsMeasure(TextProperty); } - public NameHighlightedTextBlock(string nameKey, params object[] args) - { - SetCurrentValue(TextProperty, App.Text(nameKey, args)); - VerticalAlignment = Avalonia.Layout.VerticalAlignment.Center; - } - protected override Size MeasureOverride(Size availableSize) { var text = Text;