示例#1
0
        public bool LoadFile(string file)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(file))
                {
                    NewFile();
                    return(true);
                }
                var parts     = file.Split(new[] { '|' }, 2);
                var filename  = parts[0] ?? "";
                var offset    = ConvertToOffset(parts.Length == 2 ? parts[1] : "0");
                var isWordDoc = Path.GetExtension(filename).Equals(".docx", StringComparison.OrdinalIgnoreCase);

                if (isWordDoc)
                {
                    NewFile();
                    EditBox.Text = ConvertText.FromMicrosoftWord(filename);
                    return(true);
                }

                EditBox.Text = File.ReadAllText(filename);

                if (App.UserSettings.EditorOpenLastCursorPosition)
                {
                    EditBox.ScrollToLine(EditBox.Document.GetLineByOffset(offset)?.LineNumber ?? 0);
                    EditBox.SelectionStart = offset;
                }
                else
                {
                    EditBox.ScrollToHome();
                }

                Settings.Default.LastOpenFile = file;
                RecentFilesDialog.UpdateRecentFiles(filename, offset);
                IsModified = false;
                FileName   = filename;
                return(true);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, App.Title, MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
        }
示例#2
0
 private void Convert_Click(object sender, EventArgs e)
 {
     ConvertText?.Invoke(this, EventArgs.Empty);
 }
示例#3
0
 public string ConvertToHtml(string markdown, bool resolveUrls = false)
 {
     return(ConvertText.Pandoc(markdown, "-f markdown_github -t html5"));
 }