ViEditor::finish_change will store change to history

This commit is contained in:
Jeremy Soller 2023-12-12 09:52:22 -07:00
parent 3187e916ab
commit 6566350276
No known key found for this signature in database
GPG key ID: DCFCA852D3906975

View file

@ -28,16 +28,17 @@ fn finish_change<E: Edit>(
editor: &mut E, editor: &mut E,
commands: &mut cosmic_undo_2::Commands<Change>, commands: &mut cosmic_undo_2::Commands<Change>,
changed: &mut bool, changed: &mut bool,
) { ) -> Option<Change> {
//TODO: join changes together //TODO: join changes together
match editor.finish_change() { match editor.finish_change() {
Some(change) => { Some(change) => {
if !change.items.is_empty() { if !change.items.is_empty() {
commands.push(change); commands.push(change.clone());
*changed = true; *changed = true;
} }
Some(change)
} }
None => {} None => None,
} }
} }
@ -319,7 +320,7 @@ impl<'a> Edit for ViEditor<'a> {
} }
fn finish_change(&mut self) -> Option<Change> { fn finish_change(&mut self) -> Option<Change> {
self.editor.finish_change() finish_change(&mut self.editor, &mut self.commands, &mut self.changed)
} }
fn action(&mut self, font_system: &mut FontSystem, action: Action) { fn action(&mut self, font_system: &mut FontSystem, action: Action) {