Simplify document selection by reusing code (#226)

This commit is contained in:
TrueDoctor
2021-06-23 11:20:59 +02:00
committed by GitHub
parent 0b0873262c
commit db2561eb9f
@@ -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 {