From 4543038fd89c027cd9bed0acc18d229732c7026d Mon Sep 17 00:00:00 2001 From: RickyRister <42636155+RickyRister@users.noreply.github.com> Date: Tue, 25 Feb 2025 15:35:56 -0800 Subject: [PATCH] add "open in deck editor" to VDS right-click menu (#5634) --- .../tabs/visual_deck_storage/tab_deck_storage_visual.cpp | 2 ++ .../visual_deck_storage/deck_preview/deck_preview_widget.cpp | 4 ++-- .../visual_deck_storage/deck_preview/deck_preview_widget.h | 1 + .../visual_deck_storage_folder_display_widget.cpp | 2 ++ .../widgets/visual_deck_storage/visual_deck_storage_widget.h | 1 + cockatrice/src/game/deckview/deck_view_container.cpp | 1 + 6 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp b/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp index 802c1fa50..332f5b779 100644 --- a/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp +++ b/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp @@ -15,6 +15,8 @@ TabDeckStorageVisual::TabDeckStorageVisual(TabSupervisor *_tabSupervisor) connect(this, &TabDeckStorageVisual::openDeckEditor, tabSupervisor, &TabSupervisor::addDeckEditorTab); connect(visualDeckStorageWidget, &VisualDeckStorageWidget::deckLoadRequested, this, &TabDeckStorageVisual::actOpenLocalDeck); + connect(visualDeckStorageWidget, &VisualDeckStorageWidget::openDeckEditor, this, + &TabDeckStorageVisual::openDeckEditor); auto *widget = new QWidget(this); auto *layout = new QVBoxLayout(widget); diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index f799633c6..27555c860 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -288,8 +288,8 @@ QMenu *DeckPreviewWidget::createRightClickMenu() { auto *menu = new QMenu(this); - auto loadDeckAction = menu->addAction(tr("Load Deck")); - connect(loadDeckAction, &QAction::triggered, this, [this] { emit deckLoadRequested(filePath); }); + connect(menu->addAction(tr("Open in deck editor")), &QAction::triggered, this, + [this] { emit openDeckEditor(deckLoader); }); menu->addSeparator(); diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h index 527d92f46..b12cfce10 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h @@ -40,6 +40,7 @@ public: signals: void deckLoadRequested(const QString &filePath); + void openDeckEditor(const DeckLoader *deck); void visibilityUpdated(); public slots: diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp index e3a082e45..8d68b2a97 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp @@ -89,6 +89,8 @@ void VisualDeckStorageFolderDisplayWidget::createWidgetsForFiles() connect(display, &DeckPreviewWidget::deckLoadRequested, visualDeckStorageWidget, &VisualDeckStorageWidget::deckLoadRequested); + connect(display, &DeckPreviewWidget::openDeckEditor, visualDeckStorageWidget, + &VisualDeckStorageWidget::openDeckEditor); connect(visualDeckStorageWidget->cardSizeWidget->getSlider(), &QSlider::valueChanged, display->bannerCardDisplayWidget, &CardInfoPictureWidget::setScaleFactor); display->bannerCardDisplayWidget->setScaleFactor(visualDeckStorageWidget->cardSizeWidget->getSlider()->value()); 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 4eceb3c9a..e98373e2e 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 @@ -45,6 +45,7 @@ public slots: signals: void bannerCardsRefreshed(); void deckLoadRequested(const QString &filePath); + void openDeckEditor(const DeckLoader *deck); void tagFilterUpdated(); void colorFilterUpdated(); void searchFilterUpdated(); diff --git a/cockatrice/src/game/deckview/deck_view_container.cpp b/cockatrice/src/game/deckview/deck_view_container.cpp index 95b3c8155..40473e66c 100644 --- a/cockatrice/src/game/deckview/deck_view_container.cpp +++ b/cockatrice/src/game/deckview/deck_view_container.cpp @@ -114,6 +114,7 @@ void DeckViewContainer::tryCreateVisualDeckStorageWidget() visualDeckStorageWidget = new VisualDeckStorageWidget(this); connect(visualDeckStorageWidget, &VisualDeckStorageWidget::deckLoadRequested, this, &DeckViewContainer::loadDeckFromFile); + connect(visualDeckStorageWidget, &VisualDeckStorageWidget::openDeckEditor, parentGame, &TabGame::openDeckEditor); deckViewLayout->addWidget(visualDeckStorageWidget); }