Skip to content

Commit bdcf335

Browse files
committed
refactor: reorder context menu items of selected branch
Signed-off-by: leo <longshuang@msn.cn>
1 parent 5d8a934 commit bdcf335

1 file changed

Lines changed: 34 additions & 19 deletions

File tree

src/Views/BranchTree.axaml.cs

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,23 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo,
753753
menu.Items.Add(push);
754754
menu.Items.Add(new MenuItem() { Header = "-" });
755755

756+
var type = repo.GetGitFlowType(branch);
757+
if (type != Models.GitFlowBranchType.None)
758+
{
759+
var finish = new MenuItem();
760+
finish.Header = App.Text("BranchCM.Finish", branch.Name);
761+
finish.Icon = this.CreateMenuIcon("Icons.GitFlow.Finish");
762+
finish.IsEnabled = !repo.IsBare;
763+
finish.Click += (_, e) =>
764+
{
765+
if (repo.CanCreatePopup())
766+
repo.ShowPopup(new ViewModels.GitFlowFinish(repo, branch, type));
767+
e.Handled = true;
768+
};
769+
menu.Items.Add(finish);
770+
menu.Items.Add(new MenuItem() { Header = "-" });
771+
}
772+
756773
if (upstream != null)
757774
{
758775
var compareWithUpstream = new MenuItem();
@@ -858,6 +875,23 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo,
858875
menu.Items.Add(rebase);
859876
menu.Items.Add(new MenuItem() { Header = "-" });
860877
menu.Items.Add(interactiveRebase);
878+
879+
var type = repo.GetGitFlowType(branch);
880+
if (type != Models.GitFlowBranchType.None)
881+
{
882+
var finish = new MenuItem();
883+
finish.Header = App.Text("BranchCM.Finish", branch.Name);
884+
finish.Icon = this.CreateMenuIcon("Icons.GitFlow.Finish");
885+
finish.IsEnabled = !repo.IsBare || !hasNoWorktree;
886+
finish.Click += (_, e) =>
887+
{
888+
if (repo.CanCreatePopup())
889+
repo.ShowPopup(new ViewModels.GitFlowFinish(repo, branch, type));
890+
e.Handled = true;
891+
};
892+
menu.Items.Add(new MenuItem() { Header = "-" });
893+
menu.Items.Add(finish);
894+
}
861895
}
862896

863897
if (hasNoWorktree)
@@ -912,25 +946,6 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo,
912946
menu.Items.Add(compareWith);
913947
}
914948

915-
if (!repo.IsBare)
916-
{
917-
var type = repo.GetGitFlowType(branch);
918-
if (type != Models.GitFlowBranchType.None)
919-
{
920-
var finish = new MenuItem();
921-
finish.Header = App.Text("BranchCM.Finish", branch.Name);
922-
finish.Icon = this.CreateMenuIcon("Icons.GitFlow.Finish");
923-
finish.Click += (_, e) =>
924-
{
925-
if (repo.CanCreatePopup())
926-
repo.ShowPopup(new ViewModels.GitFlowFinish(repo, branch, type));
927-
e.Handled = true;
928-
};
929-
menu.Items.Add(new MenuItem() { Header = "-" });
930-
menu.Items.Add(finish);
931-
}
932-
}
933-
934949
if (!branch.IsDetachedHead)
935950
{
936951
var editDescription = new MenuItem();

0 commit comments

Comments
 (0)