public void MenuAddDirectory_Click(object sender, RoutedEventArgs e) { var selected = TreeFolderBrowser.SelectedItem as PathItem; if (selected == null || selected.Parent == null) { // No files/folders selected = new PathItem() { IsFolder = true, FullPath = Sidebar.FolderPath, Parent = Sidebar.ActivePathItem.Parent, Files = Sidebar.ActivePathItem.Files }; Sidebar.ActivePathItem = selected; } string path; if (!selected.IsFolder) { path = Path.Combine(Path.GetDirectoryName(selected.FullPath), "NewFolder"); } else { var treeItem = Sidebar.GetTreeviewItem(selected); if (treeItem != null) { treeItem.IsExpanded = true; } path = Path.Combine(selected.FullPath, "NewFolder"); } var item = new PathItem { FullPath = path, IsFolder = true, IsEditing = true, IsSelected = true }; item.SetIcon(); if (!selected.IsFolder) { item.Parent = selected.Parent; } else { item.Parent = selected; } item.Parent.Files.Insert(0, item); Sidebar.SetTreeViewSelectionByItem(item); }
public void MenuRenameFile_Click(object sender, RoutedEventArgs e) { var selected = TreeFolderBrowser.SelectedItem as PathItem; if (selected == null) { return; } // Start Editing the file name selected.EditName = selected.DisplayName; selected.IsEditing = true; var tvItem = Sidebar.GetTreeviewItem(selected); if (tvItem != null) { var tb = WindowUtilities.FindVisualChild <TextBox>(tvItem); tb?.Focus(); } }
public void MenuAddFile_Click(object sender, RoutedEventArgs e) { var selected = TreeFolderBrowser.SelectedItem as PathItem; if (selected == null) { // No files/folders selected = new PathItem() { IsFolder = true, FullPath = Sidebar.FolderPath }; Sidebar.ActivePathItem = selected; } string path; TreeViewItem parentTreeViewItem = Sidebar.GetTreeviewItem(selected); if (selected.FullPath == "..") { path = Path.Combine(Sidebar.FolderPath, "README.md"); } else if (!selected.IsFolder) { path = Path.Combine(Path.GetDirectoryName(selected.FullPath), "README.md"); } else { if (parentTreeViewItem != null) { parentTreeViewItem.IsExpanded = true; } path = Path.Combine(selected.FullPath, "README.md"); } if (File.Exists(path)) { path = Path.Combine(Path.GetDirectoryName(path), "NewFile.md"); if (File.Exists(path)) { for (int i = 1; i < 30; i++) { path = Path.Combine(Path.GetDirectoryName(path), $"NewFile{i}.md"); if (!File.Exists(path)) { break; } } } } var item = new PathItem { FullPath = path, IsFolder = false, IsFile = true, IsEditing = true, IsSelected = true }; item.EditName = item.DisplayName; item.SetIcon(); if (selected.FullPath == "..") { item.Parent = Sidebar.ActivePathItem; // current path } else if (!selected.IsFolder) { item.Parent = selected.Parent; } else { item.Parent = selected; } item.Parent.Files.Insert(0, item); Sidebar.SetTreeViewSelectionByItem(item, parentTreeViewItem); }