Пример #1
0
 private void DeleteFolder(TMFolderNode folderNode)
 {
     _treeViewFileSystem.Nodes.Remove(folderNode);
     _project.FileSystem.Remove(folderNode.Folder);
     this.UpdateFileListView();
     this.OnDataChanged();
 }
Пример #2
0
        private void AddFolder(TMFolderNode folderNode)
        {
            AddFolderForm form = new AddFolderForm();

            if (form.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            folderNode.Folder.Folders.Add(new TMFolder(form.FolderName, folderNode.Folder));
            this.UpdateTreeView();
            this.OnDataChanged();
        }
Пример #3
0
        protected override void OnBeforeSelect(TreeViewCancelEventArgs e)
        {
            TMFolderNode tmNode = e.Node as TMFolderNode;

            if (tmNode != null)
            {
                if (_savedSelecNode != null)
                {
                    _savedSelecNode.SetDirectoryState(_savedSelecNode.IsExpanded);
                }
                tmNode.SetDirectoryState(true);
                _savedSelecNode = tmNode;
            }

            base.OnBeforeSelect(e);
        }
Пример #4
0
 private TMFolderNode GetNode(TreeNodeCollection nodes, TMFolder folder)
 {
     foreach (TreeNode node in nodes)
     {
         TMFolderNode folderNode = node as TMFolderNode;
         if (folderNode != null)
         {
             if (folder.FullName == folderNode.Folder.FullName)
             {
                 return(folderNode);
             }
         }
         folderNode = this.GetNode(node.Nodes, folder);
         if (folderNode != null)
         {
             return(folderNode);
         }
     }
     return(null);
 }
Пример #5
0
        public void ShowError(TMFile file)
        {
            TMFolderNode node = this.GetNode(this._treeViewFileSystem.Nodes, file.Folder);

            if (node == null)
            {
                return;
            }

            _treeViewFileSystem.SelectedNode = node;

            foreach (ListViewItem lvi in _lstDetails.Items)
            {
                TMFileListViewItem flvi = lvi as TMFileListViewItem;
                if (flvi != null && flvi.File.FullName == file.FullName)
                {
                    flvi.Selected = true;
                    _lstDetails.Focus();
                    break;
                }
            }
        }
Пример #6
0
 private void UpdateFileListView(TreeNode node)
 {
     _lstDetails.Items.Clear();
     if (node == _treeViewFileSystem.Nodes[0])
     {
         foreach (TMRootFolder rootFolder in _project.FileSystem)
         {
             this.ViewDetail(rootFolder);
         }
     }
     else if (node is TMFolderNode)
     {
         TMFolderNode folderNode = node as TMFolderNode;
         foreach (TMFolder folder in folderNode.Folder.Folders)
         {
             this.ViewDetail(folder);
         }
         foreach (TMFile file in folderNode.Folder.Files)
         {
             this.ViewDetail(file);
         }
     }
 }
Пример #7
0
        private void tvCMMenuItem_Click(object sender, EventArgs e)
        {
            if (sender is TMSpecFolderMenuItem)
            {
                TMSpecFolderMenuItem menuItem   = sender as TMSpecFolderMenuItem;
                TMRootFolder         rootFolder = new TMRootFolder(menuItem.SpecialFolder);

                _project.FileSystem.Add(rootFolder);
                _treeViewFileSystem.Nodes[0].Nodes.Add(new TMRootFolderNode(rootFolder));
                this.OnDataChanged();
            }
            else if (sender is TMContextMenuItem)
            {
                TMContextMenuItem menuItem   = sender as TMContextMenuItem;
                TMFolderNode      folderNode = this._treeViewFileSystem.SelectedNode as TMFolderNode;
                if (folderNode == null || menuItem == null)
                {
                    return;
                }

                switch (menuItem.Action)
                {
                case TMContextMenuAction.Delete:
                    this.DeleteFolder(folderNode);
                    break;

                case TMContextMenuAction.AddFile:
                    this.AddFile(folderNode.Folder);
                    break;

                case TMContextMenuAction.AddFolder:
                    this.AddFolder(folderNode);
                    break;
                }
            }
        }