mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-22 09:28:11 +08:00
Rename DocumentsMessage to PortfolioMessage
This commit is contained in:
@@ -113,7 +113,7 @@ impl Default for DocumentMessageHandler {
|
||||
}
|
||||
}
|
||||
|
||||
#[impl_message(Message, DocumentsMessage, Document)]
|
||||
#[impl_message(Message, PortfolioMessage, Document)]
|
||||
#[derive(PartialEq, Clone, Debug, Serialize, Deserialize)]
|
||||
pub enum DocumentMessage {
|
||||
#[child]
|
||||
@@ -436,7 +436,7 @@ impl DocumentMessageHandler {
|
||||
self.document_undo_history.push((self.graphene_document.clone(), self.layer_metadata.clone()));
|
||||
|
||||
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
|
||||
responses.push_back(DocumentsMessage::UpdateOpenDocumentsList.into());
|
||||
responses.push_back(PortfolioMessage::UpdateOpenDocumentsList.into());
|
||||
}
|
||||
|
||||
pub fn rollback(&mut self, responses: &mut VecDeque<Message>) -> Result<(), EditorError> {
|
||||
@@ -447,7 +447,7 @@ impl DocumentMessageHandler {
|
||||
|
||||
pub fn undo(&mut self, responses: &mut VecDeque<Message>) -> Result<(), EditorError> {
|
||||
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
|
||||
responses.push_back(DocumentsMessage::UpdateOpenDocumentsList.into());
|
||||
responses.push_back(PortfolioMessage::UpdateOpenDocumentsList.into());
|
||||
|
||||
match self.document_undo_history.pop() {
|
||||
Some((document, layer_metadata)) => {
|
||||
@@ -465,7 +465,7 @@ impl DocumentMessageHandler {
|
||||
|
||||
pub fn redo(&mut self, responses: &mut VecDeque<Message>) -> Result<(), EditorError> {
|
||||
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
|
||||
responses.push_back(DocumentsMessage::UpdateOpenDocumentsList.into());
|
||||
responses.push_back(PortfolioMessage::UpdateOpenDocumentsList.into());
|
||||
|
||||
match self.document_redo_history.pop() {
|
||||
Some((document, layer_metadata)) => {
|
||||
@@ -611,9 +611,9 @@ impl MessageHandler<DocumentMessage, &InputPreprocessor> for DocumentMessageHand
|
||||
}
|
||||
SaveDocument => {
|
||||
self.set_save_state(true);
|
||||
responses.push_back(DocumentsMessage::AutoSaveActiveDocument.into());
|
||||
responses.push_back(PortfolioMessage::AutoSaveActiveDocument.into());
|
||||
// Update the save status of the just saved document
|
||||
responses.push_back(DocumentsMessage::UpdateOpenDocumentsList.into());
|
||||
responses.push_back(PortfolioMessage::UpdateOpenDocumentsList.into());
|
||||
|
||||
let name = match self.name.ends_with(FILE_SAVE_SUFFIX) {
|
||||
true => self.name.clone(),
|
||||
@@ -643,12 +643,12 @@ impl MessageHandler<DocumentMessage, &InputPreprocessor> for DocumentMessageHand
|
||||
|
||||
new_folder_path.push(generate_uuid());
|
||||
|
||||
responses.push_back(DocumentsMessage::Copy(Clipboard::System).into());
|
||||
responses.push_back(PortfolioMessage::Copy(Clipboard::System).into());
|
||||
responses.push_back(DocumentMessage::DeleteSelectedLayers.into());
|
||||
responses.push_back(DocumentOperation::CreateFolder { path: new_folder_path.clone() }.into());
|
||||
responses.push_back(DocumentMessage::ToggleLayerExpansion(new_folder_path.clone()).into());
|
||||
responses.push_back(
|
||||
DocumentsMessage::PasteIntoFolder {
|
||||
PortfolioMessage::PasteIntoFolder {
|
||||
clipboard: Clipboard::System,
|
||||
path: new_folder_path.clone(),
|
||||
insert_index: -1,
|
||||
@@ -663,9 +663,9 @@ impl MessageHandler<DocumentMessage, &InputPreprocessor> for DocumentMessageHand
|
||||
let message_buffer = [
|
||||
// Copy them
|
||||
DocumentMessage::SetSelectedLayers(to_select).into(),
|
||||
DocumentsMessage::Copy(Clipboard::System).into(),
|
||||
PortfolioMessage::Copy(Clipboard::System).into(),
|
||||
// Paste them into the folder above
|
||||
DocumentsMessage::PasteIntoFolder {
|
||||
PortfolioMessage::PasteIntoFolder {
|
||||
clipboard: Clipboard::System,
|
||||
path: folder_path[..folder_path.len() - 1].to_vec(),
|
||||
insert_index: -1,
|
||||
@@ -939,10 +939,10 @@ impl MessageHandler<DocumentMessage, &InputPreprocessor> for DocumentMessageHand
|
||||
return;
|
||||
}
|
||||
let insert_index = self.update_insert_index(&layers, &path, insert_index).unwrap();
|
||||
responses.push_back(DocumentsMessage::Copy(Clipboard::System).into());
|
||||
responses.push_back(PortfolioMessage::Copy(Clipboard::System).into());
|
||||
responses.push_back(DocumentMessage::DeleteSelectedLayers.into());
|
||||
responses.push_back(
|
||||
DocumentsMessage::PasteIntoFolder {
|
||||
PortfolioMessage::PasteIntoFolder {
|
||||
clipboard: Clipboard::System,
|
||||
path,
|
||||
insert_index,
|
||||
|
||||
@@ -17,7 +17,7 @@ pub use movement_handler::{MovementMessage, MovementMessageDiscriminant};
|
||||
#[doc(inline)]
|
||||
pub use overlay_message_handler::{OverlayMessage, OverlayMessageDiscriminant};
|
||||
#[doc(inline)]
|
||||
pub use portfolio_message_handler::{Clipboard, DocumentsMessage, DocumentsMessageDiscriminant, DocumentsMessageHandler};
|
||||
pub use portfolio_message_handler::{Clipboard, PortfolioMessage, PortfolioMessageDiscriminant, PortfolioMessageHandler};
|
||||
|
||||
#[doc(inline)]
|
||||
pub use artboard_message_handler::{ArtboardMessage, ArtboardMessageDiscriminant};
|
||||
|
||||
@@ -21,9 +21,9 @@ pub enum Clipboard {
|
||||
|
||||
const CLIPBOARD_COUNT: u8 = Clipboard::_ClipboardCount as u8;
|
||||
|
||||
#[impl_message(Message, Documents)]
|
||||
#[impl_message(Message, Portfolio)]
|
||||
#[derive(PartialEq, Clone, Debug, Serialize, Deserialize)]
|
||||
pub enum DocumentsMessage {
|
||||
pub enum PortfolioMessage {
|
||||
Copy(Clipboard),
|
||||
Cut(Clipboard),
|
||||
PasteIntoFolder {
|
||||
@@ -58,7 +58,7 @@ pub enum DocumentsMessage {
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct DocumentsMessageHandler {
|
||||
pub struct PortfolioMessageHandler {
|
||||
documents: HashMap<u64, DocumentMessageHandler>,
|
||||
document_ids: Vec<u64>,
|
||||
active_document_id: u64,
|
||||
@@ -71,7 +71,7 @@ pub struct CopyBufferEntry {
|
||||
layer_metadata: LayerMetadata,
|
||||
}
|
||||
|
||||
impl DocumentsMessageHandler {
|
||||
impl PortfolioMessageHandler {
|
||||
pub fn active_document(&self) -> &DocumentMessageHandler {
|
||||
self.documents.get(&self.active_document_id).unwrap()
|
||||
}
|
||||
@@ -107,7 +107,7 @@ impl DocumentsMessageHandler {
|
||||
fn load_document(&mut self, new_document: DocumentMessageHandler, document_id: u64, replace_first_empty: bool, responses: &mut VecDeque<Message>) {
|
||||
// Special case when loading a document on an empty page
|
||||
if replace_first_empty && self.active_document().is_unmodified_default() {
|
||||
responses.push_back(DocumentsMessage::CloseDocument(self.active_document_id).into());
|
||||
responses.push_back(PortfolioMessage::CloseDocument(self.active_document_id).into());
|
||||
|
||||
let active_document_index = self
|
||||
.document_ids
|
||||
@@ -145,7 +145,7 @@ impl DocumentsMessageHandler {
|
||||
|
||||
responses.push_back(FrontendMessage::UpdateOpenDocumentsList { open_documents }.into());
|
||||
|
||||
responses.push_back(DocumentsMessage::SelectDocument(document_id).into());
|
||||
responses.push_back(PortfolioMessage::SelectDocument(document_id).into());
|
||||
}
|
||||
|
||||
// Returns an iterator over the open documents in order
|
||||
@@ -158,7 +158,7 @@ impl DocumentsMessageHandler {
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for DocumentsMessageHandler {
|
||||
impl Default for PortfolioMessageHandler {
|
||||
fn default() -> Self {
|
||||
let mut documents_map: HashMap<u64, DocumentMessageHandler> = HashMap::with_capacity(1);
|
||||
let starting_key = generate_uuid();
|
||||
@@ -175,10 +175,10 @@ impl Default for DocumentsMessageHandler {
|
||||
}
|
||||
}
|
||||
|
||||
impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHandler {
|
||||
fn process_action(&mut self, message: DocumentsMessage, ipp: &InputPreprocessor, responses: &mut VecDeque<Message>) {
|
||||
impl MessageHandler<PortfolioMessage, &InputPreprocessor> for PortfolioMessageHandler {
|
||||
fn process_action(&mut self, message: PortfolioMessage, ipp: &InputPreprocessor, responses: &mut VecDeque<Message>) {
|
||||
use DocumentMessage::*;
|
||||
use DocumentsMessage::*;
|
||||
use PortfolioMessage::*;
|
||||
match message {
|
||||
RequestAboutGraphiteDialog => {
|
||||
responses.push_back(FrontendMessage::DisplayAboutGraphiteDialog.into());
|
||||
@@ -187,7 +187,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
SelectDocument(id) => {
|
||||
let active_document = self.active_document();
|
||||
if !active_document.is_saved() {
|
||||
responses.push_back(DocumentsMessage::AutoSaveDocument(self.active_document_id).into());
|
||||
responses.push_back(PortfolioMessage::AutoSaveDocument(self.active_document_id).into());
|
||||
}
|
||||
self.active_document_id = id;
|
||||
responses.push_back(FrontendMessage::SetActiveDocument { document_id: id }.into());
|
||||
@@ -199,16 +199,16 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
responses.push_back(ToolMessage::DocumentIsDirty.into());
|
||||
}
|
||||
CloseActiveDocumentWithConfirmation => {
|
||||
responses.push_back(DocumentsMessage::CloseDocumentWithConfirmation(self.active_document_id).into());
|
||||
responses.push_back(PortfolioMessage::CloseDocumentWithConfirmation(self.active_document_id).into());
|
||||
}
|
||||
CloseDocumentWithConfirmation(id) => {
|
||||
let target_document = self.documents.get(&id).unwrap();
|
||||
if target_document.is_saved() {
|
||||
responses.push_back(DocumentsMessage::CloseDocument(id).into());
|
||||
responses.push_back(PortfolioMessage::CloseDocument(id).into());
|
||||
} else {
|
||||
responses.push_back(FrontendMessage::DisplayConfirmationToCloseDocument { document_id: id }.into());
|
||||
// Select the document being closed
|
||||
responses.push_back(DocumentsMessage::SelectDocument(id).into());
|
||||
responses.push_back(PortfolioMessage::SelectDocument(id).into());
|
||||
}
|
||||
}
|
||||
CloseAllDocumentsWithConfirmation => {
|
||||
@@ -257,7 +257,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
// Update the list of new documents on the front end, active tab, and ensure that document renders
|
||||
|
||||
responses.push_back(FrontendMessage::UpdateOpenDocumentsList { open_documents }.into());
|
||||
responses.push_back(FrontendMessage::SetActiveDocument { document_id: self.active_document_id }.into());
|
||||
responses.push_back(FrontendMessage::RemoveAutoSaveDocument { document_id: id }.into());
|
||||
@@ -279,7 +279,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
}
|
||||
OpenDocumentFile(document_name, document) => {
|
||||
responses.push_back(
|
||||
DocumentsMessage::OpenDocumentFileWithId {
|
||||
PortfolioMessage::OpenDocumentFileWithId {
|
||||
document,
|
||||
document_name,
|
||||
document_id: generate_uuid(),
|
||||
@@ -339,19 +339,19 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
AutoSaveActiveDocument => responses.push_back(DocumentsMessage::AutoSaveDocument(self.active_document_id).into()),
|
||||
AutoSaveActiveDocument => responses.push_back(PortfolioMessage::AutoSaveDocument(self.active_document_id).into()),
|
||||
NextDocument => {
|
||||
let current_index = self.document_index(self.active_document_id);
|
||||
let next_index = (current_index + 1) % self.document_ids.len();
|
||||
let next_id = self.document_ids[next_index];
|
||||
responses.push_back(DocumentsMessage::SelectDocument(next_id).into());
|
||||
responses.push_back(PortfolioMessage::SelectDocument(next_id).into());
|
||||
}
|
||||
PrevDocument => {
|
||||
let len = self.document_ids.len();
|
||||
let current_index = self.document_index(self.active_document_id);
|
||||
let prev_index = (current_index + len - 1) % len;
|
||||
let prev_id = self.document_ids[prev_index];
|
||||
responses.push_back(DocumentsMessage::SelectDocument(prev_id).into());
|
||||
responses.push_back(PortfolioMessage::SelectDocument(prev_id).into());
|
||||
}
|
||||
Copy(clipboard) => {
|
||||
// We can't use `self.active_document()` because it counts as an immutable borrow of the entirety of `self`
|
||||
@@ -427,7 +427,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
}
|
||||
}
|
||||
fn actions(&self) -> ActionList {
|
||||
let mut common = actions!(DocumentsMessageDiscriminant;
|
||||
let mut common = actions!(PortfolioMessageDiscriminant;
|
||||
NewDocument,
|
||||
CloseActiveDocumentWithConfirmation,
|
||||
CloseAllDocumentsWithConfirmation,
|
||||
@@ -439,7 +439,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
|
||||
);
|
||||
|
||||
if self.active_document().layer_metadata.values().any(|data| data.selected) {
|
||||
let select = actions!(DocumentsMessageDiscriminant;
|
||||
let select = actions!(PortfolioMessageDiscriminant;
|
||||
Copy,
|
||||
Cut,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user