Exemplo n.º 1
0
        /// <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()));
        }
Exemplo n.º 2
0
        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
                            );
                    }
                }
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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());
                    }
            }
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        /// <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&lt;System.String&gt;.</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);
        }
Exemplo n.º 13
0
        // 预保存文件:传入文件后缀(如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);
        }
Exemplo n.º 14
0
        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);
            }
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        // 预保存文件:返回文件路径
        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");
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
    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");
            }
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
        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));
        }
Exemplo n.º 23
0
        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();
                }
            }
        }
Exemplo n.º 26
0
        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()
        }
Exemplo n.º 27
0
        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);
            }
        }
Exemplo n.º 30
0
        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);
        }