Implement artboards and document version enforcement (#466)

* - graphite document artboard implementation
- autosave document load hitch fix
- Autosave will delete saved files when graphite document version changes

* formating

* - top left 0,0
- fixed hitch on first document
- vue calls first render

* Revert

* Merge branch 'master' into artboards

* Small bug fixes and code review tweaks

Co-authored-by: Oliver Davies <oliver@psyfer.io>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
mfish33
2022-01-08 07:50:08 -08:00
committed by Keavon Chambers
parent 8fedfb603e
commit effc8354d1
17 changed files with 218 additions and 33 deletions

View File

@@ -1,5 +1,5 @@
use super::{DocumentMessageHandler, LayerMetadata};
use crate::consts::DEFAULT_DOCUMENT_NAME;
use crate::consts::{DEFAULT_DOCUMENT_NAME, GRAPHITE_DOCUMENT_VERSION};
use crate::frontend::frontend_message_handler::FrontendDocumentDetails;
use crate::input::InputPreprocessor;
use crate::message_prelude::*;
@@ -196,6 +196,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
for layer in self.active_document().layer_metadata.keys() {
responses.push_back(DocumentMessage::LayerChanged(layer.clone()).into());
}
responses.push_back(ToolMessage::DocumentIsDirty.into());
}
CloseActiveDocumentWithConfirmation => {
responses.push_back(DocumentsMessage::CloseDocumentWithConfirmation(self.active_document_id).into());
@@ -293,7 +294,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
document,
document_is_saved,
} => {
let document = DocumentMessageHandler::with_name_and_content(document_name, document);
let document = DocumentMessageHandler::with_name_and_content(document_name, document, ipp);
match document {
Ok(mut document) => {
document.set_save_state(document_is_saved);
@@ -333,6 +334,7 @@ impl MessageHandler<DocumentsMessage, &InputPreprocessor> for DocumentsMessageHa
id,
name: document.name.clone(),
},
version: GRAPHITE_DOCUMENT_VERSION.to_string(),
}
.into(),
)