This commit is contained in:
RickyRister 2025-01-03 18:51:30 -08:00
parent 6fdee56d09
commit 79e284ba9b
3 changed files with 11 additions and 4 deletions

View file

@ -200,12 +200,12 @@ CardItem *CardZone::takeCard(int position, int cardId, bool /*canResize*/)
if (position >= cards.size()) if (position >= cards.size())
return nullptr; return nullptr;
CardItem *c = cards.takeAt(position);
for (auto *view : views) { for (auto *view : views) {
view->removeCard(position); view->removeCard(position);
} }
CardItem *c = cards.takeAt(position);
c->setId(cardId); c->setId(cardId);
reorganizeCards(); reorganizeCards();

View file

@ -33,7 +33,7 @@ ZoneViewZone::ZoneViewZone(Player *_p,
: SelectZone(_p, _origZone->getName(), false, false, true, parent, true), bRect(QRectF()), minRows(0), : SelectZone(_p, _origZone->getName(), false, false, true, parent, true), bRect(QRectF()), minRows(0),
numberCards(_numberCards), origZone(_origZone), revealZone(_revealZone), numberCards(_numberCards), origZone(_origZone), revealZone(_revealZone),
writeableRevealZone(_writeableRevealZone), groupBy(CardList::NoSort), sortBy(CardList::NoSort), writeableRevealZone(_writeableRevealZone), groupBy(CardList::NoSort), sortBy(CardList::NoSort),
isReversed(_isReversed), firstCardId(-1) isReversed(_isReversed), firstCardId(-1), previousOrigSize(-1)
{ {
if (!(revealZone && !writeableRevealZone)) { if (!(revealZone && !writeableRevealZone)) {
origZone->getViews().append(this); origZone->getViews().append(this);
@ -107,6 +107,7 @@ void ZoneViewZone::zoneDumpReceived(const Response &r)
firstCardId = cardInfo.id(); firstCardId = cardInfo.id();
} }
} }
previousOrigSize = origZone->getCards().size();
reorganizeCards(); reorganizeCards();
emit cardCountChanged(); emit cardCountChanged();
} }
@ -126,6 +127,11 @@ void ZoneViewZone::reorganizeCards()
if (cards.first()->getId() != firstCardId) { if (cards.first()->getId() != firstCardId) {
startId -= 1; startId -= 1;
} }
if (origZone->getCards().size() != previousOrigSize) {
qDebug() << "TRACK origZoneSize changed" << "orig" << origZone->getCards().size() << "prev"
<< previousOrigSize;
previousOrigSize = origZone->getCards().size();
}
} }
for (int i = 0; i < cardCount; ++i) { for (int i = 0; i < cardCount; ++i) {

View file

@ -36,6 +36,7 @@ private:
bool pileView; bool pileView;
bool isReversed; bool isReversed;
int firstCardId; int firstCardId;
int previousOrigSize;
struct GridSize struct GridSize
{ {