private void button1_Click(object sender, EventArgs e) { if (!Directory.Exists(tb_Path.Text)) { ShowLog(lbl_Log, "目标目录不存在"); return; } if (listView2.Items.Count > 0) { try { foreach (ListViewItem item in listView2.Items) { ProjectItemInfo info = item.Tag as ProjectItemInfo; if (File.Exists(info._filePath)) { File.Copy(info._filePath, Path.Combine(tb_Path.Text, Path.GetFileName(info._filePath))); } } ShowLog(lbl_Log, "复制完毕"); } catch (Exception ex) { MessageBox.Show("复制文件失败\r\n" + ex.StackTrace); } } }
private void SetParentProperties(ProjectItemInfo item) { if (item == null) { return; } if (this._TopFolder == null) { return; } if (item.Path == this._TopFolder.Path) { return; } if (item.Parent == null) { return; } item.Parent.Handled = true; if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.Checked == true)) { item.Parent.Checked = true; } else if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.Checked == false)) { item.Parent.Checked = false; } else { item.Parent.Checked = null; } if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.SyncTemplate == true)) { item.Parent.SyncTemplate = true; } else if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.SyncTemplate == false)) { item.Parent.SyncTemplate = false; } else { item.Parent.SyncTemplate = null; } item.Parent.Handled = false; this.SetParentProperties(item.Parent); }
//从一个ListView过滤项到ProjectItemInfo集 private void FilterListToListItem(ListView view1, string filterStr, ref List <ProjectItemInfo> list) { foreach (ListViewItem item in view1.Items) { ProjectItemInfo info = item.Tag as ProjectItemInfo; if (System.IO.Path.GetFileName(info._filePath).ToLower().StartsWith(filterStr.ToLower())) { list.Add(info); } } }
public override ProjectItemInfo OnGetInfo() { var projectItemInfo = new ProjectItemInfo { Name = this.Name, Path = this.Path, Type = QuakeProjectItemContainer.ContainerName }; return(projectItemInfo); }
public override bool IsContainer => false; //true; public override ProjectItemInfo OnGetInfo() { var projectItemInfo = new ProjectItemInfo { Name = Name, Path = Path, Type = ProSuiteProjectItemContainer.ContainerName }; return(projectItemInfo); }
//按过滤输入行内容过滤当前文件表 private void FilterList(ListView listView) { List <ProjectItemInfo> list = new List <ProjectItemInfo>(); foreach (ListViewItem item in listView.Items) { ProjectItemInfo info = item.Tag as ProjectItemInfo; if (System.IO.Path.GetFileName(info._filePath).ToLower().StartsWith(textBox1.Text.ToLower())) { list.Add(info); } } FillList(listView, list, true); }
private void Window_Loaded(object sender, RoutedEventArgs e) { this._ProjectItem = this.CurrentProjectFolder; this._AllTree = Service.GetFileTree(this.CurrentProjectFolder, this.RootPath); this._TopFolder = this.CurrentProjectFolder; this.CurrentProjectFolder.Expand(); this.treeProjectFolder.ItemsSource = this._AllTree; this.cbRoles.ItemsSource = Enum.GetValues(typeof(ProjectFolderRole)).Cast <ProjectFolderRole>(); this.cbRoles.SelectedValue = this.CurrentProjectFolder.ProjectFolderRole; this.cbRoles.IsEnabled = true; this.SetVisibility(this.CurrentProjectFolder.ProjectFolderRole); this.SetForm(); }
//获取当前打开文件列表 private List <ProjectItemInfo> GetCurOpenFileInfo() { try { List <ProjectItemInfo> infos = new List <ProjectItemInfo>(); foreach (Document doc in _dte.ActiveDocument.Collection) { ProjectItemInfo info = new ProjectItemInfo(doc.ProjectItem.ContainingProject.Name, doc.FullName); infos.Add(info); } return(infos); } catch (Exception) { //没打开文档就为空,有打开文档还获取不到则报错 if (_dte.ActiveDocument != null) { ShowLog(lbl_Log, "获取文件列表出错"); } return(new List <ProjectItemInfo>()); } }
private void TreeViewItem_Selected(object sender, RoutedEventArgs e) { this._ProjectItem = ((TreeViewItem)e.OriginalSource).DataContext as ProjectItemInfo; if (this._ProjectItem == null) { return; } ProjectFolderInfo selectedFolder = Service.GetSelectedFolderFromTree(this._AllTree); if (selectedFolder != null) { this._TopFolder = selectedFolder; } if (this._TopFolder != null) { this.SetVisibility(this._TopFolder.ProjectFolderRole); } this.SetForm(); }
private void TreeViewItem_Checked(object sender, RoutedEventArgs e) { this._ProjectItem = ((CheckBox)e.OriginalSource).DataContext as ProjectItemInfo; if (this._ProjectItem == null) { return; } if (this._ProjectItem.Handled) { return; } ProjectFolderInfo selectedFolder = Service.GetSelectedFolderFromTree(this._AllTree); if (selectedFolder != null) { this._TopFolder = selectedFolder; } this.SetChildProperties(this._ProjectItem as ProjectFolderInfo); this.SetParentProperties(this._ProjectItem); }
private void Window_Loaded(object sender, RoutedEventArgs e) { this._ProjectItem = this.CurrentProjectFolder; this._AllTree = Service.GetFileTree(this.CurrentProjectFolder, this.RootPath); this._TopFolder = this.CurrentProjectFolder; this.CurrentProjectFolder.Expand(); this.treeProjectFolder.ItemsSource = this._AllTree; this.cbRoles.ItemsSource = Enum.GetValues(typeof(ProjectFolderRole)).Cast<ProjectFolderRole>(); this.cbRoles.SelectedValue = this.CurrentProjectFolder.ProjectFolderRole; this.cbRoles.IsEnabled = true; this.SetVisibility(this.CurrentProjectFolder.ProjectFolderRole); this.SetForm(); }
private void TreeViewItem_Selected(object sender, RoutedEventArgs e) { this._ProjectItem = ((TreeViewItem)e.OriginalSource).DataContext as ProjectItemInfo; if (this._ProjectItem == null) return; ProjectFolderInfo selectedFolder = Service.GetSelectedFolderFromTree(this._AllTree); if (selectedFolder != null) this._TopFolder = selectedFolder; if (this._TopFolder != null) this.SetVisibility(this._TopFolder.ProjectFolderRole); this.SetForm(); }
private void TreeViewItem_Checked(object sender, RoutedEventArgs e) { this._ProjectItem = ((CheckBox)e.OriginalSource).DataContext as ProjectItemInfo; if (this._ProjectItem == null) return; if (this._ProjectItem.Handled) return; ProjectFolderInfo selectedFolder = Service.GetSelectedFolderFromTree(this._AllTree); if (selectedFolder != null) this._TopFolder = selectedFolder; this.SetChildProperties(this._ProjectItem as ProjectFolderInfo); this.SetParentProperties(this._ProjectItem); }
private void SetParentProperties(ProjectItemInfo item) { if (item == null) return; if (this._TopFolder == null) return; if (item.Path == this._TopFolder.Path) return; if (item.Parent == null) return; item.Parent.Handled = true; if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.Checked == true)) { item.Parent.Checked = true; } else if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.Checked == false)) { item.Parent.Checked = false; } else { item.Parent.Checked = null; } if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.SyncTemplate == true)) { item.Parent.SyncTemplate = true; } else if (item.Parent.ChildItems != null && item.Parent.ChildItems.All(x => x.SyncTemplate == false)) { item.Parent.SyncTemplate = false; } else { item.Parent.SyncTemplate = null; } item.Parent.Handled = false; this.SetParentProperties(item.Parent); }
//��ȡ��ǰ���ļ��б� private List<ProjectItemInfo> GetCurOpenFileInfo() { try { List<ProjectItemInfo> infos = new List<ProjectItemInfo>(); foreach (Document doc in _dte.ActiveDocument.Collection) { ProjectItemInfo info = new ProjectItemInfo(doc.ProjectItem.ContainingProject.Name, doc.FullName); infos.Add(info); } return infos; } catch (Exception) { //û���ĵ���Ϊ�գ��д��ĵ�����ȡ������ if (_dte.ActiveDocument != null) ShowLog(lbl_Log, "��ȡ�ļ��б����"); return new List<ProjectItemInfo>(); } }