コード例 #1
0
        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();
        }
コード例 #2
0
        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());
            }
        }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
        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));
        }
コード例 #5
0
        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;
            }
        }