ux: re-order context menu items

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo
2025-07-07 15:09:05 +08:00
parent 6d068157b4
commit 4f4b90d424
2 changed files with 36 additions and 34 deletions

View File

@@ -509,16 +509,6 @@ namespace SourceGit.ViewModels
var menu = new ContextMenu();
var fullPath = Native.OS.GetAbsPath(_repo.FullPath, file.Path);
var explore = new MenuItem();
explore.Header = App.Text("RevealFile");
explore.Icon = App.CreateMenuIcon("Icons.Explore");
explore.IsEnabled = File.Exists(fullPath);
explore.Click += (_, ev) =>
{
Native.OS.OpenInFileManager(fullPath, file.Type == Models.ObjectType.Blob);
ev.Handled = true;
};
var openWith = new MenuItem();
openWith.Header = App.Text("OpenWith");
openWith.Icon = App.CreateMenuIcon("Icons.OpenWith");
@@ -562,9 +552,19 @@ namespace SourceGit.ViewModels
ev.Handled = true;
};
menu.Items.Add(explore);
var explore = new MenuItem();
explore.Header = App.Text("RevealFile");
explore.Icon = App.CreateMenuIcon("Icons.Explore");
explore.IsEnabled = File.Exists(fullPath);
explore.Click += (_, ev) =>
{
Native.OS.OpenInFileManager(fullPath, file.Type == Models.ObjectType.Blob);
ev.Handled = true;
};
menu.Items.Add(openWith);
menu.Items.Add(saveAs);
menu.Items.Add(explore);
menu.Items.Add(new MenuItem() { Header = "-" });
var history = new MenuItem();

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
@@ -593,6 +593,7 @@ namespace SourceGit.ViewModels
var diffWithMerger = new MenuItem();
diffWithMerger.Header = App.Text("DiffWithMerger");
diffWithMerger.Icon = App.CreateMenuIcon("Icons.OpenWith");
diffWithMerger.Tag = OperatingSystem.IsMacOS() ? "⌘+⇧+D" : "Ctrl+Shift+D";
diffWithMerger.Click += (sender, ev) =>
{
var toolType = Preferences.Instance.ExternalMergeToolType;
@@ -604,6 +605,17 @@ namespace SourceGit.ViewModels
};
menu.Items.Add(diffWithMerger);
var openWith = new MenuItem();
openWith.Header = App.Text("OpenWith");
openWith.Icon = App.CreateMenuIcon("Icons.OpenWith");
openWith.IsEnabled = File.Exists(path);
openWith.Click += (_, e) =>
{
Native.OS.OpenWithDefaultEditor(path);
e.Handled = true;
};
menu.Items.Add(openWith);
var explore = new MenuItem();
explore.Header = App.Text("RevealFile");
explore.Icon = App.CreateMenuIcon("Icons.Explore");
@@ -615,17 +627,6 @@ namespace SourceGit.ViewModels
e.Handled = true;
};
menu.Items.Add(explore);
var openWith = new MenuItem();
openWith.Header = App.Text("OpenWith");
openWith.Icon = App.CreateMenuIcon("Icons.OpenWith");
openWith.IsEnabled = File.Exists(path);
openWith.Click += (_, e) =>
{
Native.OS.OpenWithDefaultEditor(path);
e.Handled = true;
};
menu.Items.Add(openWith);
menu.Items.Add(new MenuItem() { Header = "-" });
if (change.IsConflicted)
@@ -1260,6 +1261,7 @@ namespace SourceGit.ViewModels
var diffWithMerger = new MenuItem();
diffWithMerger.Header = App.Text("DiffWithMerger");
diffWithMerger.Icon = App.CreateMenuIcon("Icons.OpenWith");
diffWithMerger.Tag = OperatingSystem.IsMacOS() ? "⌘+⇧+D" : "Ctrl+Shift+D";
diffWithMerger.Click += (sender, ev) =>
{
var toolType = Preferences.Instance.ExternalMergeToolType;
@@ -1270,6 +1272,16 @@ namespace SourceGit.ViewModels
ev.Handled = true;
};
var openWith = new MenuItem();
openWith.Header = App.Text("OpenWith");
openWith.Icon = App.CreateMenuIcon("Icons.OpenWith");
openWith.IsEnabled = File.Exists(path);
openWith.Click += (_, e) =>
{
Native.OS.OpenWithDefaultEditor(path);
e.Handled = true;
};
var explore = new MenuItem();
explore.IsEnabled = File.Exists(path) || Directory.Exists(path);
explore.Header = App.Text("RevealFile");
@@ -1281,16 +1293,6 @@ namespace SourceGit.ViewModels
e.Handled = true;
};
var openWith = new MenuItem();
openWith.Header = App.Text("OpenWith");
openWith.Icon = App.CreateMenuIcon("Icons.OpenWith");
openWith.IsEnabled = File.Exists(path);
openWith.Click += (_, e) =>
{
Native.OS.OpenWithDefaultEditor(path);
e.Handled = true;
};
var unstage = new MenuItem();
unstage.Header = App.Text("FileCM.Unstage");
unstage.Icon = App.CreateMenuIcon("Icons.File.Remove");
@@ -1338,8 +1340,8 @@ namespace SourceGit.ViewModels
};
menu.Items.Add(diffWithMerger);
menu.Items.Add(explore);
menu.Items.Add(openWith);
menu.Items.Add(explore);
menu.Items.Add(new MenuItem() { Header = "-" });
menu.Items.Add(unstage);
menu.Items.Add(stash);