From dd254ebf4f4c5420e875f857697dd0c1245380bf Mon Sep 17 00:00:00 2001 From: leo Date: Sun, 26 Jan 2025 14:55:44 +0800 Subject: [PATCH] ux: new attached property `MenuItemExtension.Command` for MenuItem Signed-off-by: leo --- src/Resources/Locales/de_DE.axaml | 4 ++-- src/Resources/Locales/en_US.axaml | 4 ++-- src/Resources/Locales/es_ES.axaml | 4 ++-- src/Resources/Locales/pt_BR.axaml | 4 ++-- src/Resources/Locales/ru_RU.axaml | 4 ++-- src/Resources/Locales/zh_CN.axaml | 4 ++-- src/Resources/Locales/zh_TW.axaml | 4 ++-- src/Resources/Styles.axaml | 15 ++++++++++++++- src/Views/MenuItemExtension.cs | 12 ++++++++++++ src/Views/Repository.axaml.cs | 2 ++ 10 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 src/Views/MenuItemExtension.cs diff --git a/src/Resources/Locales/de_DE.axaml b/src/Resources/Locales/de_DE.axaml index 8d92c6cc..fe961d14 100644 --- a/src/Resources/Locales/de_DE.axaml +++ b/src/Resources/Locales/de_DE.axaml @@ -569,8 +569,8 @@ Horizontal Vertikal COMMIT SORTIERUNG - Commit Zeitpunkt (--date-order) - Topologie (--topo-order) + Commit Zeitpunkt + Topologie LOKALE BRANCHES Zum HEAD wechseln Aktiviere '--first-parent' Option diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index 28951aa9..22cfd398 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -567,8 +567,8 @@ Horizontal Vertical COMMITS ORDER - Commit Date (--date-order) - Topologically (--topo-order) + Commit Date + Topologically LOCAL BRANCHES Navigate to HEAD Enable '--first-parent' Option diff --git a/src/Resources/Locales/es_ES.axaml b/src/Resources/Locales/es_ES.axaml index a760a470..3e926c63 100644 --- a/src/Resources/Locales/es_ES.axaml +++ b/src/Resources/Locales/es_ES.axaml @@ -570,8 +570,8 @@ Horizontal Vertical ORDEN DE COMMITS - Fecha de Commit (--date-order) - Topológicamente (--topo-order) + Fecha de Commit + Topológicamente RAMAS LOCALES Navegar a HEAD Habilitar Opción '--first-parent' diff --git a/src/Resources/Locales/pt_BR.axaml b/src/Resources/Locales/pt_BR.axaml index d29ace6b..dee8565b 100644 --- a/src/Resources/Locales/pt_BR.axaml +++ b/src/Resources/Locales/pt_BR.axaml @@ -566,8 +566,8 @@ Desfazer Esconder no gráfico de commit Incluir no gráfico de commit - Data do Commit (--date-order) - Topologicamente (--topo-order) + Data do Commit + Topologicamente BRANCHES LOCAIS Navegar para HEAD Habilitar opção '--first-parent' diff --git a/src/Resources/Locales/ru_RU.axaml b/src/Resources/Locales/ru_RU.axaml index 53a97549..27a2d360 100644 --- a/src/Resources/Locales/ru_RU.axaml +++ b/src/Resources/Locales/ru_RU.axaml @@ -571,8 +571,8 @@ Горизонтально Вертикально ЗАПРОС РЕВИЗИЙ - Дата ревизии (--date-order) - Топологически (--topo-order) + Дата ревизии + Топологически ЛОКАЛЬНЫЕ ВЕТКИ Навигация по ГОЛОВЕ (HEAD) Включить опцию --first-parent diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml index ea181b50..f2a51970 100644 --- a/src/Resources/Locales/zh_CN.axaml +++ b/src/Resources/Locales/zh_CN.axaml @@ -571,8 +571,8 @@ 水平排布 竖直排布 提交列表排序规则 - 按提交时间 (--date-order) - 按拓扑排序 (--topo-order) + 按提交时间 + 按拓扑排序 本地分支 定位HEAD 启用 --first-parent 过滤选项 diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml index 077a8b0b..dd7aad39 100644 --- a/src/Resources/Locales/zh_TW.axaml +++ b/src/Resources/Locales/zh_TW.axaml @@ -570,8 +570,8 @@ 橫向顯示 縱向顯示 提交顯示順序 - 依提交時間排序 (--date-order) - 依拓撲排序 (--topo-order) + 依提交時間排序 + 依拓撲排序 本機分支 回到 HEAD 啟用 [--first-parent] 選項 diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml index 6335c635..9b43d8af 100644 --- a/src/Resources/Styles.axaml +++ b/src/Resources/Styles.axaml @@ -2,6 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="using:SourceGit" xmlns:vm="using:SourceGit.ViewModels" + xmlns:v="using:SourceGit.Views" xmlns:c="using:SourceGit.Converters" xmlns:ae="using:AvaloniaEdit" xmlns:aee="using:AvaloniaEdit.Editing" @@ -844,7 +845,19 @@ HorizontalAlignment="Right" VerticalAlignment="Center" Foreground="{DynamicResource MenuFlyoutItemKeyboardAcceleratorTextForeground}" - FontSize="11"/> + FontSize="11" + IsVisible="{TemplateBinding (v:MenuItemExtension.Command), Converter={x:Static StringConverters.IsNullOrEmpty}}"/> + + CommandProperty = + AvaloniaProperty.RegisterAttached("Command", string.Empty, false, BindingMode.OneWay); + } +} diff --git a/src/Views/Repository.axaml.cs b/src/Views/Repository.axaml.cs index 7a54b382..bb359040 100644 --- a/src/Views/Repository.axaml.cs +++ b/src/Views/Repository.axaml.cs @@ -434,6 +434,7 @@ namespace SourceGit.Views 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) => @@ -444,6 +445,7 @@ namespace SourceGit.Views 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) =>