mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-30 13:51:53 +08:00
code_review: PR #1532
- remove `MenuItemExtension` - display `Tag` as hotkey tips when `InputGesture` is null - remove `Avalonia.Input` reference in `ViewModels` - rewrite `InteractiveRebase` view to avoid using `Tag` in menu item Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Platform.Storage;
|
||||
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
@@ -429,7 +428,7 @@ namespace SourceGit.ViewModels
|
||||
var copyMultipleInfo = new MenuItem();
|
||||
copyMultipleInfo.Header = App.Text("CommitCM.CopySHA") + " - " + App.Text("CommitCM.CopySubject");
|
||||
copyMultipleInfo.Icon = App.CreateMenuIcon("Icons.Info");
|
||||
copyMultipleInfo.InputGesture = new KeyGesture(Key.C, OperatingSystem.IsMacOS() ? KeyModifiers.Meta : KeyModifiers.Control);
|
||||
copyMultipleInfo.Tag = OperatingSystem.IsMacOS() ? "⌘+C" : "Ctrl+C";
|
||||
copyMultipleInfo.Click += async (_, e) =>
|
||||
{
|
||||
var builder = new StringBuilder();
|
||||
@@ -726,7 +725,7 @@ namespace SourceGit.ViewModels
|
||||
var createBranch = new MenuItem();
|
||||
createBranch.Icon = App.CreateMenuIcon("Icons.Branch.Add");
|
||||
createBranch.Header = App.Text("CreateBranch");
|
||||
createBranch.InputGesture = new KeyGesture(Key.B, OperatingSystem.IsMacOS() ? KeyModifiers.Meta : KeyModifiers.Control);
|
||||
createBranch.Tag = OperatingSystem.IsMacOS() ? "⌘+B" : "Ctrl+B";
|
||||
createBranch.Click += (_, e) =>
|
||||
{
|
||||
if (_repo.CanCreatePopup())
|
||||
@@ -842,7 +841,7 @@ namespace SourceGit.ViewModels
|
||||
var copyInfo = new MenuItem();
|
||||
copyInfo.Header = App.Text("CommitCM.CopySHA") + " - " + App.Text("CommitCM.CopySubject");
|
||||
copyInfo.Icon = App.CreateMenuIcon("Icons.Info");
|
||||
copyInfo.InputGesture = new KeyGesture(Key.C, OperatingSystem.IsMacOS() ? KeyModifiers.Meta : KeyModifiers.Control);
|
||||
copyInfo.Tag = OperatingSystem.IsMacOS() ? "⌘+C" : "Ctrl+C";
|
||||
copyInfo.Click += async (_, e) =>
|
||||
{
|
||||
await App.CopyTextAsync($"{commit.SHA.AsSpan(0, 10)} - {commit.Subject}");
|
||||
|
||||
@@ -3,7 +3,6 @@ using System.IO;
|
||||
|
||||
using Avalonia.Collections;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Threading;
|
||||
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
@@ -468,7 +467,7 @@ namespace SourceGit.ViewModels
|
||||
var menu = new ContextMenu();
|
||||
var close = new MenuItem();
|
||||
close.Header = App.Text("PageTabBar.Tab.Close");
|
||||
close.InputGesture = KeyGesture.Parse(OperatingSystem.IsMacOS() ? "⌘+W" : "Ctrl+W");
|
||||
close.Tag = OperatingSystem.IsMacOS() ? "⌘+W" : "Ctrl+W";
|
||||
close.Click += (_, e) =>
|
||||
{
|
||||
CloseTab(page);
|
||||
|
||||
@@ -1775,7 +1775,7 @@ namespace SourceGit.ViewModels
|
||||
|
||||
var dateOrder = new MenuItem();
|
||||
dateOrder.Header = App.Text("Repository.HistoriesOrder.ByDate");
|
||||
dateOrder.SetValue(Views.MenuItemExtension.CommandProperty, "--date-order");
|
||||
dateOrder.Tag = "--date-order";
|
||||
if (!_settings.EnableTopoOrderInHistories)
|
||||
dateOrder.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
dateOrder.Click += (_, ev) =>
|
||||
@@ -1791,7 +1791,7 @@ namespace SourceGit.ViewModels
|
||||
|
||||
var topoOrder = new MenuItem();
|
||||
topoOrder.Header = App.Text("Repository.HistoriesOrder.Topo");
|
||||
topoOrder.SetValue(Views.MenuItemExtension.CommandProperty, "--top-order");
|
||||
topoOrder.Tag = "--topo-order";
|
||||
if (_settings.EnableTopoOrderInHistories)
|
||||
topoOrder.Icon = App.CreateMenuIcon("Icons.Check");
|
||||
topoOrder.Click += (_, ev) =>
|
||||
|
||||
@@ -4,7 +4,6 @@ using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Platform.Storage;
|
||||
using Avalonia.Threading;
|
||||
|
||||
@@ -677,7 +676,7 @@ namespace SourceGit.ViewModels
|
||||
var stage = new MenuItem();
|
||||
stage.Header = App.Text("FileCM.Stage");
|
||||
stage.Icon = App.CreateMenuIcon("Icons.File.Add");
|
||||
stage.InputGesture = new KeyGesture(Key.Enter);
|
||||
stage.Tag = "Enter/Space";
|
||||
stage.Click += (_, e) =>
|
||||
{
|
||||
StageChanges(_selectedUnstaged, null);
|
||||
@@ -687,7 +686,7 @@ namespace SourceGit.ViewModels
|
||||
var discard = new MenuItem();
|
||||
discard.Header = App.Text("FileCM.Discard");
|
||||
discard.Icon = App.CreateMenuIcon("Icons.Undo");
|
||||
discard.InputGesture = new KeyGesture(Key.Delete);
|
||||
discard.Tag = "Back/Delete";
|
||||
discard.Click += (_, e) =>
|
||||
{
|
||||
Discard(_selectedUnstaged);
|
||||
@@ -1082,7 +1081,7 @@ namespace SourceGit.ViewModels
|
||||
var stage = new MenuItem();
|
||||
stage.Header = App.Text("FileCM.StageMulti", _selectedUnstaged.Count);
|
||||
stage.Icon = App.CreateMenuIcon("Icons.File.Add");
|
||||
stage.InputGesture = new KeyGesture(Key.Enter);
|
||||
stage.Tag = "Enter/Space";
|
||||
stage.Click += (_, e) =>
|
||||
{
|
||||
StageChanges(_selectedUnstaged, null);
|
||||
@@ -1092,7 +1091,7 @@ namespace SourceGit.ViewModels
|
||||
var discard = new MenuItem();
|
||||
discard.Header = App.Text("FileCM.DiscardMulti", _selectedUnstaged.Count);
|
||||
discard.Icon = App.CreateMenuIcon("Icons.Undo");
|
||||
discard.InputGesture = new KeyGesture(Key.Delete);
|
||||
discard.Tag = "Back/Delete";
|
||||
discard.Click += (_, e) =>
|
||||
{
|
||||
Discard(_selectedUnstaged);
|
||||
@@ -1268,7 +1267,7 @@ namespace SourceGit.ViewModels
|
||||
var unstage = new MenuItem();
|
||||
unstage.Header = App.Text("FileCM.Unstage");
|
||||
unstage.Icon = App.CreateMenuIcon("Icons.File.Remove");
|
||||
unstage.InputGesture = new KeyGesture(Key.Enter);
|
||||
unstage.Tag = "Enter/Space";
|
||||
unstage.Click += (_, e) =>
|
||||
{
|
||||
UnstageChanges(_selectedStaged, null);
|
||||
@@ -1472,7 +1471,7 @@ namespace SourceGit.ViewModels
|
||||
var unstage = new MenuItem();
|
||||
unstage.Header = App.Text("FileCM.UnstageMulti", _selectedStaged.Count);
|
||||
unstage.Icon = App.CreateMenuIcon("Icons.File.Remove");
|
||||
unstage.InputGesture = new KeyGesture(Key.Enter);
|
||||
unstage.Tag = "Enter/Space";
|
||||
unstage.Click += (_, e) =>
|
||||
{
|
||||
UnstageChanges(_selectedStaged, null);
|
||||
|
||||
Reference in New Issue
Block a user