use super::clipboards::Clipboard; use crate::message_prelude::*; use graphene::layers::text_layer::Font; use graphene::LayerId; use serde::{Deserialize, Serialize}; #[remain::sorted] #[impl_message(Message, Portfolio)] #[derive(PartialEq, Clone, Debug, Serialize, Deserialize)] pub enum PortfolioMessage { // Sub-messages #[remain::unsorted] #[child] Document(DocumentMessage), // Messages AutoSaveActiveDocument, AutoSaveDocument { document_id: u64, }, CloseActiveDocumentWithConfirmation, CloseAllDocuments, CloseDocument { document_id: u64, }, CloseDocumentWithConfirmation { document_id: u64, }, Copy { clipboard: Clipboard, }, Cut { clipboard: Clipboard, }, FontLoaded { font_family: String, font_style: String, preview_url: String, data: Vec, is_default: bool, }, LoadFont { font: Font, is_default: bool, }, NewDocument, NewDocumentWithName { name: String, }, NextDocument, OpenDocument, OpenDocumentFile { document_name: String, document_serialized_content: String, }, OpenDocumentFileWithId { document_id: u64, document_name: String, document_is_saved: bool, document_serialized_content: String, }, Paste { clipboard: Clipboard, }, PasteIntoFolder { clipboard: Clipboard, folder_path: Vec, insert_index: isize, }, PasteSerializedData { data: String, }, PrevDocument, SelectDocument { document_id: u64, }, SetActiveDocument { document_id: u64, }, UpdateDocumentWidgets, UpdateOpenDocumentsList, }