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);