private static async Task DoSaveAs(IPersistedDocument persistedDocument) { // Show user dialog to choose filename. var dialog = new SaveFileDialog(); dialog.FileName = persistedDocument.FileName; var filter = string.Empty; var fileExtension = Path.GetExtension(persistedDocument.FileName); var fileType = IoC.GetAll <IEditorProvider>() .SelectMany(x => x.FileTypes) .SingleOrDefault(x => x.FileExtension == fileExtension); if (fileType != null) { filter = fileType.Name + "|*" + fileType.FileExtension + "|"; } filter += "All Files|*.*"; dialog.Filter = filter; if (dialog.ShowDialog() != true) { return; } var filePath = dialog.FileName; // Save file. await persistedDocument.Save(filePath); }
private void SetPresence(IPersistedDocument persistedDocument) { Client.SetPresence(new RichPresence() { Details = SolutionExplorer.SelectedProject.Name, State = persistedDocument.FileName, Assets = new Assets() { LargeImageKey = "factridesolution", LargeImageText = "Factorio IDE", SmallImageKey = System.IO.Path.GetExtension(persistedDocument.FileName) switch { ".lua" => "luafile", ".md" => "markdownfile", ".zip" => "zipfile", "" => "textfile", ".txt" => "textfile", ".cfg" => "textfile", ".png" => "image", ".bmp" => "image", ".jpeg" => "image", ".jpg" => "image", ".fms" => "factridesolution", _ => "" },