From aea241291f3dc626813f0696eda79bb0f0cf9b1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sun, 21 Dec 2025 11:05:40 +0100 Subject: [PATCH] Add plate comments and re-order DeckCardZoneDisplay.cpp to be more structured Took 7 minutes Took 5 seconds --- .../cards/deck_card_zone_display_widget.cpp | 117 +++++++++--------- .../cards/deck_card_zone_display_widget.h | 1 - 2 files changed, 57 insertions(+), 61 deletions(-) diff --git a/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.cpp b/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.cpp index cab0fc8e8..7da6bff4c 100644 --- a/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.cpp +++ b/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.cpp @@ -46,6 +46,20 @@ DeckCardZoneDisplayWidget::DeckCardZoneDisplayWidget(QWidget *parent, connect(deckListModel, &QAbstractItemModel::rowsRemoved, this, &DeckCardZoneDisplayWidget::onCategoryRemoval); } +// ===================================================================================================================== +// User Interaction +// ===================================================================================================================== + +void DeckCardZoneDisplayWidget::onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card) +{ + emit cardClicked(event, card, zoneName); +} + +void DeckCardZoneDisplayWidget::onHover(const ExactCard &card) +{ + emit cardHovered(card); +} + void DeckCardZoneDisplayWidget::onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) { for (auto &range : selected) { @@ -69,17 +83,9 @@ void DeckCardZoneDisplayWidget::onSelectionChanged(const QItemSelection &selecte } } -void DeckCardZoneDisplayWidget::cleanupInvalidCardGroup(CardGroupDisplayWidget *displayWidget) -{ - cardGroupLayout->removeWidget(displayWidget); - displayWidget->setParent(nullptr); - for (auto idx : indexToWidgetMap.keys()) { - if (!idx.isValid()) { - indexToWidgetMap.remove(idx); - } - } - delete displayWidget; -} +// ===================================================================================================================== +// Display Widget Management +// ===================================================================================================================== void DeckCardZoneDisplayWidget::constructAppropriateWidget(QPersistentModelIndex index) { @@ -140,6 +146,45 @@ void DeckCardZoneDisplayWidget::displayCards() } } +void DeckCardZoneDisplayWidget::refreshDisplayType(const DisplayType &_displayType) +{ + displayType = _displayType; + QLayoutItem *item; + while ((item = cardGroupLayout->takeAt(0)) != nullptr) { + if (item->widget()) { + item->widget()->deleteLater(); + } else if (item->layout()) { + item->layout()->deleteLater(); + } + delete item; + } + + indexToWidgetMap.clear(); + + // We gotta wait for all the deleteLater's to finish so we fire after the next event cycle + + auto timer = new QTimer(this); + timer->setSingleShot(true); + connect(timer, &QTimer::timeout, this, [this]() { displayCards(); }); + timer->start(); +} + +void DeckCardZoneDisplayWidget::cleanupInvalidCardGroup(CardGroupDisplayWidget *displayWidget) +{ + cardGroupLayout->removeWidget(displayWidget); + displayWidget->setParent(nullptr); + for (auto idx : indexToWidgetMap.keys()) { + if (!idx.isValid()) { + indexToWidgetMap.remove(idx); + } + } + delete displayWidget; +} + +// ===================================================================================================================== +// DeckListModel Signal Responses +// ===================================================================================================================== + void DeckCardZoneDisplayWidget::onCategoryAddition(const QModelIndex &parent, int first, int last) { if (!trackedIndex.isValid()) { @@ -172,38 +217,6 @@ void DeckCardZoneDisplayWidget::onCategoryRemoval(const QModelIndex &parent, int } } -void DeckCardZoneDisplayWidget::onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card) -{ - emit cardClicked(event, card, zoneName); -} -void DeckCardZoneDisplayWidget::onHover(const ExactCard &card) -{ - emit cardHovered(card); -} - -void DeckCardZoneDisplayWidget::refreshDisplayType(const DisplayType &_displayType) -{ - displayType = _displayType; - QLayoutItem *item; - while ((item = cardGroupLayout->takeAt(0)) != nullptr) { - if (item->widget()) { - item->widget()->deleteLater(); - } else if (item->layout()) { - item->layout()->deleteLater(); - } - delete item; - } - - indexToWidgetMap.clear(); - - // We gotta wait for all the deleteLater's to finish so we fire after the next event cycle - - auto timer = new QTimer(this); - timer->setSingleShot(true); - connect(timer, &QTimer::timeout, this, [this]() { displayCards(); }); - timer->start(); -} - void DeckCardZoneDisplayWidget::onActiveGroupCriteriaChanged(QString _activeGroupCriteria) { activeGroupCriteria = _activeGroupCriteria; @@ -214,20 +227,4 @@ void DeckCardZoneDisplayWidget::onActiveSortCriteriaChanged(QStringList _activeS { activeSortCriteria = _activeSortCriteria; emit activeSortCriteriaChanged(activeSortCriteria); -} - -QList DeckCardZoneDisplayWidget::getGroupCriteriaValueList() -{ - QList groupCriteriaValues; - - QList cardsInZone = deckListModel->getCardsForZone(zoneName); - - for (const ExactCard &cardInZone : cardsInZone) { - groupCriteriaValues.append(cardInZone.getInfo().getProperty(activeGroupCriteria)); - } - - groupCriteriaValues.removeDuplicates(); - groupCriteriaValues.sort(); - - return groupCriteriaValues; -} +} \ No newline at end of file diff --git a/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.h b/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.h index dc0f3d734..5e07c6977 100644 --- a/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.h +++ b/cockatrice/src/interface/widgets/cards/deck_card_zone_display_widget.h @@ -50,7 +50,6 @@ public slots: void refreshDisplayType(const DisplayType &displayType); void onActiveGroupCriteriaChanged(QString activeGroupCriteria); void onActiveSortCriteriaChanged(QStringList activeSortCriteria); - QList getGroupCriteriaValueList(); void onCategoryAddition(const QModelIndex &parent, int first, int last); void onCategoryRemoval(const QModelIndex &parent, int first, int last);