change visible buttons depending on if deck is loaded

This commit is contained in:
RickyRister 2025-01-15 22:17:13 -08:00
parent 6d0c59e42f
commit 016331d1e2

View file

@ -114,17 +114,28 @@ void DeckViewContainer::retranslateUi()
updateSideboardLockButtonText(); updateSideboardLockButtonText();
} }
static void setVisibility(QPushButton *button, bool visible)
{
button->setHidden(!visible);
button->setEnabled(visible);
}
void DeckViewContainer::switchToDeckSelectView() void DeckViewContainer::switchToDeckSelectView()
{ {
deckView->setVisible(false); deckView->setVisible(false);
visualDeckStorageWidget->setVisible(true); visualDeckStorageWidget->setVisible(true);
deckViewLayout->update(); deckViewLayout->update();
unloadDeckButton->setEnabled(false);
readyStartButton->setEnabled(false); setVisibility(loadLocalButton, true);
setVisibility(loadRemoteButton, true);
setVisibility(unloadDeckButton, false);
setVisibility(readyStartButton, false);
setVisibility(sideboardLockButton, false);
setVisibility(forceStartGameButton, false);
readyStartButton->setState(false); readyStartButton->setState(false);
sideboardLockButton->setEnabled(false);
sideboardLockButton->setState(false); sideboardLockButton->setState(false);
forceStartGameButton->setEnabled(false);
setReadyStart(false); setReadyStart(false);
} }
@ -132,8 +143,14 @@ void DeckViewContainer::switchToDeckLoadedView()
{ {
deckView->setVisible(true); deckView->setVisible(true);
visualDeckStorageWidget->setVisible(false); visualDeckStorageWidget->setVisible(false);
unloadDeckButton->setEnabled(true); deckViewLayout->update();
forceStartGameButton->setEnabled(parentGame->isHost());
setVisibility(loadLocalButton, false);
setVisibility(loadRemoteButton, false);
setVisibility(unloadDeckButton, true);
setVisibility(readyStartButton, true);
setVisibility(sideboardLockButton, true);
setVisibility(forceStartGameButton, true);
} }
void DeckViewContainer::updateSideboardLockButtonText() void DeckViewContainer::updateSideboardLockButtonText()
@ -177,16 +194,7 @@ void DeckViewContainer::loadVisualDeck(QMouseEvent *event, DeckPreviewWidget *in
void DeckViewContainer::unloadDeck() void DeckViewContainer::unloadDeck()
{ {
deckView->setVisible(false); switchToDeckSelectView();
visualDeckStorageWidget->setVisible(true);
deckViewLayout->update();
unloadDeckButton->setEnabled(false);
readyStartButton->setEnabled(false);
readyStartButton->setState(false);
sideboardLockButton->setEnabled(false);
sideboardLockButton->setState(false);
forceStartGameButton->setEnabled(false);
setReadyStart(false);
} }
void DeckViewContainer::loadLocalDeck() void DeckViewContainer::loadLocalDeck()
@ -307,8 +315,5 @@ void DeckViewContainer::setSideboardLocked(bool locked)
void DeckViewContainer::setDeck(const DeckLoader &deck) void DeckViewContainer::setDeck(const DeckLoader &deck)
{ {
deckView->setDeck(deck); deckView->setDeck(deck);
readyStartButton->setEnabled(true); switchToDeckLoadedView();
sideboardLockButton->setState(false);
sideboardLockButton->setEnabled(true);
forceStartGameButton->setEnabled(true);
} }