mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-27 00:38:12 +08:00
Simplify document selection by reusing code (#226)
This commit is contained in:
@@ -92,12 +92,7 @@ impl MessageHandler<DocumentMessage, ()> for DocumentMessageHandler {
|
|||||||
assert!(id < self.documents.len(), "Tried to select a document that was not initialized");
|
assert!(id < self.documents.len(), "Tried to select a document that was not initialized");
|
||||||
self.active_document = id;
|
self.active_document = id;
|
||||||
responses.push_back(FrontendMessage::SetActiveDocument { document_index: self.active_document }.into());
|
responses.push_back(FrontendMessage::SetActiveDocument { document_index: self.active_document }.into());
|
||||||
responses.push_back(
|
responses.push_back(RenderDocument.into());
|
||||||
FrontendMessage::UpdateCanvas {
|
|
||||||
document: self.active_document_mut().document.render_root(),
|
|
||||||
}
|
|
||||||
.into(),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
CloseActiveDocument => {
|
CloseActiveDocument => {
|
||||||
responses.push_back(FrontendMessage::PromptCloseConfirmationModal.into());
|
responses.push_back(FrontendMessage::PromptCloseConfirmationModal.into());
|
||||||
@@ -180,33 +175,15 @@ impl MessageHandler<DocumentMessage, ()> for DocumentMessageHandler {
|
|||||||
}
|
}
|
||||||
.into(),
|
.into(),
|
||||||
);
|
);
|
||||||
responses.push_back(FrontendMessage::SetActiveDocument { document_index: self.active_document }.into());
|
responses.push_back(SelectDocument(self.active_document).into());
|
||||||
responses.push_back(
|
|
||||||
FrontendMessage::UpdateCanvas {
|
|
||||||
document: self.active_document_mut().document.render_root(),
|
|
||||||
}
|
|
||||||
.into(),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
NextDocument => {
|
NextDocument => {
|
||||||
self.active_document = (self.active_document + 1) % self.documents.len();
|
let id = (self.active_document + 1) % self.documents.len();
|
||||||
responses.push_back(FrontendMessage::SetActiveDocument { document_index: self.active_document }.into());
|
responses.push_back(SelectDocument(id).into());
|
||||||
responses.push_back(
|
|
||||||
FrontendMessage::UpdateCanvas {
|
|
||||||
document: self.active_document_mut().document.render_root(),
|
|
||||||
}
|
|
||||||
.into(),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
PrevDocument => {
|
PrevDocument => {
|
||||||
self.active_document = (self.active_document + self.documents.len() - 1) % self.documents.len();
|
let id = (self.active_document + self.documents.len() - 1) % self.documents.len();
|
||||||
responses.push_back(FrontendMessage::SetActiveDocument { document_index: self.active_document }.into());
|
responses.push_back(SelectDocument(id).into());
|
||||||
responses.push_back(
|
|
||||||
FrontendMessage::UpdateCanvas {
|
|
||||||
document: self.active_document_mut().document.render_root(),
|
|
||||||
}
|
|
||||||
.into(),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
ExportDocument => responses.push_back(
|
ExportDocument => responses.push_back(
|
||||||
FrontendMessage::ExportDocument {
|
FrontendMessage::ExportDocument {
|
||||||
|
|||||||
Reference in New Issue
Block a user