85 lines
1.5 KiB
Rust
85 lines
1.5 KiB
Rust
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<u8>,
|
|
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<LayerId>,
|
|
insert_index: isize,
|
|
},
|
|
PasteSerializedData {
|
|
data: String,
|
|
},
|
|
PrevDocument,
|
|
SelectDocument {
|
|
document_id: u64,
|
|
},
|
|
SetActiveDocument {
|
|
document_id: u64,
|
|
},
|
|
UpdateDocumentWidgets,
|
|
UpdateOpenDocumentsList,
|
|
}
|