diff --git a/cockatrice/src/client/ui/widgets/deck_editor/deck_editor_deck_dock_widget.cpp b/cockatrice/src/client/ui/widgets/deck_editor/deck_editor_deck_dock_widget.cpp index efe1c0bc9..0cbeb2b50 100644 --- a/cockatrice/src/client/ui/widgets/deck_editor/deck_editor_deck_dock_widget.cpp +++ b/cockatrice/src/client/ui/widgets/deck_editor/deck_editor_deck_dock_widget.cpp @@ -303,11 +303,7 @@ void DeckEditorDeckDockWidget::updateBannerCardComboBox() }); for (const auto &pair : pairList) { - QVariantMap dataMap; - dataMap["name"] = pair.first; - dataMap["uuid"] = pair.second; - - bannerCardComboBox->addItem(pair.first, dataMap); + bannerCardComboBox->addItem(pair.first, QVariant::fromValue(pair)); } // Try to restore the previous selection by finding the currentText @@ -315,7 +311,7 @@ void DeckEditorDeckDockWidget::updateBannerCardComboBox() if (restoredIndex != -1) { bannerCardComboBox->setCurrentIndex(restoredIndex); if (deckModel->getDeckList()->getBannerCard().second != - bannerCardComboBox->itemData(bannerCardComboBox->currentIndex()).toMap()["uuid"].toString()) { + bannerCardComboBox->currentData().value>().second) { setBannerCard(restoredIndex); } } else { @@ -335,9 +331,8 @@ void DeckEditorDeckDockWidget::updateBannerCardComboBox() void DeckEditorDeckDockWidget::setBannerCard(int /* changedIndex */) { - QVariantMap itemData = bannerCardComboBox->itemData(bannerCardComboBox->currentIndex()).toMap(); - deckModel->getDeckList()->setBannerCard( - QPair(itemData["name"].toString(), itemData["uuid"].toString())); + auto cardAndId = bannerCardComboBox->currentData().value>(); + deckModel->getDeckList()->setBannerCard(cardAndId); emit deckModified(); } diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index 165160718..7fc5c729f 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -282,11 +282,11 @@ void DeckPreviewWidget::updateBannerCardComboBox() void DeckPreviewWidget::setBannerCard(int /* changedIndex */) { - QVariant itemData = bannerCardComboBox->itemData(bannerCardComboBox->currentIndex()); - deckLoader->setBannerCard(QPair(bannerCardComboBox->currentText(), itemData.toString())); + auto nameAndId = bannerCardComboBox->currentData().value>(); + deckLoader->setBannerCard(nameAndId); deckLoader->saveToFile(filePath, DeckLoader::getFormatFromName(filePath)); - bannerCardDisplayWidget->setCard(CardDatabaseManager::getInstance()->getCardByNameAndProviderId( - bannerCardComboBox->currentText(), itemData.toString())); + bannerCardDisplayWidget->setCard( + CardDatabaseManager::getInstance()->getCardByNameAndProviderId(nameAndId.first, nameAndId.second)); } void DeckPreviewWidget::imageClickedEvent(QMouseEvent *event, DeckPreviewCardPictureWidget *instance)