diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp index 8a7ddc725..996cefa79 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp @@ -145,6 +145,11 @@ void DlgSelectSetForCards::retranslateUi() void DlgSelectSetForCards::actOK() { QMap modifiedSetsAndCardsMap = getModifiedCards(); + + if (!modifiedSetsAndCardsMap.isEmpty()) { + emit deckAboutToBeModified(tr("Bulk modified printings.")); + } + for (QString modifiedSet : modifiedSetsAndCardsMap.keys()) { for (QString card : modifiedSetsAndCardsMap.value(modifiedSet)) { QModelIndex find_card = model->findCard(card, DECK_ZONE_MAIN); @@ -165,6 +170,7 @@ void DlgSelectSetForCards::actOK() void DlgSelectSetForCards::actClear() { + emit deckAboutToBeModified(tr("Cleared all printing information.")); DeckLoader::clearSetNamesAndNumbers(model->getDeckList()); emit deckModified(); accept(); @@ -172,6 +178,7 @@ void DlgSelectSetForCards::actClear() void DlgSelectSetForCards::actSetAllToPreferred() { + emit deckAboutToBeModified(tr("Set all printings to preferred.")); DeckLoader::clearSetNamesAndNumbers(model->getDeckList()); DeckLoader::setProviderIdToPreferredPrinting(model->getDeckList()); emit deckModified(); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h index 5b1c246c7..5cdef5a30 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h +++ b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.h @@ -37,6 +37,7 @@ public: signals: void widgetOrderChanged(); void orderChanged(); + void deckAboutToBeModified(const QString &reason); void deckModified(); public slots: diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_selection_widget.cpp b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_selection_widget.cpp index 4ce0f62f6..fc17cecd0 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_selection_widget.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_selection_widget.cpp @@ -49,6 +49,8 @@ void PrintingSelectorCardSelectionWidget::connectSignals() void PrintingSelectorCardSelectionWidget::selectSetForCards() { auto *setSelectionDialog = new DlgSelectSetForCards(nullptr, parent->getDeckModel()); + connect(setSelectionDialog, &DlgSelectSetForCards::deckAboutToBeModified, parent->getDeckEditor(), + &AbstractTabDeckEditor::onDeckHistorySaveRequested); connect(setSelectionDialog, &DlgSelectSetForCards::deckModified, parent->getDeckEditor(), &AbstractTabDeckEditor::onDeckModified); if (!setSelectionDialog->exec()) {