Ejemplo n.º 1
0
        private void PasteNote(object obj)
        {
            Notebook notebook = obj as Notebook;

            if (notebook != null)
            {
                DataFormat format = DataFormats.GetDataFormat(typeof(NoteClipboardData).FullName);
                if (!Clipboard.ContainsData(format.Name))
                {
                    return;
                }

                NoteClipboardData data = Clipboard.GetData(format.Name) as NoteClipboardData;
                if (data != null)
                {
                    int  index = Hub.Instance.Storage.GetNoteCount(notebook);
                    Note note  = ViewModelLocator.Instance.NoteMenu.CreateNewNote(data.Name, notebook, false, index, data.Text);
                    if (data.Files != null && data.Files.Any())
                    {
                        foreach (ClipboardFile file in data.Files)
                        {
                            NoteFile nf = NoteFile.Create(file.Name, file.MimeType, file.Data, note);
                            note.Text = note.Text.Replace(file.FileName, nf.FileName);
                        }
                        note.Save();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static void DoCopyNote(Note note)
        {
            NoteClipboardData data = new NoteClipboardData
            {
                Name = note.Name,
                Text = note.DecryptedText,
                Tags = new List <string>(note.Tags)
            };

            if (note.Files.Any())
            {
                data.Files = new List <ClipboardFile>();
                foreach (NoteFile noteFile in note.Files)
                {
                    ClipboardFile file = new ClipboardFile
                    {
                        Name     = noteFile.Name,
                        Data     = File.ReadAllBytes(noteFile.FullName),
                        FileName = noteFile.FileName,
                        MimeType = MimeTypeMap.GetMimeType(Path.GetExtension(noteFile.FileName))
                    };
                    data.Files.Add(file);
                }
            }

            DataFormat format = DataFormats.GetDataFormat(typeof(NoteClipboardData).FullName);

            IDataObject dataObj = new DataObject();

            dataObj.SetData(format.Name, data, false);
            Clipboard.SetDataObject(dataObj, false);
        }