private void createSnippetToolStripMenuItem_Click(object sender, EventArgs e) { SnipNode sn = new SnipNode { Path = null, IsFolder = false }; TreeNode tn = new TreeNode { Tag = sn }; if (treeView1.SelectedNode != null) { if ((treeView1.SelectedNode.Tag as SnipNode).IsFolder) { treeView1.SelectedNode.Nodes.Add(tn); } else if (treeView1.SelectedNode.Parent != null) { treeView1.SelectedNode.Parent.Nodes.Add(tn); } else { treeView1.Nodes.Add(tn); } } else { treeView1.Nodes.Add(tn); } tn.BeginEdit(); }
private void removeToolStripMenuItem_Click(object sender, EventArgs e) { if (treeView1.SelectedNode == null) { return; } SnipNode sn = treeView1.SelectedNode.Tag as SnipNode; treeView1.SelectedNode.Remove(); try { if (sn.IsFolder) { Directory.Delete(sn.Path, true); } else { File.Delete(sn.Path); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { if (treeView1.SelectedNode != null) { SnipNode sn = treeView1.SelectedNode.Tag as SnipNode; openToolStripMenuItem.Enabled = !sn.IsFolder; renameToolStripMenuItem.Enabled = true; createFolderToolStripMenuItem.Enabled = true; removeToolStripMenuItem.Enabled = true; } else { removeToolStripMenuItem.Enabled = false; openToolStripMenuItem.Enabled = false; renameToolStripMenuItem.Enabled = false; createFolderToolStripMenuItem.Enabled = false; } }
private void createFolderToolStripMenuItem_Click(object sender, EventArgs e) { SnipNode sn = new SnipNode { Path = null, IsFolder = true }; TreeNode tn = new TreeNode { Tag = sn }; if (treeView1.SelectedNode != null) { if ((treeView1.SelectedNode.Tag as SnipNode).IsFolder) { treeView1.SelectedNode.Nodes.Add(tn); } else if (treeView1.SelectedNode.Parent != null) { treeView1.SelectedNode.Parent.Nodes.Add(tn); } else { treeView1.Nodes.Add(tn); } } else { treeView1.Nodes.Add(tn); } if (tn.Parent != null) { this.Invoke(new Action(tn.Parent.Expand)); } this.Invoke(new Action(tn.BeginEdit)); }
private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { e.CancelEdit = true; if (e.Label == null) { return; } SnipNode sn = e.Node.Tag as SnipNode; if (sn.IsFolder) { try { if (sn.Path != null) { DirectoryInfo di = new DirectoryInfo(sn.Path); di.MoveTo(Path.Combine(di.Parent.FullName, e.Label)); } else { String path = Path.Combine(e.Node.Parent == null ? MainForm.SnippetPath : (e.Node.Parent.Tag as SnipNode).Path, e.Label); Directory.CreateDirectory(path); sn.Path = path; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); e.CancelEdit = true; e.Node.Remove(); return; } e.Node.Text = "[Folder]{0}".Fmt(e.Label); } else { try { if (sn.Path != null) { FileInfo fi = new FileInfo(sn.Path); fi.MoveTo(Path.Combine(fi.DirectoryName, e.Label)); } else { String path = Path.Combine(e.Node.Parent == null ? MainForm.SnippetPath : (e.Node.Parent.Tag as SnipNode).Path, e.Label); using (StreamWriter sw = new StreamWriter(path)) sw.Write(richTextBoxInput.Text); sn.Path = path; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); e.CancelEdit = true; e.Node.Remove(); return; } e.Node.Text = e.Label; } }