mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-20 11:44:59 +00:00
code_style: move dynamic context menu creation to view models
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
673b335a2a
commit
a5bdcab341
2 changed files with 144 additions and 140 deletions
|
@ -396,83 +396,8 @@ namespace SourceGit.Views
|
|||
{
|
||||
if (sender is Button button && DataContext is ViewModels.Repository repo)
|
||||
{
|
||||
var layout = new MenuItem();
|
||||
layout.Header = App.Text("Repository.HistoriesLayout");
|
||||
layout.IsEnabled = false;
|
||||
|
||||
var isHorizontal = ViewModels.Preferences.Instance.UseTwoColumnsLayoutInHistories;
|
||||
var horizontal = new MenuItem();
|
||||
horizontal.Header = App.Text("Repository.HistoriesLayout.Horizontal");
|
||||
if (isHorizontal)
|
||||
horizontal.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
horizontal.Click += (_, ev) =>
|
||||
{
|
||||
ViewModels.Preferences.Instance.UseTwoColumnsLayoutInHistories = true;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var vertical = new MenuItem();
|
||||
vertical.Header = App.Text("Repository.HistoriesLayout.Vertical");
|
||||
if (!isHorizontal)
|
||||
vertical.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
vertical.Click += (_, ev) =>
|
||||
{
|
||||
ViewModels.Preferences.Instance.UseTwoColumnsLayoutInHistories = false;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var order = new MenuItem();
|
||||
order.Header = App.Text("Repository.HistoriesOrder");
|
||||
order.IsEnabled = false;
|
||||
|
||||
var dateOrder = new MenuItem();
|
||||
dateOrder.Header = App.Text("Repository.HistoriesOrder.ByDate");
|
||||
dateOrder.SetValue(MenuItemExtension.CommandProperty, "--date-order");
|
||||
if (!repo.EnableTopoOrderInHistories)
|
||||
dateOrder.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
dateOrder.Click += (_, ev) =>
|
||||
{
|
||||
repo.EnableTopoOrderInHistories = false;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var topoOrder = new MenuItem();
|
||||
topoOrder.Header = App.Text("Repository.HistoriesOrder.Topo");
|
||||
topoOrder.SetValue(MenuItemExtension.CommandProperty, "--top-order");
|
||||
if (repo.EnableTopoOrderInHistories)
|
||||
topoOrder.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
topoOrder.Click += (_, ev) =>
|
||||
{
|
||||
repo.EnableTopoOrderInHistories = true;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var others = new MenuItem();
|
||||
others.Header = App.Text("Repository.HistoriesOptions");
|
||||
others.IsEnabled = false;
|
||||
|
||||
var showTagsInGraph = new MenuItem();
|
||||
showTagsInGraph.Header = App.Text("Repository.HistoriesOptions.ShowTagsInGraph");
|
||||
if (ViewModels.Preferences.Instance.ShowTagsInGraph)
|
||||
showTagsInGraph.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
showTagsInGraph.Click += (_, ev) =>
|
||||
{
|
||||
ViewModels.Preferences.Instance.ShowTagsInGraph = !ViewModels.Preferences.Instance.ShowTagsInGraph;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var menu = new ContextMenu();
|
||||
menu.Items.Add(layout);
|
||||
menu.Items.Add(horizontal);
|
||||
menu.Items.Add(vertical);
|
||||
menu.Items.Add(new MenuItem() { Header = "-" });
|
||||
menu.Items.Add(order);
|
||||
menu.Items.Add(dateOrder);
|
||||
menu.Items.Add(topoOrder);
|
||||
menu.Items.Add(new MenuItem() { Header = "-" });
|
||||
menu.Items.Add(others);
|
||||
menu.Items.Add(showTagsInGraph);
|
||||
menu.Open(button);
|
||||
var menu = repo.CreateContextMenuForHistoriesPage();
|
||||
menu?.Open(button);
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
|
@ -482,41 +407,8 @@ namespace SourceGit.Views
|
|||
{
|
||||
if (sender is Button button && DataContext is ViewModels.Repository repo)
|
||||
{
|
||||
var byCreatorDate = new MenuItem();
|
||||
byCreatorDate.Header = App.Text("Repository.Tags.OrderByCreatorDate");
|
||||
if (repo.TagSortMode == Models.TagSortMode.CreatorDate)
|
||||
byCreatorDate.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
byCreatorDate.Click += (_, ev) =>
|
||||
{
|
||||
repo.TagSortMode = Models.TagSortMode.CreatorDate;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var byNameAsc = new MenuItem();
|
||||
byNameAsc.Header = App.Text("Repository.Tags.OrderByNameAsc");
|
||||
if (repo.TagSortMode == Models.TagSortMode.NameInAscending)
|
||||
byNameAsc.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
byNameAsc.Click += (_, ev) =>
|
||||
{
|
||||
repo.TagSortMode = Models.TagSortMode.NameInAscending;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var byNameDes = new MenuItem();
|
||||
byNameDes.Header = App.Text("Repository.Tags.OrderByNameDes");
|
||||
if (repo.TagSortMode == Models.TagSortMode.NameInDescending)
|
||||
byNameDes.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
byNameDes.Click += (_, ev) =>
|
||||
{
|
||||
repo.TagSortMode = Models.TagSortMode.NameInDescending;
|
||||
ev.Handled = true;
|
||||
};
|
||||
|
||||
var menu = new ContextMenu();
|
||||
menu.Items.Add(byCreatorDate);
|
||||
menu.Items.Add(byNameAsc);
|
||||
menu.Items.Add(byNameDes);
|
||||
menu.Open(button);
|
||||
var menu = repo.CreateContextMenuForTagSortMode();
|
||||
menu?.Open(button);
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue