/// <summary> /// Opens the SaveFileDialog window from the ViewModel. /// </summary> /// <returns> /// A task returning a nullable string representing the file path. /// </returns> public async Task <string?> ShowSaveDialogAsync() { var dialog = new SaveFileDialog() { Filters = new List <FileDialogFilter> { new FileDialogFilter() { Name = "JSON", Extensions = { "json" } } } }; return(await dialog.ShowAsync(_mainWindowProvider.GetMainWindow())); }
public async void Export(int left, int right) { Window sender = Track.Get(_chain).Window; SaveFileDialog sfd = new SaveFileDialog() { Filters = new List <FileDialogFilter>() { new FileDialogFilter() { Extensions = new List <string>() { "apdev" }, Name = "Apollo Device Preset" } }, Title = "Export Device Preset" }; string result = await sfd.ShowAsync(sender); if (result != null) { string[] file = result.Split(Path.DirectorySeparatorChar); if (Directory.Exists(string.Join("/", file.Take(file.Count() - 1)))) { Copyable copy = new Copyable(); for (int i = left; i <= right; i++) { copy.Contents.Add(_chain[i]); } try { File.WriteAllBytes(result, Encoder.Encode(copy).ToArray()); } catch (UnauthorizedAccessException) { await MessageWindow.Create( $"An error occurred while writing the file.\n\n" + "You may not have sufficient privileges to write to the destination folder, or\n" + "the current file already exists but cannot be overwritten.", null, sender ); } } } }
private async void SaveAs() { var dialog = new SaveFileDialog { InitialFileName = _openedFilePath }; var path = await dialog.ShowAsync(this); if (path == null) { return; } await File.WriteAllTextAsync(path, _codeBox.Text); _openedFilePath = path; }
private async void ExportClick(object sender, RoutedEventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); FileDialogFilter filter = new FileDialogFilter(); filter.Extensions.Add("png"); filter.Name = "PNG 图片文件"; dialog.Filters.Add(filter); string filename = await dialog.ShowAsync(this); if (filename == null) { return; } nbitmap.Save(filename, ImageFormat.Png); }
public async void SaveSvg() { var window = FindWindow(); var sfd = new SaveFileDialog() { DefaultExtension = "svg", }; var res = await sfd.ShowAsync(window); if (res is string filename) { Context.PlotModel.ExportSvg(filename); } }
public async Task SaveAs() { var dialog = new SaveFileDialog() { Title = "Open Localization Files...", Filters = OpenFileFilters, InitialDirectory = Settings.LastDirectory, InitialFileName = Path.GetFileNameWithoutExtension(Settings.LastFile) }; var result = await dialog.ShowAsync(win); if (result != null) { System.Diagnostics.Debug.WriteLine($"Saving file to: {result}"); } }
private async void ExportClick(object sender, RoutedEventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); FileDialogFilter filter = new FileDialogFilter(); filter.Extensions.Add("db"); filter.Name = "数据库文件"; dialog.Filters.Add(filter); string filename = await dialog.ShowAsync(this); if (filename == null) { return; } Restore.db.Write(filename); }
public override async Task <bool> Save(DecompilerTextView textView) { SaveFileDialog dlg = new SaveFileDialog(); dlg.InitialFileName = Path.GetFileName(DecompilerTextView.CleanUpName(key)); var filename = await dlg.ShowAsync(App.Current.GetMainWindow()); if (!string.IsNullOrEmpty(filename)) { data.Position = 0; using (var fs = File.OpenWrite(filename)) { data.CopyTo(fs); } } return(true); }
public async void OnClickGCodeSaveFile() { if (!HaveGCode) { return; } var dialog = new SaveFileDialog { Filters = Helpers.IniFileFilter, Directory = Path.GetDirectoryName(SlicerFile.FileFullPath), InitialFileName = $"{Path.GetFileNameWithoutExtension(SlicerFile.FileFullPath)}_gcode.txt" }; var file = await dialog.ShowAsync(this); if (string.IsNullOrEmpty(file)) { return; } try { using (TextWriter tw = new StreamWriter(file)) { tw.Write(SlicerFile.GCodeStr); tw.Close(); } } catch (Exception e) { await this.MessageBoxError(e.ToString(), "Error occur while save gcode"); return; } var result = await this.MessageBoxQuestion( "GCode save was successful. Do you want open the file in the default editor?", "GCode save complete"); if (result != ButtonResult.Yes) { return; } App.StartProcess(file); }
private async void BtnExportDump_Click(object?sender, Avalonia.Interactivity.RoutedEventArgs e) { if (await FailIfNothingSelected()) { return; } SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save As"; sfd.Filters = new List <FileDialogFilter>() { new FileDialogFilter() { Name = "UABE text dump", Extensions = new List <string>() { "txt" } }, new FileDialogFilter() { Name = "UABE json dump", Extensions = new List <string>() { "json" } } }; string file = await sfd.ShowAsync(this); if (file != null && file != string.Empty) { if (file.EndsWith(".json")) { await MessageBoxUtil.ShowDialog(this, "Not implemented", "There's no json dump support yet, sorry. Exporting as .txt anyway."); file = file.Substring(0, file.Length - 5) + ".txt"; } using (FileStream fs = File.OpenWrite(file)) using (StreamWriter sw = new StreamWriter(fs)) { AssetImportExport dumper = new AssetImportExport(); dumper.DumpTextAsset(sw, GetSelectedField()); } } }
private async Task AskForLocationAndSave() { if (changesUnsaved && bundleInst != null) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save as..."; string file = await sfd.ShowAsync(this); if (file == null) { return; } SaveBundle(bundleInst, file); } }
/// <summary> /// save dialog as an asynchronous operation. /// </summary> /// <param name="title">The title.</param> /// <param name="initialFileName">Initial name of the file.</param> /// <param name="extensions">The extensions.</param> /// <returns>Task<System.String>.</returns> public async Task <string> SaveDialogAsync(string title, string initialFileName = Shared.Constants.EmptyParam, params string[] extensions) { var dialog = new SaveFileDialog { Title = title, Filters = GetFilters(extensions), Directory = GetInitialDirectory() }; if (!string.IsNullOrWhiteSpace(initialFileName)) { dialog.InitialFileName = initialFileName.GenerateValidFileName(); } var result = await dialog.ShowAsync(Helpers.GetMainWindow()); return(result); }
// 预保存文件:传入文件后缀(如sbid/xml/png),返回文件路径 public static async Task <string> GetSaveFileName(string suffix) { SaveFileDialog dialog = new SaveFileDialog(); dialog.Filters.Add(new FileDialogFilter() { Name = suffix + "文件", Extensions = { suffix } }); string result = await dialog.ShowAsync(mainWindowV); // Linux bugfix:某些平台输入文件名不会自动补全.sbid后缀名,这里判断一下手动补上 if (string.IsNullOrEmpty(result) || result.EndsWith("." + suffix)) { return(result); } return(result + "." + suffix); }
private async void MenuSave_Click(object?sender, RoutedEventArgs e) { if (modified && bundleInst != null) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save as..."; string file = await sfd.ShowAsync(this); if (file == null) { return; } SaveBundle(bundleInst, file); } }
public override async Task <bool> Save(DecompilerTextView textView) { EmbeddedResource er = this.Resource as EmbeddedResource; if (er != null) { SaveFileDialog dlg = new SaveFileDialog(); dlg.InitialFileName = DecompilerTextView.CleanUpName(er.Name); dlg.Filters = new List <FileDialogFilter>() { new FileDialogFilter() { Name = "Resources file(*.resources)", Extensions = { "resources" } }, new FileDialogFilter() { Name = "Resource XML file(*.resx)", Extensions = { "resx" } } }; var filename = await dlg.ShowAsync(App.Current.MainWindow); if (!string.IsNullOrEmpty(filename)) { Stream s = er.GetResourceStream(); s.Position = 0; if (filename.Contains("resources")) { using (var fs = File.OpenWrite(filename)) { s.CopyTo(fs); } } else { using (var writer = new ResXResourceWriter(File.OpenWrite(filename))) { foreach (var entry in new ResourcesFile(s)) { writer.AddResource(entry.Key, entry.Value); } } } } return(true); } return(false); }
// 预保存文件:返回文件路径 private async Task <string> GetSaveFileName() { SaveFileDialog dialog = new SaveFileDialog(); dialog.Filters.Add(new FileDialogFilter() { Name = "图片文件", Extensions = { "png" } }); string result = await dialog.ShowAsync(ResourceManager.mainWindowV); // Linux bugfix:某些平台输入文件名不会自动补全.sbid后缀名,这里判断一下手动补上 if (string.IsNullOrEmpty(result) || result.EndsWith(".png")) { return(result); } return(result + ".png"); }
public async Task <string> GetSaveImagePath() { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.DefaultExtension = "png"; saveFileDialog.Filters.Add(new FileDialogFilter() { Name = "Image", Extensions = { "png", "jpg", "jpeg", "bmp" } }); string result = await saveFileDialog.ShowAsync(this); if (result == null || result == "") { return(null); } return(result); }
public static async Task <string> SaveFileDialog(this IControl control, string title, string fileExtension, string fileTypeDescription) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = title; sfd.Filters.Clear(); sfd.Filters.Add(new FileDialogFilter() { Extensions = new List <string> { fileExtension }, Name = fileTypeDescription }); Window window = control.GetParentWindow(); string file = await sfd.ShowAsync(window); return(file); }
public static async Task Save(TopLevel root) { var dlg = new SaveFileDialog() { Title = "Save" }; dlg.Filters.Add(new FileDialogFilter() { Name = "Png", Extensions = { "png" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "Svg", Extensions = { "svg" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "Pdf", Extensions = { "pdf" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "Xps", Extensions = { "xps" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "Skp", Extensions = { "skp" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } }); dlg.InitialFileName = "screenshot"; dlg.DefaultExtension = "png"; if (root is not Window window) { return; } var result = await dlg.ShowAsync(window); if (result is { } path) { Save(root, root.Bounds.Size, path); } }
private async void SaveFileAsync() { SaveFileDialog sfd = new SaveFileDialog(); string s = await sfd.ShowAsync(this); if (string.IsNullOrEmpty(s)) { return; } try { File.WriteAllText(s, tbxText.Text); } catch (Exception e) { MessageBox.ShowDialog(e.Message, "Error"); } }
private async Task ShowFileDialog() { SaveFileDialog dialog = new SaveFileDialog(); dialog.Title = ""; if (!string.IsNullOrEmpty(ViewModel.Filename)) { dialog.InitialDirectory = System.IO.Path.GetDirectoryName(ViewModel.Filename); } else { dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); } dialog.InitialFileName = "pvserve.txt"; ViewModel.Filename = await dialog.ShowAsync(this); }
private static Task AvaloniaSaveFile(Window parent) { var dialog = new SaveFileDialog() { Directory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), Filters = new List <FileDialogFilter>() { new FileDialogFilter() { Name = "Picture files", Extensions = new List <string>() { "png", "jpg" } } } }; return(dialog.ShowAsync(parent)); }
public async Task <string> AskUserForSavePath() { SaveFileDialog dialog = new SaveFileDialog(); dialog.DefaultExtension = "csv"; dialog.InitialFileName = "CodeCoverage"; dialog.Title = "Save metrics file"; dialog.Filters.Add(new FileDialogFilter() { Name = "Metrics file", Extensions = { "csv" } }); string result = await dialog.ShowAsync(window); return(((result != null) && (result.Length > 0)) ? result : ""); }
private async Task <string> SaveVideoFileDialogAsync() { SaveFileDialog sfd = new SaveFileDialog(); sfd.InitialFileName = "video.mp4"; sfd.DefaultExtension = ".mp4"; var exts = new string[] { "mp4", "avi", "wmv", "wma", "mp3", "ogg" }; foreach (var extension in exts) { var filter = new FileDialogFilter(); filter.Name = extension.ToUpperInvariant(); filter.Extensions.Add(extension); sfd.Filters.Add(filter); } return(await sfd.ShowAsync(this)); }
public async void ExportClick(object sender, RoutedEventArgs e) { TextBoxModel context = (DataContext as TextBoxModel); SaveFileDialog dialog = new SaveFileDialog(); FileDialogFilter filter = new FileDialogFilter(); filter.Extensions = new string[] { "bin", "txt", "" }.ToList(); filter.Name = "Name"; List <FileDialogFilter> list = new List <FileDialogFilter>(); list.Add(filter); dialog.Filters = list; string fileName = await dialog.ShowAsync(this); //Save as txt file. if (fileName.Contains(".txt")) { using (StreamWriter writer = new StreamWriter(fileName)) { await writer.WriteAsync(context.OutputText); await writer.FlushAsync(); } } //Save as .bin file else if (fileName.Contains(".bin")) { using (StreamWriter writer = new StreamWriter(fileName)) { for (int i = 0; i < context.OutputText.Length - 1; i += 2) { await writer.WriteAsync((char)Convert.ToByte($"{context.OutputText[i]}{context.OutputText[i + 1]}", 16)); } await writer.FlushAsync(); } } }
public async Task <string> SaveFileDialog(string?aktiveDatei) { var dialog = new SaveFileDialog() { Directory = Path.GetDirectoryName(aktiveDatei), DefaultExtension = "ledp", InitialFileName = Path.GetFileName(aktiveDatei) }; dialog.Title = "Datei Speichern"; dialog.Filters.Add(new FileDialogFilter() { Extensions = { "ledp" }, Name = "LEDerZaumZeug-Programme" }); string strs = await dialog.ShowAsync(MainWindow); return(strs); //Avalonia.Dialogs.ManagedFileDialogExtensions.UseManagedSystemDialogs() }
private async void AskLoadCompressedBundle(BundleFileInstance bundleInst) { const string fileOption = "File"; const string memoryOption = "Memory"; const string cancelOption = "Cancel"; string result = await MessageBoxUtil.ShowDialogCustom( this, "Note", "This bundle is compressed. Decompress to file or memory?", fileOption, memoryOption, cancelOption); if (result == fileOption) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "Save as..."; sfd.Filters = new List <FileDialogFilter>() { new FileDialogFilter() { Name = "All files", Extensions = new List <string>() { "*" } } }; string savePath = await sfd.ShowAsync(this); if (savePath == null) { return; } DecompressToFile(bundleInst, savePath); } else if (result == memoryOption) { DecompressToMemory(bundleInst); } else //if (result == cancelOption || result == closeOption) { return; } LoadBundle(bundleInst); }
private async void BrowseButton_Click(object sender, RoutedEventArgs e) { var dialog = new SaveFileDialog() { Filters = new List <FileDialogFilter>() { new FileDialogFilter() { Name = "CSV Files", Extensions = new List <string>() { "csv" } } }, InitialFileName = "output.csv", }; var path = await dialog.ShowAsync((Window)this.GetVisualRoot()); this.PathText.Text = path; }
private async void btSaveSnapshot_Click(object sender, RoutedEventArgs e) { var sfd = new SaveFileDialog(); sfd.InitialFileName = "frame.jpg"; sfd.DefaultExtension = ".jpg"; var filter = new FileDialogFilter(); filter.Name = "JPEG image"; filter.Extensions.Add("jpg"); sfd.Filters.Add(filter); var file = await sfd.ShowAsync(this); if (!string.IsNullOrEmpty(file)) { await _player.Snapshot_SaveAsync(file, ImageFormat.Jpeg); } }
private async void SaveAs(object sender, RoutedEventArgs args) { var dialog = new SaveFileDialog { Title = "Save BetterHades-File", DefaultExtension = "bhds", InitialFileName = "Unnamed", Filters = _filters, Directory = Environment.CurrentDirectory }; var result = await dialog.ShowAsync(this); if (result == null) { return; } FileHandler.Save(result); _saveButton.IsEnabled = true; Config.AddFileToHistory(result); }