From d4afa0e3308b7979d224575187d2dfacea054311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Wed, 19 Nov 2025 23:16:44 +0100 Subject: [PATCH] Clear history when setting deck. Took 6 minutes --- .../widgets/deck_editor/deck_editor_deck_dock_widget.cpp | 1 + .../libcockatrice/deck_list/deck_list_history_manager.cpp | 8 ++++++++ .../libcockatrice/deck_list/deck_list_history_manager.h | 2 ++ 3 files changed, 11 insertions(+) diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp index d974eda22..b7ba70cba 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp @@ -404,6 +404,7 @@ void DeckEditorDeckDockWidget::setDeck(DeckLoader *_deck) connect(deckLoader, &DeckLoader::deckLoaded, deckModel, &DeckListModel::rebuildTree); connect(deckLoader->getDeckList(), &DeckList::deckHashChanged, deckModel, &DeckListModel::deckHashChanged); + historyManager->clear(); historyManagerWidget->setDeckListModel(deckModel); syncDisplayWidgetsToModel(); diff --git a/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.cpp b/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.cpp index fe44d0eb8..7b640370b 100644 --- a/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.cpp +++ b/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.cpp @@ -7,6 +7,14 @@ void DeckListHistoryManager::save(DeckListMemento *memento) emit undoRedoStateChanged(); } +void DeckListHistoryManager::clear() +{ + undoStack.clear(); + redoStack.clear(); + + emit undoRedoStateChanged(); +} + void DeckListHistoryManager::undo(DeckList *deck) { if (undoStack.isEmpty()) { diff --git a/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.h b/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.h index ca4a7e8dc..bc18461ff 100644 --- a/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.h +++ b/libcockatrice_deck_list/libcockatrice/deck_list/deck_list_history_manager.h @@ -22,6 +22,8 @@ public: void save(DeckListMemento *memento); + void clear(); + bool canUndo() const { return !undoStack.isEmpty();