public void Drop(IDropInfo dropInfo)
        {
            NoteViewModel sourceItem = dropInfo.Data as NoteViewModel;

            if (sourceItem == null)
            {
                return;
            }

            NotebookMenuItem targetItem    = dropInfo.TargetItem as NotebookMenuItem;
            ListViewItem     targetElement = dropInfo.VisualTarget as ListViewItem;

            bool removeFromSourceCollection = false;

            if (targetItem != null)
            {
                if (sourceItem.Note.Notebook != targetItem.Notebook.ID)
                {
                    if (sourceItem.Note.InTrashCan)
                    {
                        sourceItem.Note.InTrashCan = false;
                        //sourceItem.Note.Save();
                    }

                    Hub.Instance.Storage.DataStore.MoveNote(sourceItem.Note, targetItem.Notebook);

                    if (SelectedNotebook != null)
                    {
                        removeFromSourceCollection = true;
                    }
                }
                else if (sourceItem.Note.InTrashCan)
                {
                    sourceItem.Note.InTrashCan = false;
                    //sourceItem.Note.Save();

                    removeFromSourceCollection = true;
                }
            }
            else if (targetElement != null)
            {
                if (targetElement.Name == "Favorites")
                {
                    sourceItem.Note.Favourite = true;
                }
                else if (targetElement.Name == "Trash" && !sourceItem.Note.Protected)
                {
                    sourceItem.Note.InTrashCan = true;
                    removeFromSourceCollection = true;
                }

                sourceItem.SaveNote();
            }

            if (removeFromSourceCollection)
            {
                ObservableCollection <NoteViewModel> sourceList = dropInfo.DragInfo.SourceCollection as ObservableCollection <NoteViewModel>;
                sourceList?.Remove(sourceItem);
            }
        }
예제 #2
0
        private void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs i)
        {
            try
            {
                if (i.OldValue != null && i.OldValue is NoteViewModel)
                {
                    NoteViewModel oldModel = (NoteViewModel)i.OldValue;
                    oldModel.SaveNote(true);
                    oldModel.Note.NoteRefreshedFromDisk -= Note_RefreshedFromDisk;
                }
                SupressOnTextChanged = true;

                if (TableToolbarPopup.IsOpen)
                {
                    TableToolbarPopup.IsOpen = false;
                }

                if (CurrentModel == null)
                {
                    return;
                }

                MarkdownText.Text = CurrentModel.Note.DecryptedText;
                CurrentModel.Note.NoteRefreshedFromDisk += Note_RefreshedFromDisk;

                UpdateEntities();

                ViewModelLocator.Instance.NoteView.CheckBoxCheckUpdatedTextCommand = new SimpleCommand(UpdateTextByCheckBox);
            }
            finally
            {
                SupressOnTextChanged = false;
            }
        }
예제 #3
0
 private void HideSettings(object sender, MouseButtonEventArgs e)
 {
     if (ColorCanvas.SelectedColor.HasValue)
     {
         var color = ColorCanvas.SelectedColor.Value;
         var note  = _noteViewModel.Note;
         note.Color = new SolidColorBrush(Color.FromRgb(color.R, color.G, color.B));
         _noteViewModel.SaveNote();
         SetLuminance(color);
     }
     OptionsGrid.Visibility = Visibility.Hidden;
 }
예제 #4
0
        public void Dropped(IDropInfo dropInfo)
        {
            ObservableCollection <NoteViewModel> targetList = dropInfo.TargetCollection as ObservableCollection <NoteViewModel>;

            if (targetList != null)
            {
                for (int i = 0; i < targetList.Count; i++)
                {
                    NoteViewModel nvm = targetList[i];
                    nvm.Note.SortIndex = i;
                    nvm.SaveNote();
                }
            }
        }