From d4a5bb3a794909963eade7451b253776f408d1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Wed, 10 Sep 2025 03:15:20 +0200 Subject: [PATCH] Signal view removal, addition. Took 5 minutes --- cockatrice/src/game/zones/logic/view_zone_logic.cpp | 10 +++++----- cockatrice/src/game/zones/logic/view_zone_logic.h | 2 ++ cockatrice/src/game/zones/view_zone.cpp | 10 ++++++++++ cockatrice/src/game/zones/view_zone.h | 2 ++ 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/cockatrice/src/game/zones/logic/view_zone_logic.cpp b/cockatrice/src/game/zones/logic/view_zone_logic.cpp index 75d5fc9dd..11fa0a27a 100644 --- a/cockatrice/src/game/zones/logic/view_zone_logic.cpp +++ b/cockatrice/src/game/zones/logic/view_zone_logic.cpp @@ -149,11 +149,11 @@ void ZoneViewZoneLogic::removeCard(int position, bool toNewZone) void ZoneViewZoneLogic::setWriteableRevealZone(bool _writeableRevealZone) { - // TODO: Deal with this - /*if (writeableRevealZone && !_writeableRevealZone) { - origZone->getViews().append(this); + + if (writeableRevealZone && !_writeableRevealZone) { + emit addToViews(); } else if (!writeableRevealZone && _writeableRevealZone) { - origZone->getViews().removeOne(this); - }*/ + emit removeFromViews(); + } writeableRevealZone = _writeableRevealZone; } \ No newline at end of file diff --git a/cockatrice/src/game/zones/logic/view_zone_logic.h b/cockatrice/src/game/zones/logic/view_zone_logic.h index ae2e1e9f2..f5139dfaf 100644 --- a/cockatrice/src/game/zones/logic/view_zone_logic.h +++ b/cockatrice/src/game/zones/logic/view_zone_logic.h @@ -6,6 +6,8 @@ class ZoneViewZoneLogic : public CardZoneLogic { Q_OBJECT signals: + void addToViews(); + void removeFromViews(); void closeView(); private: diff --git a/cockatrice/src/game/zones/view_zone.cpp b/cockatrice/src/game/zones/view_zone.cpp index 34120759d..d96cbc28c 100644 --- a/cockatrice/src/game/zones/view_zone.cpp +++ b/cockatrice/src/game/zones/view_zone.cpp @@ -34,6 +34,16 @@ ZoneViewZone::ZoneViewZone(ZoneViewZoneLogic *_logic, QGraphicsItem *parent) connect(_logic, &ZoneViewZoneLogic::closeView, this, &ZoneViewZone::close); } +void ZoneViewZone::addToViews() +{ + qobject_cast(getLogic())->getOriginalZone()->getViews().append(this); +} + +void ZoneViewZone::removeFromViews() +{ + qobject_cast(getLogic())->getOriginalZone()->getViews().removeOne(this); +} + /** * Deletes this ZoneView and removes it from the origZone's views. * You should normally call this method instead of deleteLater() diff --git a/cockatrice/src/game/zones/view_zone.h b/cockatrice/src/game/zones/view_zone.h index 473f058b1..f280e8794 100644 --- a/cockatrice/src/game/zones/view_zone.h +++ b/cockatrice/src/game/zones/view_zone.h @@ -62,6 +62,8 @@ public: return optimumRect; } public slots: + void addToViews(); + void removeFromViews(); void close(); void setFilterString(const QString &_filterString); void setGroupBy(CardList::SortOption _groupBy);