diff --git a/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp index fe2148293..11572aba5 100644 --- a/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp @@ -124,8 +124,13 @@ void AbstractTabDeckEditor::actSwapCard(CardInfoPtr info, QString zoneName) { QString providerId = CardDatabaseManager::getInstance()->getSetInfoForCard(info).getProperty("uuid"); QString collectorNumber = CardDatabaseManager::getInstance()->getSetInfoForCard(info).getProperty("num"); - deckDockWidget->swapCard( - deckDockWidget->deckModel->findCard(info->getName(), zoneName, providerId, collectorNumber)); + + QModelIndex foundCard = deckDockWidget->deckModel->findCard(info->getName(), zoneName, providerId, collectorNumber); + if (!foundCard.isValid()) { + foundCard = deckDockWidget->deckModel->findCard(info->getName(), zoneName); + } + + deckDockWidget->swapCard(foundCard); } /** @@ -357,6 +362,7 @@ bool AbstractTabDeckEditor::actSaveDeckAs() dialog.setDefaultSuffix("cod"); dialog.setNameFilters(DeckLoader::FILE_NAME_FILTERS); dialog.selectFile(getDeckList()->getName().trimmed()); + if (!dialog.exec()) return false; diff --git a/cockatrice/src/client/tabs/abstract_tab_deck_editor.h b/cockatrice/src/client/tabs/abstract_tab_deck_editor.h index 0a5f97f56..39699bee4 100644 --- a/cockatrice/src/client/tabs/abstract_tab_deck_editor.h +++ b/cockatrice/src/client/tabs/abstract_tab_deck_editor.h @@ -67,7 +67,7 @@ public: DeckEditorPrintingSelectorDockWidget *printingSelectorDockWidget; public slots: - void onDeckChanged(); + virtual void onDeckChanged(); void updateCard(CardInfoPtr _card); void actAddCard(CardInfoPtr info); void actAddCardToSideboard(CardInfoPtr info); @@ -90,7 +90,7 @@ protected slots: void cleanDeckAndResetModified(); virtual void actLoadDeck(); bool actSaveDeck(); - bool actSaveDeckAs(); + virtual bool actSaveDeckAs(); virtual void actLoadDeckFromClipboard(); void actEditDeckInClipboard(); void actEditDeckInClipboardRaw();