feature<FolderDialog>: remove View.FolderBrowser and use windows shell32 API to select folders

This commit is contained in:
leo 2021-05-26 11:08:31 +08:00
parent 0419cf96fc
commit 6061f5a074
8 changed files with 169 additions and 213 deletions

View file

@ -342,9 +342,10 @@ namespace SourceGit.Views.Widgets {
var saveToPatch = new MenuItem();
saveToPatch.Header = App.Text("CommitCM.SaveAsPatch");
saveToPatch.Click += (o, e) => {
FolderBrowser.Open(null, "Save patch to ...", saveTo => {
new Commands.FormatPatch(repo.Path, commit.SHA, saveTo).Exec();
});
var dialog = new Controls.FolderDialog("SaveFileTo");
if (dialog.ShowDialog() == true) {
new Commands.FormatPatch(repo.Path, commit.SHA, dialog.SelectedPath).Exec();
}
};
menu.Items.Add(saveToPatch);
menu.Items.Add(new Separator());

View file

@ -289,10 +289,11 @@ namespace SourceGit.Views.Widgets {
saveAs.Header = App.Text("SaveAs");
saveAs.IsEnabled = node.Type == Models.ObjectType.Blob;
saveAs.Click += (obj, ev) => {
FolderBrowser.Open(null, App.Text("SaveFileTo"), saveTo => {
var full = Path.Combine(saveTo, Path.GetFileName(node.Path));
var dialog = new Controls.FolderDialog("SaveFileTo");
if (dialog.ShowDialog() == true) {
var full = Path.Combine(dialog.SelectedPath, Path.GetFileName(node.Path));
new Commands.SaveRevisionFile(repo, node.Path, sha, full).Exec();
});
}
ev.Handled = true;
};

View file

@ -47,7 +47,8 @@ namespace SourceGit.Views.Widgets {
#region FUNC_EVENTS
private void OnOpenClicked(object sender, RoutedEventArgs e) {
FolderBrowser.Open(null, App.Text("Welcome.OpenOrInitDialog"), CheckAndOpen);
var dialog = new Controls.FolderDialog("Welcome.OpenOrInitDialog");
if (dialog.ShowDialog() == true) CheckAndOpen(dialog.SelectedPath);
}
private void OnCloneClicked(object sender, RoutedEventArgs e) {