private bool SelectedNoteContainerChanged(object p, NoteViewModel selected) { if (Hub.Instance.EncryptionManager.SecureNotesEnabled && !Hub.Instance.EncryptionManager.IsAuthenticated) { return(false); } object addedItem = null; SelectionChangedEventArgs selectionChangedEventArgs = p as SelectionChangedEventArgs; if (selectionChangedEventArgs != null) { SelectionChangedEventArgs args = selectionChangedEventArgs; if (args.AddedItems.Count > 0) { addedItem = args.AddedItems[0]; } } else if (p is NotebookViewModel) { addedItem = p; } var tag = addedItem as Tag; if (tag != null) { SelectedTag = tag; SelectedNotebook = null; SelectedMenuItem = null; MessengerInstance.Send(new ConfigureControlsForParnetType(ParentType.Tag)); } else if (addedItem is NotebookViewModel) { MessengerInstance.Send(new ConfigureControlsForParnetType(ParentType.Notebook)); SelectedTag = null; SelectedNotebook = (NotebookViewModel)addedItem; SelectedMenuItem = SelectedNotebook; } else if (addedItem is ListViewItem) { ListViewItem item = (ListViewItem)addedItem; switch (item.Name) { case "Favorites": SelectedMenuItem = _favoritesLibraryMenuItem; break; case "AllNotes": SelectedMenuItem = _allLibraryMenuItem; break; case "Trash": SelectedMenuItem = _trashLibraryMenuItem; break; case "Recent": SelectedMenuItem = _recentLibraryMenuItem; break; } SelectedTag = null; SelectedNotebook = null; MessengerInstance.Send(new ConfigureControlsForParnetType(ParentType.Library)); } if (SelectedNotebook != null || SelectedTag != null || SelectedMenuItem != null) { ReloadNoteList(selected); } return(true); }
private bool SelectedNoteContainerChanged(object p, NoteViewModel selected) { if (Hub.Instance.EncryptionManager.SecureNotesEnabled && !Hub.Instance.EncryptionManager.IsAuthenticated) { return(false); } object addedItem = null; SelectionChangedEventArgs selectionChangedEventArgs = p as SelectionChangedEventArgs; if (selectionChangedEventArgs != null) { SelectionChangedEventArgs args = selectionChangedEventArgs; if (args.AddedItems.Count > 0) { addedItem = args.AddedItems[0]; } } else if (p is NotebookMenuItem) { addedItem = p; } var tag = addedItem as Tag; if (tag != null) { MenuContext.SelectedTag = tag; MenuContext.SelectedNotebook = null; AddNoteButtonVisible = false; SelectedMenuItem = null; } else if (addedItem is NotebookMenuItem) { AddNoteButtonVisible = true; MenuContext.SelectedTag = null; MenuContext.SelectedNotebook = (NotebookMenuItem)addedItem; SelectedMenuItem = MenuContext.SelectedNotebook; } else if (addedItem is ListViewItem) { ListViewItem item = (ListViewItem)addedItem; switch (item.Name) { case "Favorites": SelectedMenuItem = _favoritesLibraryMenuItem; break; case "AllNotes": SelectedMenuItem = _allLibraryMenuItem; break; case "Trash": SelectedMenuItem = _trashLibraryMenuItem; break; case "Recent": SelectedMenuItem = _recentLibraryMenuItem; break; } MenuContext.SelectedTag = null; MenuContext.SelectedNotebook = null; AddNoteButtonVisible = false; } if (MenuContext.SelectedNotebook != null || MenuContext.SelectedTag != null || SelectedMenuItem != null) { ReloadNoteList(selected); } return(true); }
private bool ContainsTag(NoteViewModel model, string text) { return(model.Tags.Any(t => t.Text.Contains(text))); }
private void ReloadNoteList(NoteViewModel selected = null) { List <Note> notes = new List <Note>(); if (MenuContext.SelectedTag != null) { var tempNotes = Hub.Instance.Storage.GetAllNotes(); notes = tempNotes.Where(n => n.Tags.Contains(MenuContext.SelectedTag.Name)).Where(n => !n.InTrashCan).ToList(); } else if (MenuContext.SelectedNotebook != null) { notes = Hub.Instance.Storage.GetNotes(MenuContext.SelectedNotebook.Notebook).Where(n => !n.InTrashCan).ToList(); } else if (SelectedMenuItem is LibraryMenuItem) { if (SelectedMenuItem == _trashLibraryMenuItem) { var tempNotes = Hub.Instance.Storage.GetAllNotes(); notes = tempNotes.Where(n => n.InTrashCan).ToList(); } else if (SelectedMenuItem == _favoritesLibraryMenuItem) { var tempNotes = Hub.Instance.Storage.GetAllNotes(); notes = tempNotes.Where(n => n.Favourite).Where(n => !n.InTrashCan).ToList(); } else if (SelectedMenuItem == _allLibraryMenuItem) { notes = Hub.Instance.Storage.GetAllNotes().Where(n => !n.InTrashCan).OrderBy(n => n.Name).ToList(); } else if (SelectedMenuItem == _recentLibraryMenuItem) { notes = Hub.Instance.Storage.GetAllNotes().Where(n => !n.InTrashCan).OrderBy(n => n.Changed).Take(15).ToList(); } } if (NoteMenuContext == null) { NoteMenuContext = new NoteMenuViewModel { SelectedItemChangedCommand = SelectedNoteChangedCommand, DeleteItemCommand = DeleteNoteCommand, RenameItemCommand = new SimpleCommand(RenameNoteItem), EditItemCommand = EditNoteCommand, CopyNoteCommand = new SimpleCommand(CopyNote) }; BindingOperations.EnableCollectionSynchronization(NoteMenuContext.DataSource, _currentNotesLockObject); } var models = GetNoteViewModels(notes); NoteMenuContext.UpdateDataSource(models); if (selected != null && models.Contains(selected)) { NoteMenuContext.SelectedNote = selected; } else { NoteMenuContext.SelectedNote = models.Any() ? models[0] : null; } }