From 6a7e629b190e7b4ad7e76013144405d2e8bcce19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sun, 19 Jan 2025 02:05:16 +0100 Subject: [PATCH] Eliminate loadVisualDeck and use loadDeckFromFile instead. --- .../visual_deck_storage_widget.cpp | 1 + .../visual_deck_storage_widget.h | 1 + .../src/game/deckview/deck_view_container.cpp | 23 ++----------------- .../src/game/deckview/deck_view_container.h | 3 ++- 4 files changed, 6 insertions(+), 22 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp index 541b6f7ec..124b35c34 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp @@ -78,6 +78,7 @@ void VisualDeckStorageWidget::deckPreviewClickedEvent(QMouseEvent *event, DeckPr void VisualDeckStorageWidget::deckPreviewDoubleClickedEvent(QMouseEvent *event, DeckPreviewWidget *instance) { emit deckPreviewDoubleClicked(event, instance); + emit deckLoadRequested(instance->filePath); } void VisualDeckStorageWidget::refreshBannerCards() diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h index a38be381b..f294a1790 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h @@ -35,6 +35,7 @@ signals: void bannerCardsRefreshed(); void deckPreviewClicked(QMouseEvent *event, DeckPreviewWidget *instance); void deckPreviewDoubleClicked(QMouseEvent *event, DeckPreviewWidget *instance); + void deckLoadRequested(QString &filePath); private: QVBoxLayout *layout; diff --git a/cockatrice/src/game/deckview/deck_view_container.cpp b/cockatrice/src/game/deckview/deck_view_container.cpp index c9bd089b5..a2be59670 100644 --- a/cockatrice/src/game/deckview/deck_view_container.cpp +++ b/cockatrice/src/game/deckview/deck_view_container.cpp @@ -86,8 +86,8 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) connect(deckView, SIGNAL(sideboardPlanChanged()), this, SLOT(sideboardPlanChanged())); visualDeckStorageWidget = new VisualDeckStorageWidget(this); - connect(visualDeckStorageWidget, &VisualDeckStorageWidget::deckPreviewDoubleClicked, this, - &DeckViewContainer::loadVisualDeck); + connect(visualDeckStorageWidget, &VisualDeckStorageWidget::deckLoadRequested, this, + &DeckViewContainer::loadDeckFromFile); deckViewLayout = new QVBoxLayout; deckViewLayout->addLayout(buttonHBox); @@ -178,25 +178,6 @@ void DeckViewContainer::refreshShortcuts() sideboardLockButton->setShortcut(shortcuts.getSingleShortcut("DeckViewContainer/sideboardLockButton")); } -void DeckViewContainer::loadVisualDeck(QMouseEvent *event, DeckPreviewWidget *instance) -{ - Q_UNUSED(event); - instance->deckLoader->loadFromFile(instance->filePath, DeckLoader::CockatriceFormat, false); - QString deckString = instance->deckLoader->writeToString_Native(); - - if (deckString.length() > MAX_FILE_LENGTH) { - QMessageBox::critical(this, tr("Error"), tr("The selected file could not be loaded.")); - return; - } - - Command_DeckSelect cmd; - cmd.set_deck(deckString.toStdString()); - PendingCommand *pend = parentGame->prepareGameCommand(cmd); - connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, - SLOT(deckSelectFinished(const Response &))); - parentGame->sendGameCommand(pend, playerId); -} - void DeckViewContainer::unloadDeck() { switchToDeckSelectView(); diff --git a/cockatrice/src/game/deckview/deck_view_container.h b/cockatrice/src/game/deckview/deck_view_container.h index 13edabbf0..280816b03 100644 --- a/cockatrice/src/game/deckview/deck_view_container.h +++ b/cockatrice/src/game/deckview/deck_view_container.h @@ -55,7 +55,6 @@ private: private slots: void switchToDeckSelectView(); void switchToDeckLoadedView(); - void loadVisualDeck(QMouseEvent *event, DeckPreviewWidget *instance); void loadLocalDeck(); void loadRemoteDeck(); void unloadDeck(); @@ -77,6 +76,8 @@ public: void readyAndUpdate(); void setSideboardLocked(bool locked); void setDeck(const DeckLoader &deck); + +public slots: void loadDeckFromFile(const QString &filePath); };