Example #1
0
        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;
        }
Example #3
0
        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]);
        }