Fix unload deck not working by showing/hiding widgets instead of adding/removing to layout.

This commit is contained in:
Lukas Brübach 2024-12-24 12:33:18 +01:00
parent e92518976f
commit 3dab095356

View file

@ -141,6 +141,7 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent)
deckView = new DeckView; deckView = new DeckView;
connect(deckView, SIGNAL(newCardAdded(AbstractCardItem *)), this, SIGNAL(newCardAdded(AbstractCardItem *))); connect(deckView, SIGNAL(newCardAdded(AbstractCardItem *)), this, SIGNAL(newCardAdded(AbstractCardItem *)));
connect(deckView, SIGNAL(sideboardPlanChanged()), this, SLOT(sideboardPlanChanged())); connect(deckView, SIGNAL(sideboardPlanChanged()), this, SLOT(sideboardPlanChanged()));
deckView->setVisible(false);
visualDeckStorageWidget = new VisualDeckStorageWidget(this); visualDeckStorageWidget = new VisualDeckStorageWidget(this);
connect(visualDeckStorageWidget, &VisualDeckStorageWidget::imageDoubleClicked, this, connect(visualDeckStorageWidget, &VisualDeckStorageWidget::imageDoubleClicked, this,
@ -148,6 +149,7 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent)
deckViewLayout = new QVBoxLayout; deckViewLayout = new QVBoxLayout;
deckViewLayout->addLayout(buttonHBox); deckViewLayout->addLayout(buttonHBox);
deckViewLayout->addWidget(deckView);
deckViewLayout->addWidget(visualDeckStorageWidget); deckViewLayout->addWidget(visualDeckStorageWidget);
deckViewLayout->setContentsMargins(0, 0, 0, 0); deckViewLayout->setContentsMargins(0, 0, 0, 0);
setLayout(deckViewLayout); setLayout(deckViewLayout);
@ -320,15 +322,17 @@ void DeckViewContainer::replaceDeckStorageWithDeckView(QMouseEvent *event, DeckP
connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this,
SLOT(deckSelectFinished(const Response &))); SLOT(deckSelectFinished(const Response &)));
parentGame->sendGameCommand(pend, playerId); parentGame->sendGameCommand(pend, playerId);
deckViewLayout->removeWidget(visualDeckStorageWidget); visualDeckStorageWidget->setVisible(false);
deckViewLayout->addWidget(deckView); deckView->setVisible(true);
deckViewLayout->update();
unloadDeckButton->setEnabled(true); unloadDeckButton->setEnabled(true);
} }
void DeckViewContainer::unloadDeck() void DeckViewContainer::unloadDeck()
{ {
deckViewLayout->removeWidget(deckView); deckView->setVisible(false);
deckViewLayout->addWidget(visualDeckStorageWidget); visualDeckStorageWidget->setVisible(true);
deckViewLayout->update();
unloadDeckButton->setEnabled(false); unloadDeckButton->setEnabled(false);
} }