diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp index bdc0b0eee..2868a8967 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.cpp @@ -14,7 +14,7 @@ #include DeckEditorPrintingSelectorDockWidget::DeckEditorPrintingSelectorDockWidget(AbstractTabDeckEditor *parent) - : QDockWidget(parent), deckEditor(parent) + : QDockWidget(parent), deckEditor(parent), printingSelectorHost(parent) { setObjectName("printingSelectorDock"); @@ -33,12 +33,9 @@ DeckEditorPrintingSelectorDockWidget::DeckEditorPrintingSelectorDockWidget(Abstr retranslateUi(); } -DeckEditorPrintingSelectorDockWidget::~DeckEditorPrintingSelectorDockWidget() = default; - void DeckEditorPrintingSelectorDockWidget::createPrintingSelectorDock() { - printingSelectorHost = std::make_unique(deckEditor); - printingSelector = new PrintingSelector(this, printingSelectorHost.get()); + printingSelector = new PrintingSelector(this, &printingSelectorHost); printingSelector->setObjectName("printingSelector"); auto *printingSelectorFrame = new QVBoxLayout; printingSelectorFrame->setObjectName("printingSelectorFrame"); diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.h b/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.h index 7bc88c09c..57c1678f9 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.h +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_printing_selector_dock_widget.h @@ -7,11 +7,11 @@ #ifndef DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H #define DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H +#include "deck_editor_printing_selector_host.h" + #include -#include #include -class DeckEditorPrintingSelectorHost; class PrintingDisabledInfoWidget; class AbstractTabDeckEditor; class PrintingSelector; @@ -22,7 +22,6 @@ class DeckEditorPrintingSelectorDockWidget : public QDockWidget Q_OBJECT public: explicit DeckEditorPrintingSelectorDockWidget(AbstractTabDeckEditor *parent); - ~DeckEditorPrintingSelectorDockWidget() override; void createPrintingSelectorDock(); void retranslateUi(); @@ -30,7 +29,7 @@ public: private: AbstractTabDeckEditor *deckEditor; - std::unique_ptr printingSelectorHost; + DeckEditorPrintingSelectorHost printingSelectorHost; QWidget *printingSelectorDockContents; PrintingDisabledInfoWidget *printingDisabledInfoWidget; diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector.h b/cockatrice/src/interface/widgets/printing_selector/printing_selector.h index 53e230338..cbde43768 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector.h +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector.h @@ -85,7 +85,7 @@ signals: void cardAmountsChanged(const QMap &uuidToAmounts); /** - * A printing was picked while the selector runs in selection-only mode. + * A printing was picked in the selector. * @param card The picked card and printing. */ void printingSelected(const ExactCard &card); diff --git a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp index 84a8ac201..062360260 100644 --- a/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp +++ b/cockatrice/src/interface/widgets/printing_selector/printing_selector_card_overlay_widget.cpp @@ -117,10 +117,10 @@ PrintingSelectorCardOverlayWidget::PrintingSelectorCardOverlayWidget(QWidget *pa cardInfoPicture->setCard(_rootCard); mainLayout->addWidget(cardInfoPicture); - // In a selection-only host a click picks this printing instead of changing a deck. + // A left click reports the printing; consumers that only want a pick connect to the signal. connect(cardInfoPicture, &CardInfoPictureWidget::cardClicked, this, [this](QMouseEvent *event, const ExactCard &card) { - if (host->isSelectionOnly() && event->button() == Qt::LeftButton) { + if (event->button() == Qt::LeftButton) { emit printingSelected(card); } });