From 976787ed1c84b26f553d3a349af5ed8114dbbda4 Mon Sep 17 00:00:00 2001 From: RickyRister Date: Wed, 15 Jan 2025 20:01:20 -0800 Subject: [PATCH] refactor --- .../src/game/deckview/deck_view_container.cpp | 34 ++++++++++++++----- .../src/game/deckview/deck_view_container.h | 2 ++ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/cockatrice/src/game/deckview/deck_view_container.cpp b/cockatrice/src/game/deckview/deck_view_container.cpp index 9aee4d3b2..c9041a44e 100644 --- a/cockatrice/src/game/deckview/deck_view_container.cpp +++ b/cockatrice/src/game/deckview/deck_view_container.cpp @@ -53,13 +53,9 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) loadLocalButton = new QPushButton; loadRemoteButton = new QPushButton; unloadDeckButton = new QPushButton; - unloadDeckButton->setEnabled(false); readyStartButton = new ToggleButton; - readyStartButton->setEnabled(false); forceStartGameButton = new QPushButton; - forceStartGameButton->setEnabled(parent->isHost()); sideboardLockButton = new ToggleButton; - sideboardLockButton->setEnabled(false); connect(loadLocalButton, SIGNAL(clicked()), this, SLOT(loadLocalDeck())); connect(readyStartButton, SIGNAL(clicked()), this, SLOT(readyStart())); @@ -82,7 +78,6 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) buttonHBox->addWidget(sideboardLockButton); if (forceStartGameButton->isEnabled()) { buttonHBox->addWidget(forceStartGameButton); - forceStartGameButton->setEnabled(false); } buttonHBox->setContentsMargins(0, 0, 0, 0); buttonHBox->addStretch(); @@ -90,7 +85,6 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) deckView = new DeckView; connect(deckView, SIGNAL(newCardAdded(AbstractCardItem *)), this, SIGNAL(newCardAdded(AbstractCardItem *))); connect(deckView, SIGNAL(sideboardPlanChanged()), this, SLOT(sideboardPlanChanged())); - deckView->setVisible(false); visualDeckStorageWidget = new VisualDeckStorageWidget(this); connect(visualDeckStorageWidget, &VisualDeckStorageWidget::deckPreviewDoubleClicked, this, @@ -106,6 +100,8 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) retranslateUi(); connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts())); refreshShortcuts(); + + switchToDeckSelectView(); } void DeckViewContainer::retranslateUi() @@ -118,6 +114,28 @@ void DeckViewContainer::retranslateUi() updateSideboardLockButtonText(); } +void DeckViewContainer::switchToDeckSelectView() +{ + deckView->setVisible(false); + 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::switchToDeckLoadedView() +{ + deckView->setVisible(true); + visualDeckStorageWidget->setVisible(false); + unloadDeckButton->setEnabled(true); + forceStartGameButton->setEnabled(parentGame->isHost()); +} + void DeckViewContainer::updateSideboardLockButtonText() { if (sideboardLockButton->getState()) { @@ -224,9 +242,7 @@ void DeckViewContainer::deckSelectFinished(const Response &r) // TODO CHANGE THIS TO BE SELECTED BY UUID PictureLoader::cacheCardPixmaps(CardDatabaseManager::getInstance()->getCards(newDeck.getCardList())); setDeck(newDeck); - deckView->setVisible(true); - visualDeckStorageWidget->setVisible(false); - unloadDeckButton->setEnabled(true); + switchToDeckLoadedView(); } void DeckViewContainer::readyStart() diff --git a/cockatrice/src/game/deckview/deck_view_container.h b/cockatrice/src/game/deckview/deck_view_container.h index 6c0bde32d..d22dbbbd1 100644 --- a/cockatrice/src/game/deckview/deck_view_container.h +++ b/cockatrice/src/game/deckview/deck_view_container.h @@ -51,6 +51,8 @@ private: TabGame *parentGame; int playerId; private slots: + void switchToDeckSelectView(); + void switchToDeckLoadedView(); void loadVisualDeck(QMouseEvent *event, DeckPreviewWidget *instance); void loadLocalDeck(); void loadRemoteDeck();