public NotesViewHierachical() { App.Logger.Trace("NotesViewHierachical", ".ctr()"); _displayItems = new HierachicalWrapper_Folder("ROOT", this, DirectoryPath.Root(), true, false); InitializeComponent(); RootGrid.DataContext = this; }
public NotesViewHierachical() { App.Logger.Trace("NotesViewHierachical", ".ctr()"); SetCurrentValue(SelectedNotesListProperty, new ObservableCollection <INote>()); _displayItems = new HierachicalWrapper_Folder("ROOT", this, DirectoryPath.Root(), true, false); InitializeComponent(); RootGrid.DataContext = this; }
private void ResyncDisplayItems(IList <INote> notes) { App.Logger.Trace("NotesViewHierachical", "ResyncDisplayItems", string.Join("\n", notes.Select(n => $"{n.UniqueName} {n.Title}"))); HierachicalWrapper_Folder root = new HierachicalWrapper_Folder("ROOT", this, DirectoryPath.Root(), true, false); if (Settings?.FolderViewShowRootNode == true) { var root2 = root.GetOrCreateRootFolder(); foreach (var note in notes) { var parent = root2; foreach (var pathcomp in note.Path.Enumerate()) { parent = parent.GetOrCreateFolder(pathcomp, out _); } parent.Add(note); } } else { foreach (var note in notes) { var parent = root; foreach (var pathcomp in note.Path.Enumerate()) { parent = parent.GetOrCreateFolder(pathcomp, out _); } parent.Add(note); } } DisplayItems.CopyPermanentsTo(root); root.Sort(); root.FinalizeCollection(Settings?.DeepFolderView ?? false); DisplayItems.Sync(root, new HierachicalWrapper_Folder[0]); }