public void OpenFile(string filename) { BeginUpdate(); bool _succes = false; FileReadResult readResult; CodeSnippetCollection _collection = ReadCollection(filename, out readResult); switch (readResult) { case FileReadResult.ErrorUnknownIdentifier: case FileReadResult.ErrorVersionToOld: case FileReadResult.ErrorReadingFile: FileHelperLegacy.OpenFileLegacy(this, filename, _passwordHelper, _mainform, TreeHelper, out _succes); EndUpdate(); return; case FileReadResult.FileNotFound: case FileReadResult.OpenCanceled: if (CodeLib.Instance.CodeSnippets.Count == 0) { NewDoc(true); } EndUpdate(); return; } CodeLib.Instance.Load(_collection); if (!CodeLib.Instance.CodeSnippets.ContainsKey(Constants.TRASHCAN)) { CodeLib.Instance.CodeSnippets.Add(CodeSnippet.TrashcanSnippet()); } if (!CodeLib.Instance.CodeSnippets.ContainsKey(Constants.CLIPBOARDMONITOR)) { CodeLib.Instance.CodeSnippets.Add(CodeSnippet.ClipboardMonitorSnippet()); } CodeCollectionToForm(string.Empty); EndUpdate(); TreeHelper.FindNodeByPath(_collection.LastSelected); Config.LastOpenedFile = filename; FileInfo fi = new FileInfo(filename); Config.LastOpenedDir = fi.Directory.FullName; CurrentFile = filename; CodeLib.Instance.Changed = false; _lastOpenedDate = DateTime.Now; SetTitle(); }
public static void OpenFileLegacy(FileHelper fileHelper, string filename, PasswordHelper passwordHelper, FormCodeLibrary mainform, TreeviewHelper TreeHelper, out bool _succes) { // Legacy CodeSnippetCollectionOld _collectionOld = ReadCollectionLegacy2(filename, passwordHelper.Password, passwordHelper, mainform, out _succes); if (_succes == false) { // Double Legacy _collectionOld = ReadCollectionLegacy1(filename, passwordHelper.Password, out _succes); } if (_succes == false) { MessageBox.Show($"Could not open the file '{filename}'", "Error opening file", MessageBoxButtons.OK, MessageBoxIcon.Error); fileHelper.NewDoc(); fileHelper.EndUpdate(); return; } CodeLib.Instance.LoadLegacy(_collectionOld); if (!CodeLib.Instance.CodeSnippets.ContainsKey(Constants.TRASHCAN)) { CodeLib.Instance.CodeSnippets.Add(CodeSnippet.TrashcanSnippet()); } if (!CodeLib.Instance.CodeSnippets.ContainsKey(Constants.CLIPBOARDMONITOR)) { CodeLib.Instance.CodeSnippets.Add(CodeSnippet.ClipboardMonitorSnippet()); } fileHelper.CodeCollectionToForm(string.Empty); fileHelper.EndUpdate(); TreeHelper.FindNodeByPath(_collectionOld.LastSelected); Config.LastOpenedFile = filename; FileInfo fi = new FileInfo(filename); Config.LastOpenedDir = fi.Directory.FullName; fileHelper.CurrentFile = filename; CodeLib.Instance.Changed = false; fileHelper._lastOpenedDate = DateTime.Now; fileHelper.SetTitle(); _succes = true; }