From 9e53f16e2f80308ad4c686f8ed374df2059968a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sat, 20 Dec 2025 16:19:48 +0100 Subject: [PATCH] Refactor some constructor things to their own methods. --- .../visual_deck_editor_widget.cpp | 68 +++++++++++++------ .../visual_deck_editor_widget.h | 5 ++ 2 files changed, 52 insertions(+), 21 deletions(-) diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp index 76cfe8c8e..9684a225b 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp @@ -38,6 +38,32 @@ VisualDeckEditorWidget::VisualDeckEditorWidget(QWidget *parent, mainLayout->setContentsMargins(9, 0, 9, 5); mainLayout->setSpacing(0); + initializeDisplayOptionsAndSearchWidget(); + + initializeScrollAreaAndZoneContainer(); + + cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance().getVisualDeckEditorCardSize()); + connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, &SettingsCache::instance(), + &SettingsCache::setVisualDeckEditorCardSize); + + mainLayout->addWidget(displayOptionsAndSearch); + mainLayout->addWidget(scrollArea); + mainLayout->addWidget(cardSizeWidget); + + connectDeckListModel(); + + constructZoneWidgetsFromDeckListModel(); + + if (selectionModel) { + connect(selectionModel, &QItemSelectionModel::selectionChanged, this, + &VisualDeckEditorWidget::onSelectionChanged); + } + + retranslateUi(); +} + +void VisualDeckEditorWidget::initializeSearchBarAndCompleter() +{ searchBar = new QLineEdit(this); connect(searchBar, &QLineEdit::returnPressed, this, [=, this]() { if (!searchBar->hasFocus()) @@ -109,12 +135,10 @@ VisualDeckEditorWidget::VisualDeckEditorWidget(QWidget *parent, emit cardAdditionRequested(card); } }); +} - displayOptionsAndSearch = new QWidget(this); - displayOptionsAndSearchLayout = new QHBoxLayout(displayOptionsAndSearch); - displayOptionsAndSearchLayout->setAlignment(Qt::AlignLeft); - displayOptionsAndSearch->setLayout(displayOptionsAndSearchLayout); - +void VisualDeckEditorWidget::initializeDisplayOptionsWidget() +{ displayOptionsWidget = new VisualDeckDisplayOptionsWidget(this); connect(displayOptionsWidget, &VisualDeckDisplayOptionsWidget::displayTypeChanged, this, &VisualDeckEditorWidget::displayTypeChanged); @@ -122,11 +146,26 @@ VisualDeckEditorWidget::VisualDeckEditorWidget(QWidget *parent, &VisualDeckEditorWidget::activeGroupCriteriaChanged); connect(displayOptionsWidget, &VisualDeckDisplayOptionsWidget::sortCriteriaChanged, this, &VisualDeckEditorWidget::activeSortCriteriaChanged); +} + +void VisualDeckEditorWidget::initializeDisplayOptionsAndSearchWidget() +{ + initializeSearchBarAndCompleter(); + + initializeDisplayOptionsWidget(); + + displayOptionsAndSearch = new QWidget(this); + displayOptionsAndSearchLayout = new QHBoxLayout(displayOptionsAndSearch); + displayOptionsAndSearchLayout->setAlignment(Qt::AlignLeft); + displayOptionsAndSearch->setLayout(displayOptionsAndSearchLayout); displayOptionsAndSearchLayout->addWidget(displayOptionsWidget); displayOptionsAndSearchLayout->addWidget(searchBar); displayOptionsAndSearchLayout->addWidget(searchPushButton); +} +void VisualDeckEditorWidget::initializeScrollAreaAndZoneContainer() +{ scrollArea = new QScrollArea(this); scrollArea->setWidgetResizable(true); scrollArea->setMinimumSize(0, 0); @@ -140,27 +179,14 @@ VisualDeckEditorWidget::VisualDeckEditorWidget(QWidget *parent, zoneContainer->setLayout(zoneContainerLayout); scrollArea->addScrollBarWidget(zoneContainer, Qt::AlignHCenter); scrollArea->setWidget(zoneContainer); +} - cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance().getVisualDeckEditorCardSize()); - connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, &SettingsCache::instance(), - &SettingsCache::setVisualDeckEditorCardSize); - - mainLayout->addWidget(displayOptionsAndSearch); - mainLayout->addWidget(scrollArea); - mainLayout->addWidget(cardSizeWidget); - +void VisualDeckEditorWidget::connectDeckListModel() +{ connect(deckListModel, &DeckListModel::modelReset, this, &VisualDeckEditorWidget::decklistModelReset); connect(deckListModel, &DeckListModel::dataChanged, this, &VisualDeckEditorWidget::decklistDataChanged); connect(deckListModel, &QAbstractItemModel::rowsInserted, this, &VisualDeckEditorWidget::onCardAddition); connect(deckListModel, &QAbstractItemModel::rowsRemoved, this, &VisualDeckEditorWidget::onCardRemoval); - constructZoneWidgetsFromDeckListModel(); - - if (selectionModel) { - connect(selectionModel, &QItemSelectionModel::selectionChanged, this, - &VisualDeckEditorWidget::onSelectionChanged); - } - - retranslateUi(); } void VisualDeckEditorWidget::retranslateUi() diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h index 3a60d09a7..f079eb572 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h @@ -37,6 +37,11 @@ class VisualDeckEditorWidget : public QWidget public: explicit VisualDeckEditorWidget(QWidget *parent, DeckListModel *deckListModel, QItemSelectionModel *selectionModel); + void initializeSearchBarAndCompleter(); + void initializeDisplayOptionsWidget(); + void initializeDisplayOptionsAndSearchWidget(); + void initializeScrollAreaAndZoneContainer(); + void connectDeckListModel(); void retranslateUi(); void clearAllDisplayWidgets(); void resizeEvent(QResizeEvent *event) override;