Properly update and set the DeckEditor's CardFrame to fetch by name and UUID if a card was selected from the decklist.

This commit is contained in:
Lukas Brübach 2024-11-13 14:12:32 +01:00
parent 4ee71e6a70
commit 9d1f0e6067
3 changed files with 10 additions and 2 deletions

View file

@ -724,8 +724,10 @@ void TabDeckEditor::updateCardInfoRight(const QModelIndex &current, const QModel
{
if (!current.isValid())
return;
if (!current.model()->hasChildren(current.sibling(current.row(), 0)))
cardInfo->setCard(current.sibling(current.row(), 1).data().toString());
if (!current.model()->hasChildren(current.sibling(current.row(), 0))) {
cardInfo->setCard(current.sibling(current.row(), 1).data().toString(),
current.sibling(current.row(), 2).data().toString());
}
}
void TabDeckEditor::updateSearch(const QString &search)

View file

@ -111,6 +111,11 @@ void CardInfoFrameWidget::setCard(const QString &cardName)
setCard(CardDatabaseManager::getInstance()->guessCard(cardName));
}
void CardInfoFrameWidget::setCard(const QString &cardName, const QString &uuid)
{
setCard(CardDatabaseManager::getInstance()->getCardByNameAndUUID(cardName, uuid));
}
void CardInfoFrameWidget::setCard(AbstractCardItem *card)
{
if (card) {

View file

@ -36,6 +36,7 @@ public:
public slots:
void setCard(CardInfoPtr card);
void setCard(const QString &cardName);
void setCard(const QString &cardName, const QString &uuid);
void setCard(AbstractCardItem *card);
void clearCard();
void setViewMode(int mode);