mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-24 20:57:19 -08:00
feature<WorkingCopy>: supports open selected file with default editor in working copy changes
This commit is contained in:
parent
de75f5010b
commit
f04ab92efc
3 changed files with 52 additions and 4 deletions
|
@ -16,6 +16,7 @@
|
||||||
<sys:String x:Key="Text.Optional">Optional.</sys:String>
|
<sys:String x:Key="Text.Optional">Optional.</sys:String>
|
||||||
<sys:String x:Key="Text.OpenFolder">SELECT FOLDER</sys:String>
|
<sys:String x:Key="Text.OpenFolder">SELECT FOLDER</sys:String>
|
||||||
<sys:String x:Key="Text.Notice">NOTICE</sys:String>
|
<sys:String x:Key="Text.Notice">NOTICE</sys:String>
|
||||||
|
<sys:String x:Key="Text.OpenWith">Open With ...</sys:String>
|
||||||
|
|
||||||
<sys:String x:Key="Text.URL">URL :</sys:String>
|
<sys:String x:Key="Text.URL">URL :</sys:String>
|
||||||
<sys:String x:Key="Text.RepositoryURL">Git Repository URL</sys:String>
|
<sys:String x:Key="Text.RepositoryURL">Git Repository URL</sys:String>
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
<sys:String x:Key="Text.Optional">选填</sys:String>
|
<sys:String x:Key="Text.Optional">选填</sys:String>
|
||||||
<sys:String x:Key="Text.OpenFolder">选择文件夹</sys:String>
|
<sys:String x:Key="Text.OpenFolder">选择文件夹</sys:String>
|
||||||
<sys:String x:Key="Text.Notice">系统提示</sys:String>
|
<sys:String x:Key="Text.Notice">系统提示</sys:String>
|
||||||
|
<sys:String x:Key="Text.OpenWith">打开文件...</sys:String>
|
||||||
|
|
||||||
<sys:String x:Key="Text.URL">仓库地址 :</sys:String>
|
<sys:String x:Key="Text.URL">仓库地址 :</sys:String>
|
||||||
<sys:String x:Key="Text.RepositoryURL">远程仓库地址</sys:String>
|
<sys:String x:Key="Text.RepositoryURL">远程仓库地址</sys:String>
|
||||||
|
|
|
@ -3,12 +3,14 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SourceGit.Views.Widgets {
|
namespace SourceGit.Views.Widgets {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -430,6 +432,18 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
menu.Items.Add(explore);
|
||||||
|
|
||||||
|
if (!node.IsFolder && File.Exists(path)) {
|
||||||
|
var openWith = new MenuItem();
|
||||||
|
openWith.Header = App.Text("OpenWith");
|
||||||
|
openWith.Click += (o, e) => {
|
||||||
|
Process.Start($"\"{path}\"");
|
||||||
|
e.Handled = true;
|
||||||
|
};
|
||||||
|
menu.Items.Add(openWith);
|
||||||
|
}
|
||||||
|
|
||||||
var stage = new MenuItem();
|
var stage = new MenuItem();
|
||||||
stage.Header = App.Text("FileCM.Stage");
|
stage.Header = App.Text("FileCM.Stage");
|
||||||
stage.Click += (o, e) => {
|
stage.Click += (o, e) => {
|
||||||
|
@ -481,7 +495,6 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
menu.Items.Add(explore);
|
|
||||||
menu.Items.Add(new Separator());
|
menu.Items.Add(new Separator());
|
||||||
menu.Items.Add(stage);
|
menu.Items.Add(stage);
|
||||||
menu.Items.Add(discard);
|
menu.Items.Add(discard);
|
||||||
|
@ -576,6 +589,18 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
menu.Items.Add(explore);
|
||||||
|
|
||||||
|
if (File.Exists(path)) {
|
||||||
|
var openWith = new MenuItem();
|
||||||
|
openWith.Header = App.Text("OpenWith");
|
||||||
|
openWith.Click += (o, e) => {
|
||||||
|
Process.Start($"\"{path}\"");
|
||||||
|
e.Handled = true;
|
||||||
|
};
|
||||||
|
menu.Items.Add(openWith);
|
||||||
|
}
|
||||||
|
|
||||||
var stage = new MenuItem();
|
var stage = new MenuItem();
|
||||||
stage.Header = App.Text("FileCM.Stage");
|
stage.Header = App.Text("FileCM.Stage");
|
||||||
stage.Click += (o, e) => {
|
stage.Click += (o, e) => {
|
||||||
|
@ -642,7 +667,6 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
menu.Items.Add(explore);
|
|
||||||
menu.Items.Add(new Separator());
|
menu.Items.Add(new Separator());
|
||||||
menu.Items.Add(stage);
|
menu.Items.Add(stage);
|
||||||
menu.Items.Add(discard);
|
menu.Items.Add(discard);
|
||||||
|
@ -738,6 +762,18 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
menu.Items.Add(explore);
|
||||||
|
|
||||||
|
if (!node.IsFolder && File.Exists(path)) {
|
||||||
|
var openWith = new MenuItem();
|
||||||
|
openWith.Header = App.Text("OpenWith");
|
||||||
|
openWith.Click += (o, e) => {
|
||||||
|
Process.Start($"\"{path}\"");
|
||||||
|
e.Handled = true;
|
||||||
|
};
|
||||||
|
menu.Items.Add(openWith);
|
||||||
|
}
|
||||||
|
|
||||||
var unstage = new MenuItem();
|
var unstage = new MenuItem();
|
||||||
unstage.Header = App.Text("FileCM.Unstage");
|
unstage.Header = App.Text("FileCM.Unstage");
|
||||||
unstage.Click += (o, e) => {
|
unstage.Click += (o, e) => {
|
||||||
|
@ -752,7 +788,6 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
menu.Items.Add(explore);
|
|
||||||
menu.Items.Add(unstage);
|
menu.Items.Add(unstage);
|
||||||
menu.Items.Add(copyPath);
|
menu.Items.Add(copyPath);
|
||||||
} else {
|
} else {
|
||||||
|
@ -782,6 +817,18 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
menu.Items.Add(explore);
|
||||||
|
|
||||||
|
if (File.Exists(path)) {
|
||||||
|
var openWith = new MenuItem();
|
||||||
|
openWith.Header = App.Text("OpenWith");
|
||||||
|
openWith.Click += (o, e) => {
|
||||||
|
Process.Start($"\"{path}\"");
|
||||||
|
e.Handled = true;
|
||||||
|
};
|
||||||
|
menu.Items.Add(openWith);
|
||||||
|
}
|
||||||
|
|
||||||
var unstage = new MenuItem();
|
var unstage = new MenuItem();
|
||||||
unstage.Header = App.Text("FileCM.Unstage");
|
unstage.Header = App.Text("FileCM.Unstage");
|
||||||
unstage.Click += (o, e) => {
|
unstage.Click += (o, e) => {
|
||||||
|
@ -796,7 +843,6 @@ namespace SourceGit.Views.Widgets {
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
menu.Items.Add(explore);
|
|
||||||
menu.Items.Add(new Separator());
|
menu.Items.Add(new Separator());
|
||||||
menu.Items.Add(unstage);
|
menu.Items.Add(unstage);
|
||||||
menu.Items.Add(new Separator());
|
menu.Items.Add(new Separator());
|
||||||
|
|
Loading…
Reference in a new issue