Exemple #1
0
        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);
        }
Exemple #2
0
        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",
                        _ => ""
                    },