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 ActionResult Index() { var model = new CodeSnippetCollection( mapDirectory("/content/src/quickstart"), mapDirectory("/content/src/codeproject"), mapDirectory("/content/src/codeproject_exchange") ); return(View(model)); }
internal PreDefinedCodeSnippets() { string lang = GetLanguage(); if (lang == "python") //check if lang is python) { langCollection = new PythonCodeSnippets(); } else if (lang == "ironruby") { langCollection = new RubyCodeSnippets(); } }
private void Save(CodeSnippetCollection collection, string fileName) { SecureString usbKeyPW = null; SecureString _pw = null; FileEncyptionMode _encryptmode = FileEncyptionMode.DefaultEncryption; if (!string.IsNullOrEmpty(_passwordHelper.UsbKeyId)) { bool _canceled = false; byte[] _key = _passwordHelper.GetUsbKey(_passwordHelper.UsbKeyId, false, out _canceled); if (_canceled) { return; } usbKeyPW = StringCipher.ToSecureString(Utils.ByteArrayToString(_key)); } if (_passwordHelper.Password != null) { _pw = _passwordHelper.Password; _encryptmode = FileEncyptionMode.PasswordEncryption; } if (usbKeyPW != null) { _pw = usbKeyPW; _encryptmode = FileEncyptionMode.UsbKEYEncryption; } EncryptedBinaryFile <CodeSnippetCollection, FileHeader> _writer = new EncryptedBinaryFile <CodeSnippetCollection, FileHeader>(fileName, _pw); FileHeader _header = new FileHeader() { Version = Config.CurrentVersion().ToString(), FileEncyptionMode = _encryptmode, UsbKeyId = _passwordHelper.UsbKeyId }; try { _writer.Save(_header, collection); CodeLib.Instance.Changed = false; } catch (UnauthorizedAccessException) { MessageBox.Show(_mainform, $"Access to file '{fileName}' denied!.", "File error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } catch (Exception) { return; } }
public void FormToCodeLib() { CodeSnippetCollection collection = new CodeSnippetCollection { LastSaved = _lastOpenedDate }; FormToCodeCollection(_treeViewLibrary.Nodes); if (_treeViewLibrary.SelectedNode != null) { collection.LastSelected = _treeViewLibrary.SelectedNode.FullPath; } _mainform.SaveEditor(); CodeLib.Instance.Save(collection); }
internal static CodeSnippetCollection TryDecrypt(string data, SecureString password, out bool succes) { try { data = Utils.FromBase64(data); data = StringCipher.Decrypt(data, password); CodeSnippetCollection _collection = Utils.FromJson <CodeSnippetCollection>(data); succes = true; return(_collection); } catch (Exception) { } succes = false; return(null); }
private void AutoSaveFile() { string _fileName = GetAutoSaveFileName(); CodeSnippetCollection _collection = new CodeSnippetCollection { LastSaved = _lastOpenedDate, }; FormToCodeCollection(_treeViewLibrary.Nodes); if (_treeViewLibrary.SelectedNode != null) { _collection.LastSelected = _treeViewLibrary.SelectedNode.FullPath; } _mainform.SaveEditor(); CodeLib.Instance.Save(_collection); Save(_collection, _fileName); }
public void ExportLibrary() { FolderBrowserDialog _dialog = new FolderBrowserDialog(); _dialog.Description = "Export to:"; var _dialogResult = _dialog.ShowDialog(); if (_dialogResult == DialogResult.Cancel) { return; } CodeSnippetCollection _collection = new CodeSnippetCollection(); CodeLib.Instance.Save(_collection); CodeSnippetCollectionExporterService _export = new CodeSnippetCollectionExporterService(_dialog.SelectedPath, _collection); _export.Export(); }
public void SaveFile(bool saveas) { _textBoxHelper.SaveState(); string _selectedfile = CurrentFile; if (string.IsNullOrEmpty(_selectedfile)) { saveas = true; } if (saveas == true) { SaveFileDialog d = new SaveFileDialog { Filter = "json Files (*.json)|*.json|All Files (*.*)|*.*" }; DialogResult dr = d.ShowDialog(); if (dr == DialogResult.Cancel) { return; } _selectedfile = d.FileName; } StopWatch _watch = new StopWatch(); _watch.Start(); if (IsOverwritingNewerFile(_selectedfile)) { FormOverwrite f = new FormOverwrite(); f.ShowDialog(); switch (f.DlgResult) { case OverwriteMode.Cancel: return; case OverwriteMode.Overwrite: break; case OverwriteMode.Reload: Reload(); return; } } CurrentFile = _selectedfile; _lastOpenedDate = DateTime.Now; SetTitle(); CodeSnippetCollection _collection = new CodeSnippetCollection { LastSaved = _lastOpenedDate }; FormToCodeCollection(_treeViewLibrary.Nodes); if (_treeViewLibrary.SelectedNode != null) { _collection.LastSelected = _treeViewLibrary.SelectedNode.FullPath; } _mainform.SaveEditor(); CodeLib.Instance.Save(_collection); BackupHelper backupHelper = new BackupHelper(CurrentFile); backupHelper.Backup(); Save(_collection, _selectedfile); }
public CodeSnippetCollection ReadCollection(string filename, out FileReadResult readResult) { SecureString password = _passwordHelper.Password; string usbKeyId = null; readResult = FileReadResult.Succes; string _fileData = string.Empty; SecureString _usbKeyPassword = null; VersionNumber _minimalVersion = new VersionNumber(3, 0, 0, 0); CodeSnippetCollection _resultCollection = new CodeSnippetCollection(); FileHeader _header = null; try { EncryptedBinaryFile <CodeSnippetCollection, FileHeader> _readHeader = new EncryptedBinaryFile <CodeSnippetCollection, FileHeader>(filename, null); _header = _readHeader.ReadHeader(); if (!_header.Identifier.Equals(Constants.FILEHEADERIDENTIFIER)) { readResult = FileReadResult.ErrorUnknownIdentifier; return(null); } VersionNumber _fileVersion = new VersionNumber(_header.Version); if (_fileVersion < _minimalVersion) { readResult = FileReadResult.ErrorVersionToOld; return(null); } } catch { readResult = FileReadResult.ErrorReadingFile; return(null); } EncryptedBinaryFile <CodeSnippetCollection, FileHeader> _reader = new EncryptedBinaryFile <CodeSnippetCollection, FileHeader>(filename, null); switch (_header.FileEncyptionMode) { case FileEncyptionMode.DefaultEncryption: _reader = new EncryptedBinaryFile <CodeSnippetCollection, FileHeader>(filename, null); try { _passwordHelper.ClearPassWord(); _resultCollection = _reader.Read(); return(_resultCollection); // SUCCES } catch { readResult = FileReadResult.ErrorReadingFile; return(null); } case FileEncyptionMode.PasswordEncryption: retryPassword: _reader = new EncryptedBinaryFile <CodeSnippetCollection, FileHeader>(filename, password); try { _resultCollection = _reader.Read(); _passwordHelper.Password = password; _passwordHelper.UsbKeyId = null; _passwordHelper.ShowKey(); return(_resultCollection); // SUCCES } catch (FileLoadException) { _passwordHelper.ClearPassWord(); readResult = FileReadResult.ErrorReadingFile; return(null); } catch (FileNotFoundException) { _passwordHelper.ClearPassWord(); readResult = FileReadResult.ErrorReadingFile; return(null); } catch (Exception) { goto setPassword; } setPassword: FormSetPassword _formSet = new FormSetPassword(); DialogResult _dg = _formSet.ShowDialog(); if (_dg == DialogResult.OK) { password = _formSet.Password; goto retryPassword; } else { readResult = FileReadResult.OpenCanceled; return(null); } case FileEncyptionMode.UsbKEYEncryption: bool _canceled; usbKeyId = _header.UsbKeyId; byte[] _key = _passwordHelper.GetUsbKey(_header.UsbKeyId, false, out _canceled); if (_canceled) { readResult = FileReadResult.OpenCanceled; return(null); } _usbKeyPassword = StringCipher.ToSecureString(Utils.ByteArrayToString(_key)); _reader = new EncryptedBinaryFile <CodeSnippetCollection, FileHeader>(filename, _usbKeyPassword); try { _resultCollection = _reader.Read(); _passwordHelper.Password = null; _passwordHelper.UsbKeyId = _header.UsbKeyId; _passwordHelper.ShowKey(); return(_resultCollection); // SUCCES } catch { _passwordHelper.ClearPassWord(); readResult = FileReadResult.ErrorReadingFile; return(null); } } _passwordHelper.ClearPassWord(); readResult = FileReadResult.ErrorReadingFile; return(null); }
internal PreDefinedCodeSnippets() { string lang = GetLanguage(); if (lang == "python") {//check if lang is python) langCollection = new PythonCodeSnippets(); } else if (lang == "ironruby"){ langCollection = new RubyCodeSnippets(); } }
public CodeSnippetCollectionExporterService(string targetDirectory, CodeSnippetCollection collection) { _TargetDirectory = new DirectoryInfo(targetDirectory); _Collection = collection; }