From 8b4b4cd7f256e08c48fdbe2e822126e1f63563a2 Mon Sep 17 00:00:00 2001 From: Nicolai Weitkemper Date: Thu, 17 Nov 2022 11:32:27 +0100 Subject: [PATCH] change number seed on undo/redo (proof of concept) fixes #308 --- src/annotations/misc/NumberManager.cpp | 1 + src/annotations/undo/AddCommand.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/annotations/misc/NumberManager.cpp b/src/annotations/misc/NumberManager.cpp index 3caa07ed..4752fbbe 100644 --- a/src/annotations/misc/NumberManager.cpp +++ b/src/annotations/misc/NumberManager.cpp @@ -90,6 +90,7 @@ void NumberManager::setNumberSeed(int numberSeed) { mNumberSeed = numberSeed; updateExistingNumbersIfRequired(); + emit numberSeedChanged(mNumberSeed); } int NumberManager::numberSeed() const diff --git a/src/annotations/undo/AddCommand.cpp b/src/annotations/undo/AddCommand.cpp index 4b724261..1d12df76 100644 --- a/src/annotations/undo/AddCommand.cpp +++ b/src/annotations/undo/AddCommand.cpp @@ -31,12 +31,20 @@ void AddCommand::undo() { mAnnotationArea->removeAnnotationItem(mItem); mItem->hide(); + + if (auto numberItem = dynamic_cast(mItem)) { + mAnnotationArea->numberToolSeedChanged(numberItem->number()); + } } void AddCommand::redo() { mAnnotationArea->addAnnotationItem(mItem); mItem->show(); + + if (auto numberItem = dynamic_cast(mItem)) { + mAnnotationArea->numberToolSeedChanged(numberItem->number() + 1); + } } } // namespace kImageAnnotator