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);
        }
示例#2
0
        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);
        }
示例#3
0
 private bool ContainsTag(NoteViewModel model, string text)
 {
     return(model.Tags.Any(t => t.Text.Contains(text)));
 }
示例#4
0
        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;
            }
        }