diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp index 9a3be4896..b93052820 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp @@ -3,6 +3,7 @@ #include "../../../../settings/cache_settings.h" #include "../../../../utility/card_set_comparator.h" #include "printing_selector_card_display_widget.h" +#include "printing_selector_card_selection_widget.h" #include #include @@ -77,18 +78,7 @@ PrintingSelector::PrintingSelector(QWidget *parent, layout->addWidget(cardSizeWidget); - cardSelectionBar = new QWidget(this); - cardSelectionBarLayout = new QHBoxLayout(cardSelectionBar); - previousCardButton = new QPushButton(cardSelectionBar); - previousCardButton->setText(tr("Previous Card")); - connect(previousCardButton, &QPushButton::clicked, this, &PrintingSelector::selectPreviousCard); - nextCardButton = new QPushButton(cardSelectionBar); - nextCardButton->setText(tr("Next Card")); - connect(nextCardButton, &QPushButton::clicked, this, &PrintingSelector::selectNextCard); - - cardSelectionBarLayout->addWidget(previousCardButton); - cardSelectionBarLayout->addWidget(nextCardButton); - + cardSelectionBar = new PrintingSelectorCardSelectionWidget(this); layout->addWidget(cardSelectionBar); connect(deckModel, &DeckListModel::dataChanged, this, [this]() { diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h index 0747454f0..6c8ea1c7d 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h @@ -15,6 +15,7 @@ #define BATCH_SIZE 10 +class PrintingSelectorCardSelectionWidget; class TabDeckEditor; class PrintingSelector : public QWidget { @@ -54,10 +55,7 @@ private: QHBoxLayout *cardSizeLayout; QLabel *cardSizeLabel; QSlider *cardSizeSlider; - QWidget *cardSelectionBar; - QHBoxLayout *cardSelectionBarLayout; - QPushButton *previousCardButton; - QPushButton *nextCardButton; + PrintingSelectorCardSelectionWidget *cardSelectionBar; TabDeckEditor *deckEditor; DeckListModel *deckModel; QTreeView *deckView; diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.cpp b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.cpp new file mode 100644 index 000000000..595f7fe46 --- /dev/null +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.cpp @@ -0,0 +1,22 @@ +#include "printing_selector_card_selection_widget.h" + +PrintingSelectorCardSelectionWidget::PrintingSelectorCardSelectionWidget(PrintingSelector *parent) : parent(parent) +{ + cardSelectionBarLayout = new QHBoxLayout(this); + previousCardButton = new QPushButton(this); + previousCardButton->setText(tr("Previous Card")); + + nextCardButton = new QPushButton(this); + nextCardButton->setText(tr("Next Card")); + + connectSignals(); + + cardSelectionBarLayout->addWidget(previousCardButton); + cardSelectionBarLayout->addWidget(nextCardButton); +} + +void PrintingSelectorCardSelectionWidget::connectSignals() +{ + connect(previousCardButton, &QPushButton::clicked, parent, &PrintingSelector::selectPreviousCard); + connect(nextCardButton, &QPushButton::clicked, parent, &PrintingSelector::selectNextCard); +} \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.h b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.h new file mode 100644 index 000000000..4bb2b048f --- /dev/null +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector_card_selection_widget.h @@ -0,0 +1,26 @@ +#ifndef PRINTING_SELECTOR_CARD_SELECTION_WIDGET_H +#define PRINTING_SELECTOR_CARD_SELECTION_WIDGET_H + +#include "printing_selector.h" + +#include +#include +#include + +class PrintingSelectorCardSelectionWidget : public QWidget +{ + Q_OBJECT + +public: + explicit PrintingSelectorCardSelectionWidget(PrintingSelector *parent); + + void connectSignals(); + +private: + PrintingSelector *parent; + QHBoxLayout *cardSelectionBarLayout; + QPushButton *previousCardButton; + QPushButton *nextCardButton; +}; + +#endif // PRINTING_SELECTOR_CARD_SELECTION_WIDGET_H